def insert_many(): service = MemberPro() Session = openSession() session = Session() df = service.hook() print(df.head()) # 저장된 모델로 멤버 이탈 확률 구하기 mmdp = MemberModelingDataPreprocessing() refined_members = mmdp.hook_process(df) print(f'REFINED_MEMBERS: \n{refined_members}') refined_members = refined_members.drop('exited', axis=1) refined_members = [np.array(refined_members, dtype=np.float32)] print(f'REFINED_MEMBERS AFTER NUMPY ARRAY: \n{refined_members}') path = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'models', 'member') new_model = tf.keras.models.load_model(os.path.join( path, 'member_churn.h5'), compile=False) model_pred = new_model.predict(refined_members) print(f'MODEL PREDICTION: {model_pred}') df['probability_churn'] = model_pred print(f'LAST DATAFRAME: {df}') # admin = {'email': '*****@*****.**', 'password': '******', 'name': 'Admin', 'profile': 'noimage.png', 'geography': 'Spain', # 'gender': '', 'age': '', 'tenure': 100, 'stock_qty': 0, 'balance': 0, 'as_credit': 0, 'credit_score': 0, 'is_active_member': 1, # 'estimated_salary': 0, 'role': 'ROLE_ADMIN', 'probability_churn': -1, 'exited': 0} session.bulk_insert_mappings(MemberDto, df.to_dict(orient="records")) session.commit() session.close()
def modify_recommend_stock(recommend_stock): Session = openSession() session = Session() trading = session.query(RecommendStockDto)\ .filter(RecommendStockDto.id==recommend_stock.id)\ .update({RecommendStockDto.stock_type: recommend_stock['stock_type'], RecommendStockDto.stock_id: recommend_stock['stock_id']}) session.commit() session.close()
def modify_comment(comment): Session = openSession() session = Session() member = session.query(CommentDto)\ .filter(CommentDto.email == comment.email)\ .update({CommentDto.comment: comment['comment']}) session.commit() session.close()
def modify_board(cls, board): Session = openSession() session = Session() board = session.query(BoardDto)\ .filter(BoardDto.id==board.id)\ .update({BoardDto.title: board['title'], BoardDto.content: board['content']}) session.commit() session.close()
def modify_trading(trading): Session = openSession() session = Session() trading = session.query(TradingDto)\ .filter(TradingDto.id==trading['id'])\ .update({TradingDto.stock_qty: trading['stock_qty'], TradingDto.price: trading['price'], TradingDto.trading_date: trading['trading_date']}) session.commit() session.close()
def insert_many(): service = BoardPro() Session = openSession() session = Session() df = service.process() print(df.head()) session.bulk_insert_mappings(BoardDto, df.to_dict(orient="records")) session.commit() session.close()
def insert_many(): service = MemberPro() Session = openSession() session = Session() df = service.hook() print(df.head()) session.bulk_insert_mappings(MemberDto, df.to_dict(orient="records")) session.commit() session.close()
def update(member): Session = openSession() session = Session() mcp = MemberChurnPredService() mcp.assign(member) prediction = mcp.predict() prediction = round(prediction[0, 0], 5) print(f'PREDICTION: {prediction}') member.probability_churn = float(prediction) print(member) member = session.query(MemberDto)\ .filter(MemberDto.email==member.email)\ .update({MemberDto.password: member.password, MemberDto.name: member.name, MemberDto.profile: member.profile, MemberDto.geography: member.geography, MemberDto.gender: member.gender, MemberDto.age: member.age, MemberDto.tenure: member.tenure, MemberDto.stock_qty: member.stock_qty, MemberDto.balance: member.balance, MemberDto.has_credit: member.has_credit, MemberDto.credit_score: member.credit_score, MemberDto.is_active_member: member.is_active_member, MemberDto.estimated_salary: member.estimated_salary, MemberDto.role: member.role, MemberDto.probability_churn: member.probability_churn, MemberDto.exited: member.exited}) session.commit() session.close()
geography: str = '' gender: str = '' age: int = 0 tenure: int = 0 stock_qty: int = 0 balance: float = 0.0 has_credit: int = 0 credit_score: int = 0 is_active_member: int = 1 estimated_salary: float = 0.0 role: str = 'ROLE_USER' probability_churn: float = 0.0 exited: int = 0 Session = openSession() session = Session() class MemberDao(MemberDto): def __init__(self): ... @classmethod def count(cls): return session.query(func.count(MemberDto.email)).one() @classmethod def find_all(cls): sql = cls.query.filter(cls.exited != 1) df = pd.read_sql(sql.statement, sql.session.bind)