网站备案接入ip揭阳做网站的

张小明 2025/12/31 20:48:04
网站备案接入ip,揭阳做网站的,网站制作自学百度云,网页设计的发展一、数据集基本信息 数据集定位#xff1a;为机器学习、数据科学和预测分析设计的合成但贴合业务实际的客户流失预测数据集#xff0c;模拟真实客户行为#xff0c;用于解决订阅制及服务型企业的客户流失问题。 数据集来源#xff1a;Customer Churn Prediction Business …一、数据集基本信息数据集定位为机器学习、数据科学和预测分析设计的合成但贴合业务实际的客户流失预测数据集模拟真实客户行为用于解决订阅制及服务型企业的客户流失问题。数据集来源Customer Churn Prediction Business Datasethttps://www.kaggle.com/datasets/miadul/customer-churn-prediction-business-dataset作者ARIF MIAH许可证Apache 2.0我用夸克网盘给你分享了「客户流失预测相关数据集代码模型」点击链接或复制整段内容打开「夸克APP」即可获取。链接https://pan.quark.cn/s/0e2fbf321c05基础特征记录数量10,000条客户数据目标变量churn0未流失1已流失标签通过业务驱动规则结合概率噪声生成确保特征相关性真实数据类型数值型分类型适用领域订阅制/SaaS/电信/服务型企业数据来源基于业务逻辑的合成数据特征分类共32列已展示10列核心特征特征类别包含字段客户档案customer_id客户ID、gender性别男女各占50%、age年龄18-74岁分10个区间、country国家孟加拉国/加拿大各15%其他占70%、city城市伦敦/悉尼各15%其他占70%、customer_segment客户细分个人60%、中小企业30%、其他10%、tenure_months在网月数1-59个月分10个区间、signup_channel注册渠道网页50%、移动端30%、其他20%、contract_type合同类型月付50%、季付31%、其他20%产品使用monthly_logins月登录次数0-54次分10个区间、session duration会话时长、feature usage功能使用情况、activity trends活动趋势账单与支付subscription fees订阅费用、revenue收入、payment failures支付失败次数、discounts折扣客户支持tickets工单数量、resolution time解决时间、CSAT客户满意度、complaints投诉参与度与反馈email activity邮件活跃度、NPS score净推荐值、survey responses调查反馈二、数据集用途数据层面探索性数据分析EDA、特征工程建模层面客户流失预测建模、机器学习/深度学习模型训练与评估、可解释AI如SHAP、特征重要性分析业务层面预测高风险流失客户、识别流失关键驱动因素、估算风险收入、制定客户保留策略、搭建高管级业务仪表盘与决策支持系统部署层面通过Streamlit或Flask实现端到端机器学习部署三、数据集可用性与声明可用性指标可用性评分7.06采用Apache 2.0许可证更新频率未指定标签分类涵盖Business商业、Computer Science计算机科学、Classification分类、Online Communities在线社区、Retail and Shopping零售与购物免责声明仅用于教育、研究和作品集展示虽反映真实业务模式但不代表真实客户数据四、代码4.1 完整分析代码importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.model_selectionimporttrain_test_splitfromsklearn.ensembleimportRandomForestClassifierfromsklearn.preprocessingimportStandardScaler,OneHotEncoderfromsklearn.composeimportColumnTransformerfromsklearn.pipelineimportPipelinefromsklearn.metricsimportaccuracy_score,classification_report,confusion_matriximportwarnings warnings.filterwarnings(ignore)# 设置中文字体plt.rcParams[font.sans-serif][SimHei]plt.rcParams[axes.unicode_minus]False# 1. 数据加载与基本探索defload_and_explore_data(file_path):加载数据并进行基本探索print(\n1. 数据加载与基本探索)print(-*40)# 加载数据dfpd.read_csv(file_path)# 基本信息print(f数据形状:{df.shape}(行:{df.shape[0]}, 列:{df.shape[1]}))print(f\n目标变量(churn)分布:)churn_countsdf[churn].value_counts()print(f留存客户(0):{churn_counts[0]}({churn_counts[0]/len(df)*100:.2f}%))print(f流失客户(1):{churn_counts[1]}({churn_counts[1]/len(df)*100:.2f}%))# 检查缺失值missing_datadf.isnull().sum()missing_colsmissing_data[missing_data0]iflen(missing_cols)0:print(f\n缺失值统计:)forcol,countinmissing_cols.items():print(f{col}:{count}({count/len(df)*100:.2f}%))else:print(f\n无缺失值数据质量良好)returndf# 2. 数据预处理与特征工程defpreprocess_data(df):数据预处理与特征工程print(\n2. 数据预处理与特征工程)print(-*40)# 选择特征和目标变量排除非预测性特征exclude_cols[customer_id,city,country]# 排除ID和地理位置Xdf.drop(columnsexclude_cols[churn])ydf[churn]# 区分数值型和分类型特征numerical_featuresX.select_dtypes(include[int64,float64]).columns categorical_featuresX.select_dtypes(include[object,category]).columnsprint(f数值型特征:{list(numerical_features)})print(f分类型特征:{list(categorical_features)})# 创建预处理流水线# 数值型特征标准化# 分类型特征独热编码preprocessorColumnTransformer(transformers[(num,StandardScaler(),numerical_features),(cat,OneHotEncoder(dropfirst,sparse_outputFalse),categorical_features)])# 分割训练集和测试集保持类别平衡X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.3,random_state42,stratifyy)print(f\n训练集大小:{X_train.shape}(流失率:{y_train.mean()*100:.2f}%))print(f测试集大小:{X_test.shape}(流失率:{y_test.mean()*100:.2f}%))returnX_train,X_test,y_train,y_test,preprocessor,numerical_features,categorical_features# 3. 训练随机森林预测模型deftrain_churn_model(X_train,y_train,preprocessor):训练随机森林客户流失预测模型print(\n3. 模型训练)print(-*40)# 创建模型流水线预处理 随机森林modelPipeline(steps[(preprocessor,preprocessor),(classifier,RandomForestClassifier(n_estimators100,max_depth10,random_state42,class_weightbalanced# 处理类别不平衡))])# 训练模型model.fit(X_train,y_train)print(模型训练完成)returnmodel# 4. 模型评估defevaluate_model(model,X_test,y_test):评估模型性能print(\n4. 模型评估)print(-*40)# 预测y_predmodel.predict(X_test)y_pred_probmodel.predict_proba(X_test)[:,1]# 流失概率# 计算评估指标accuracyaccuracy_score(y_test,y_pred)conf_matrixconfusion_matrix(y_test,y_pred)print(f准确率(Accuracy):{accuracy:.4f})print(f\n混淆矩阵:)print(conf_matrix)print(f\n分类报告:)print(classification_report(y_test,y_pred))# 提取特征重要性需要处理编码后的特征名preprocessormodel.named_steps[preprocessor]classifiermodel.named_steps[classifier]# 获取数值型特征重要性num_importanceclassifier.feature_importances_[:len(preprocessor.transformers_[0][2])]# 获取分类型特征编码后的重要性cat_encoderpreprocessor.transformers_[1][1]cat_feature_names[]fori,cat_colinenumerate(preprocessor.transformers_[1][2]):cat_valuescat_encoder.categories_[i][1:]# 排除第一个类别dropfirstcat_feature_names.extend([f{cat_col}_{val}forvalincat_values])cat_importanceclassifier.feature_importances_[len(preprocessor.transformers_[0][2]):]# 合并所有特征重要性all_feature_nameslist(preprocessor.transformers_[0][2])cat_feature_names all_importancenp.concatenate([num_importance,cat_importance])# 排序并显示前10个重要特征feature_importancepd.DataFrame({feature:all_feature_names,importance:all_importance}).sort_values(importance,ascendingFalse)print(f\n前10个最重要的流失影响因素:)print(feature_importance.head(10).to_string(indexFalse))returnmodel,feature_importance,y_pred_prob# 5. 客户流失预测defpredict_churn(model,df,customer_ids):预测指定客户的流失风险print(\n5. 客户流失预测示例)print(-*40)# 选择客户数据exclude_cols[customer_id,city,country,churn]X_preddf[df[customer_id].isin(customer_ids)].drop(columnsexclude_cols,errorsignore)iflen(X_pred)0:print(f未找到客户ID:{customer_ids})returnNone# 预测流失概率churn_probmodel.predict_proba(X_pred)[:,1]# 生成预测结果prediction_resultpd.DataFrame({customer_id:customer_ids[:len(churn_prob)],churn_probability:churn_prob.round(4),churn_risk:pd.cut(churn_prob,bins[0,0.3,0.6,1.0],labels[低风险,中风险,高风险])})print(客户流失风险预测结果:)print(prediction_result.to_string(indexFalse))returnprediction_result# 6. 可视化关键结果defvisualize_results(df,feature_importance):可视化关键分析结果print(\n6. 结果可视化)print(-*40)# 创建图表fig,((ax1,ax2),(ax3,ax4))plt.subplots(2,2,figsize(16,12))# 1. 客户流失分布churn_countsdf[churn].value_counts()colors1[#2E8B57,#DC143C]ax1.pie(churn_counts.values,labels[留存客户,流失客户],autopct%1.2f%%,colorscolors1,startangle90)ax1.set_title(客户流失总体分布,fontsize12,fontweightbold)# 2. 使用时长与流失关系tenure_churndf.groupby(pd.cut(df[tenure_months],bins[0,12,24,36,60]))[churn].mean()*100ax2.bar(range(len(tenure_churn)),tenure_churn.values,color#4682B4)ax2.set_xticks(range(len(tenure_churn)))ax2.set_xticklabels(tenure_churn.index,rotation45)ax2.set_ylabel(流失率(%))ax2.set_title(不同使用时长客户的流失率,fontsize12,fontweightbold)# 3. CSAT分数与流失关系csat_churndf.groupby(csat_score)[churn].mean()*100ax3.bar(csat_churn.index,csat_churn.values,color#FF6347)ax3.set_xlabel(CSAT分数)ax3.set_ylabel(流失率(%))ax3.set_title(客户满意度与流失率关系,fontsize12,fontweightbold)# 4. 前10个重要特征top10_featuresfeature_importance.head(10)ax4.barh(range(len(top10_features)),top10_features[importance],color#32CD32)ax4.set_yticks(range(len(top10_features)))ax4.set_yticklabels(top10_features[feature])ax4.set_xlabel(特征重要性)ax4.set_title(前10个最重要的流失影响因素,fontsize12,fontweightbold)ax4.invert_yaxis()# 倒序显示最重要的在顶部plt.tight_layout()plt.savefig(churn_analysis_simplified_visualization.png,dpi300,bbox_inchestight)plt.close()print(可视化图表已保存为: churn_analysis_simplified_visualization.png)# 主函数执行完整流程defmain():# 数据文件路径根据实际情况调整file_pathcustomer_churn_business_dataset.csvtry:# 1. 加载数据dfload_and_explore_data(file_path)# 2. 数据预处理X_train,X_test,y_train,y_test,preprocessor,num_features,cat_featurespreprocess_data(df)# 3. 训练模型modeltrain_churn_model(X_train,y_train,preprocessor)# 4. 模型评估model,feature_importance,y_pred_probevaluate_model(model,X_test,y_test)# 5. 预测示例选择前10个客户sample_customer_idsdf[customer_id].head(10).tolist()predict_churn(model,df,sample_customer_ids)# 6. 结果可视化visualize_results(df,feature_importance)# 保存模型和重要结果importjoblib joblib.dump(model,churn_prediction_model.pkl)feature_importance.to_csv(feature_importance.csv,indexFalse,encodingutf-8)print(f\n模型已保存为: churn_prediction_model.pkl)print(f特征重要性已保存为: feature_importance.csv)print(f\n分析完成)exceptExceptionase:print(f\n分析过程中出现错误:{str(e)})# 执行主函数if__name____main__:main()4.2 代码核心功能模块模块功能说明关键输出数据加载读取CSV文件展示数据规模和流失分布数据形状、客户流失率统计数据预处理特征分类数值/分类型、标准化、编码预处理流水线、训练/测试数据集模型训练构建随机森林模型处理类别不平衡可直接用于预测的模型对象模型评估计算准确率、生成分类报告准确率、混淆矩阵、Precision/Recall/F1客户预测输入客户ID输出流失概率和风险等级客户流失风险表低/中/高风险模型保存保存训练好的模型可复用的.pkl模型文件五、关键执行结果5.1 数据基本情况数据规模10,000条客户记录32个特征流失率10.21%1,021名流失客户8,979名留存客户数据质量仅complaint_type字段存在20.45%缺失值不影响核心分析5.2 模型性能表现准确率84.63%整体预测准确度核心指标留存客户预测Precision92%Recall91%识别留存客户效果好流失客户预测Precision26%Recall26%受数据不平衡影响需优化关键影响因素按重要性排序CSAT分数0.161- 客户满意度是最重要指标使用时长0.120- 使用时间越长流失风险越低月登录次数0.098- 活跃度与留存正相关总营收0.078- 高价值客户留存意愿更强支付失败次数0.077- 支付稳定性影响客户信任5.3 客户预测示例对前10名客户的流失风险预测结果客户ID流失概率风险等级建议行动CUST_0000121.83%低风险常规维护CUST_0000265.11%高风险紧急干预CUST_0000327.47%低风险常规维护CUST_0000633.79%中风险主动关怀CUST_0000936.41%中风险针对性挽留六、生成的关键文件模型文件churn_prediction_model.pkl用途可直接加载用于新客户流失预测使用方式model joblib.load(churn_prediction_model.pkl)特征重要性文件feature_importance.csv包含所有特征的重要性评分用于指导业务优化可视化图表包含4个子图流失分布、使用时长影响、CSAT影响、特征重要性七、模型使用指南7.1加载已训练模型importjoblibimportpandasaspd# 加载模型modeljoblib.load(churn_prediction_model.pkl)# 加载新数据new_datapd.read_csv(new_customer_data.csv)# 需与训练数据格式一致# 预测流失风险churn_probmodel.predict_proba(new_data)[:,1]new_data[churn_probability]churn_prob.round(4)new_data[churn_risk]pd.cut(churn_prob,bins[0,0.3,0.6,1.0],labels[低风险,中风险,高风险])八、使用Streamlit可视化使用以下语句运行前端streamlit run streamlit_churn_prediction.py我用夸克网盘给你分享了「客户流失预测相关数据集代码模型」点击链接或复制整段内容打开「夸克APP」即可获取。链接https://pan.quark.cn/s/0e2fbf321c05数据集作者及相关信息作者ARIF MIAH更新时间数据集相关页面2025-12-14完成更新版权许可采用Apache 2.0 许可证。数据集来源Customer Churn Prediction Business Datasethttps://www.kaggle.com/datasets/miadul/customer-churn-prediction-business-dataset作者ARIF MIAH许可证Apache 2.0源kaggle平台作者写的免责声明
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站关键词优化系统ui网站开发

