当前位置: 首页 > news >正文

1.9 金融风控实战:产品购买预测、客户流失预警、反欺诈模型构建

1.9 金融风控实战:产品购买预测、客户流失预警、反欺诈模型构建

引言

金融风控是数据挖掘在金融领域最重要的应用之一。本文将实战演示三个核心风控场景:产品购买预测、客户流失预警、反欺诈模型构建。通过完整的代码实现,带你从数据到模型,掌握金融风控的实战技能。

一、场景1:产品购买预测实战

1.1 业务背景与数据准备

importpandasaspdimportnumpyasnpfromsklearn.model_selectionimporttrain_test_splitfromsklearn.ensembleimportGradientBoostingClassifierfromsklearn.metricsimportroc_auc_score,classification_report,confusion_matrixclassProductPurchasePrediction:"""产品购买预测模型 - 完整实战"""def__init__(self):self.model=Noneself.feature_importance=Nonedefgenerate_data(self,n_samples=10000):"""生成模拟数据"""print("="*60)print("场景1: 产品购买预测")print("="*60)np.random.seed(42)data={'customer_id':range(1,n_samples+1),'age':np.random.randint(18,70,n_samples),'income':np.random.uniform(3000,50000,n_samples),'credit_score':np.random.randint(300,850,n_samples),'existing_products':np.random.randint(0,5,n_samples),'transaction_count':np.random.poisson(10,n_samples),'avg_transaction_amount':np.random.uniform(100,5000,n_samples),'days_since_last_transaction':np.random.randint(0,90,n_samples),'customer_lifetime_value':np.random.uniform(1000,100000,n_samples),'product_interest_score':np.random.uniform(0,1,n_samples)}df=pd.DataFrame(data)# 生成购买标签(基于业务规则)purchase_prob=((df['income']>20000)*0.15+(df['credit_score']>700)*0.12+(df['product_interest_score']>0.7)*0.20+(df['customer_lifetime_value']>50000)*0.10+(df['transaction_count']>15)*0.08+np.random.uniform(0,0.35,n_samples))df['will_purchase']=(purchase_prob>0.5).astype(int)print(f"\n数据生成完成:")print(f" 样本数:{len(df):,}")print(f" 特征数:{len(df.columns)-1}")print(f" 购买率:{df['will_purchase'].mean():.2%}")returndfdeffeature_engineering(self,df):"""特征工程"""print("\n特征工程")# 创建新特征df['income_to_age_ratio']=df['income']/(df['age']+1)df['high_value_customer']=(df['customer_lifetime_value']>50000).astype(int)df['active_customer']=(df['transaction_count']>15).astype(int)df['recent_activity']=(df['days_since_last_transaction']<30).astype(int)print(f" 创建了 4 个新特征")print(f" 总特征数:{len(df.columns)-1}")returndfdeftrain_model(self,df):"""训练模型"""print("\n模型训练")# 准备特征feature_cols=[colforcolindf.columnsifcolnotin['customer_id','will_purchase']]X=df[feature_cols]y=df['will_purchase']# 划分数据X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42,stratify=y)print(f" 训练集:{len(X_train):,}样本")print(f" 测试集:{len(X_test):,}样本")# 训练模型self.model=GradientBoostingClassifier(n_estimators=100,learning_rate=0.1,max_depth=5,min_samples_split=100,random_state=42)self.model.fit(X_train,y_train)# 预测y_pred=self.model.predict(X_test)y_pred_proba=self.model.predict_proba(X_test)[:,1]# 评估auc=roc_auc_score(y_test,y_pred_proba)print(f"\n模型性能:")print(f" AUC:{auc:.4f}")print(f"\n分类报告:")print(classification_report(y_test,y_pred))# 特征重要性self.feature_importance=pd.DataFrame({'feature':feature_cols,'importance':self.model.feature_importances_}).sort_values('importance',ascending=False)print(f"\nTop 5 重要特征:")print(self.feature_importance.head().to_string(index=False))returnself.model,aucdefbusiness_application
http://www.jsqmd.com/news/188846/

相关文章:

  • 1.4 用数据挖掘的视角重新理解生成式AI
  • 1.5 生成式AI辅助数据挖掘实战:让AI帮你写代码,效率提升10倍
  • 还在为论文降重犯愁?这6款免费AI神器一键改写,高级表达轻松替换!
  • flask:部署到生产环境
  • 企业微信API文档
  • 1.6 机器决策的七步法:从数据到决策,机器学习完整流程揭秘
  • 救命神器2025 TOP10 AI论文工具:专科生毕业论文写作全测评
  • 1.7 数据挖掘标准流程:CRISP-DM方法论在企业中的实战应用
  • 计算机深度学习毕设实战-基于人工智能迁移学习的睡意检测报警系统
  • VP 各省省选记录+题解
  • 1.8 金融行业数据决策全解析:8大核心场景从理论到实战
  • 1.13 数据分析流程全解析:从业务理解到价值输出的完整路径
  • 京东e卡回收学会如何选择方法,三招教你避开90%的变现陷阱 - 京顺回收
  • 探索愈发开放的团队集体好奇心
  • 1.10 评分卡模型构建实战:WOE、IV值计算,信贷违约预测完整流程
  • 1.16 注册类指标 vs 活跃类指标:数据分析师必须知道的指标选择策略
  • 1.11 制造行业数据决策:6大场景从工艺优化到缺陷检测
  • 三明治魔方、凹凸魔方、小红帽魔方
  • Doris 与 Flink 整合实战:构建实时计算分析平台
  • 英语_阅读_A visitor from tomorrow_待读
  • 1.17 指标与维度深度解析:构建数据指标体系的核心要素
  • 1.18 北极星指标 vs 虚荣指标:如何找到真正驱动业务增长的关键指标
  • 面向未来科技发展的AI选题:7大高影响力研究领域的系统分析
  • Python基础语法
  • 课后作业11
  • 智能科学与产业应用结合:7个具有实践价值的毕业论文选题推荐
  • 深度学习计算机毕设之基于Yolo3教学辅助系统的开发(学生考试监考系统)
  • 深度学习毕设选题推荐:基于迁移学习人工智能的睡意检测报警系统
  • langchain4j 学习系列(8)-链式调用
  • 学霸同款2025 AI论文平台TOP9:MBA毕业论文全攻略