news 2026/4/23 12:53:11

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:49:18

数字化转型背景下AI融合选题:7大新兴领域研究趋势与突破点

毕业论文选题排名&#xff1a;7大AI热门方向推荐 工具对比速览 工具名称 核心优势 适用场景 生成速度 特色功能 Aibiye 学术数据库精准匹配 开题报告/文献综述 即时生成 无限改稿/论文仿写 Aicheck 全学科覆盖 初稿快速生成 20-30分钟 自动插入图表/公式 秒篇 …

作者头像 李华
网站建设 2026/4/23 13:12:27

Nginx原生配置介绍

作为现代Web架构的核心组件&#xff0c;Nginx凭借其高性能、高可靠性和灵活的模块化设计&#xff0c;已成为全球最流行的Web服务器之一。本文将深度解析Nginx原生配置体系&#xff0c;从基础架构到高级功能&#xff0c;帮助开发者掌握配置精髓。 一、配置文件架构&#xff1a;模…

作者头像 李华
网站建设 2026/4/20 20:26:54

Ubuntu下编辑文本文件的方法

1. 引言 尽管已经有了不少的使用 Ubuntu 终端的经验&#xff0c;但笔者认为&#xff0c;要编辑文本文件最好的方式还是使用 GUI 。当然不是所有的情况都能使用 GUI 的&#xff0c;有时还是不得不使用终端编辑文本文件。 2. 方法 2.1 MobaXterm 文件浏览器 MobaXterm 是一款专为…

作者头像 李华