终极APK图标编辑神器:一键打造个性化应用外观 【免费下载链接】apk-icon-editor APK editor to easily change APK icons, name and version. 项目地址: https://gitcode.com/gh_mirrors/ap/apk-icon-editor 你是否曾经看着手机上的应用图标,想着…

张小明 2025/12/29 4:04:23 网站建设

网站开发与运营方向网站采集信息怎么做

教会学生“用数据说话”:Packet Tracer不只是配命令,更是网络性能分析的起点你有没有遇到过这样的学生?他们能熟练敲出ping、show ip route,甚至把 OSPF 邻居关系配置得滴水不漏,但一旦被问到:“这条链路延…

张小明 2025/12/29 4:04:22 网站建设

娄底网站建设开发虚拟机可以做多个网站

Access Token 是有生命周期的,如果不进行高效、安全的管理,会导致频繁的 API 调用失败和服务中断。一个健壮的 Access Token 管理机制必须解决三个核心问题:并发安全、过期续期、和失败重试。 1. 缓存策略:Token 的存储与并发安全…

张小明 2025/12/29 4:04:23 网站建设

奎屯市网站商城网站设计公司

Conda安装特定版本Python以匹配TensorRT要求 在部署深度学习模型到生产环境时,尤其是涉及自动驾驶、工业质检或智能安防这类对延迟极为敏感的场景中,推理性能优化不再是“加分项”,而是决定系统能否落地的关键。训练完成的模型若直接运行于P…

张小明 2025/12/29 4:04:26 网站建设

表情包做旧网站关于推广网站的标题

Awk编程:版本特性与使用技巧 1. Awk数值限制与脚本问题 Awk在处理数值时,使用双精度浮点数,其大小受机器架构限制。在开发搜索程序时,曾遇到因段落超过最大输入记录大小(3000字符)而导致程序崩溃的问题,且没有特定错误信息提示是记录大小的问题。不过,gawk和mawk没有…

张小明 2025/12/29 4:04:27 网站建设

网站正在建设中空白模板模板网站多钱

Python编程实用指南:函数、数据处理与系统管理 1. 回调函数与函数对象 回调函数和传递函数的概念可能对一些人来说比较陌生,但深入理解它们是很有价值的。在Python中,函数是“一等公民”,这意味着可以像操作对象一样传递和处理函数。 1.1 函数作为一等对象示例 以下代码…

张小明 2025/12/29 4:04:26 网站建设