下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XGBoost+PCA案例:用户流失风险预测问题背景:某视频平台需预测用户是否会取消会员订阅,用户特征含50项(如日均观看时长、互动评论数、付费历史等),存在大量冗余特征(如“周均观看时长”与“日均观看时长”强相关),导致模型过拟合。数据:10000名会员的50项特征及流失标签(1=流失,0=留存)。要求:用PCA降维至10个主成分,输入XGBoost模型,对比降维前后的预测精度(AUC值)和训练时间,分析关键流失因素(如“连续3天未登录”)。14.XGBoost+PCA代码:用户流失风险预测importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltfromsklearn.decompositionimportPCAfromsklearn.model_selectionimporttrain_test_splitfromsklearn.preprocessingimportStandardScalerfromsklearn.metricsimportroc_auc_score,classification_reportimportxgboostasxgb#1.数据准备(10000名会员的50项特征)np.random.seed(42)n_samples=10000n_features=50#生成高维特征(模拟用户行为:观看时长、评论数、付费次数等)X=np.random.randn(n_samples,n_features)#核心特征(与流失强相关)core_features=np.random.choice(n_features,5,replace=False)fori,idxinenumerate(core_features):ifi<3:#正向特征(值越高越不易流失)X[:,idx]=np.random.normal(5,1,n_samples)else:#负向特征(值越高越易流失)X[:,idx]=np.random.normal(2,1,n_samples)#生成流失标签(1=流失,0=留存)#核心逻辑:核心特征决定大部分流失概率流失概率=0.5-0.1*X[:,core_features[0]]-0.1*X[:,core_features[1]]-0.1*X[:,core_features[2]]+\0.1*X[:,core_features[3]]+0.1*X[:,core_features[4]]流失概率=np.clip(流失概率,0,1)y=np.where(np.random.rand(n_samples)<流失概率,1,0)print(f"用户流失率:{sum(y)/n_samples:.2%}")#2.数据标准化scaler=StandardScaler()X_scaled=scaler.fit_transform(X)#3.PCA降维pca=PCA(n_components=0.95,random_state=42)#保留95%信息X_pca=pca.fit_transform(X_scaled)print(f"原始特征数:{n_features},降维后特征数:{pca.n_components_}")#4.划分数据集X_train_raw,X_test_raw,y_train,y_test=train_test_split(X_scaled,y,test_size=0.3,random_state=42)X_train_pca,X_test_pca=train_test_split(X_pca,test_size=0.3,random_state=42)#5.XGBoost模型训练与评估deftrain_xgboost(X_train,X_test,y_train,y_test,title):model=xgb.XGBClassifier(objective='binary:logistic',n_estimators=100,max_depth=5,learning_rate=0.1,random_state=42)model.fit(X_train,y_train)y_pred=model.predict(X_test)y_prob=model.predict_proba(X_test)[:,1]auc=roc_auc_score(y_test,y_prob)print(f"\n{title}AUC:{auc:.4f}")print("分类报告:")print(classification_report(y_test,y_pred,target_names=['留存','流失']))returnmodel,auc#基于原始特征的XGBoostmodel_raw,auc_raw=train_xgboost(X_train_raw,X_test_raw,y_train,y_test,"原始特征XGBoost")#基于PCA降维特征的XGBoostmodel_pca,auc_pca=train_xgboost(X_train_pca,X_test_pca,y_train,y_test,"PCA降维XGBoost")#6.结果对比plt.figure(figsize=(8,5))plt.bar(['原始特征','PCA降维'],[auc_raw,auc_pca],color=['blue','orange'])plt.ylim(0.5,1.0)plt.ylabel('AUC值(越大越好)')plt.title('XGBoost模型AUC对比')plt.grid(axis='y',alpha=0.3)plt.show()#7.特征重要性分析(降维后模型)ifhasattr(model_pca,'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2027学年济南天桥区泺口实验学校八年级9月份数学月考考试试题以及答案
- 药物制剂工岗前安全宣传考核试卷含答案
- 地理信息工程操控员岗前安全检查考核试卷含答案
- 电炉炼钢工诚信品质测试考核试卷含答案
- 塔台集中控制机务员9S执行考核试卷含答案
- 意匠工安全规程模拟考核试卷含答案
- 香料精制工岗前安全理论考核试卷含答案
- 巡检无人机驾驶员安全强化竞赛考核试卷含答案
- 船舶电器安装工持续改进测试考核试卷含答案
- 隧道巡视养护工岗位事故预防考核试卷含答案
- 2026年国能源招聘笔试真题及答案
- 河北省石家庄市第四十三中学2025-2026学年上学期期中考试九年级数学试题(含答案)
- 2026年新疆中考语文真题及答案解析
- GB/T 24134-2026橡胶和塑料软管静态条件下耐臭氧性能的评价
- 简析量子定位技术及应用前景
- 2026年中医内科医师高频面试题包含详细解答
- AQ3026-2026《化工企业设备检修作业安全规范》解读
- 2026年全国两会解读:基层治理能力提升
- 装配错装漏装考核制度
- 筋膜刀课件教学课件
- 《管理学》(第二版)课件全套 高教版马工程 第0-16章 绪论 - 组织变革与创新
评论
0/150
提交评论