- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
编写可重复的分析报告
可重复性是每个强大的数据分析项目的首要任务,因为它在确保分析的可靠性、促进协作和推动更强有力的结果验证方面具有重要性和优势。
本分步教程将引导您创建机器学习(ML)项目的分析报告,即用于分析基于订阅的服务的客户流失预测的模型。每个步骤的主要重点是查明利用分析报告中的可重复性的方法,确保所描述的分析在未来可以被复制和验证。
准备好开始了吗?
1.设置受控环境
在数据分析项目中,由于当今对计算环境的严重依赖,再现性必须从受控的计算环境开始。使用virtualenv或conda等工具有助于管理依赖关系。
以下是如何创建和激活受控开发环境的示例。将其合并到您的Python文件或笔记本中(通常通过requirements.txt文件)可确保与您共享项目代码的同行能够在与您类似的条件下运行相同的分析:
$condacreate-nchurn_analysispython=3.9
$conda激活churn_analysis
$pip安装pandasnumpymatplotlibseabornscikit-learn
2.组织架构清晰
清晰的结构促进可重复性也就不足为奇了。对分析输入数据、报告结果等元素使用标准化文件夹布局对于有效协作和使用共享分析报告至关重要。
有助于重现项目报告的示例结构如下:
项目/
|--数据/
|--笔记本/
|--脚本/
|--结果/
|--要求.txt
3.加载和探索数据
数据探索是理解数据集和检测潜在问题的关键步骤。为了使事后报告更具可重复性,您应该在这个阶段确保探索过程中的每一步都是透明的并且有详细记录。使用Jupyter笔记本来加载、探索和汇总数据集之类的方法可以提供多种好处,不仅支持交互性,还可以清晰地跟踪初始见解和数据特征。另一方面,笔记本中的文本单元非常适合在相关代码旁边记录整个探索性分析中的任何发现。
此代码加载一个假设包含历史客户流失数据的数据集,该数据集将用于构建基于ML的流失预测器(实际数据集不存在,注意此处的目的是说明可重复性的良好实践),然后应用一些简单的方法探索性分析来描述数据集并可视化目标变量的分布。
将pandas导入为pd
将seaborn导入为sns
churn_data=pd.read_csv(“数据/churn.csv”)
打印(churn_data.info())
打印(churn_data.describe())
#可视化目标分布
sns.countplot(data=churn_data,x=Churn)
基于此代码,以下是值得记录的探索性分析结果的示例:
缺失值:数据集在两个与客户相关的属性中缺失值:Tenure和MonthlyCharges。
类别不平衡:目标变量流失不平衡,标记为“流失”的客户明显减少。
异常值:每月费用包含需要进一步调查的潜在异常值。
4.数据预处理工作流程
如何在下一阶段提高可重复性,使我们越来越接近最终的分析报告:数据预处理?通过将预处理步骤编写为易于重用的代码脚本(放置在脚本/文件夹中,请参阅上面的步骤2)。这样,当类似的转换应用于新数据集时,我们可以确保一致性并避免错误。用于数据预处理的封装管道应设计为处理数据清理、特征工程和编码分类变量等任务。
例子:
将pandas导入为pd
defpreprocess_data(文件路径):
数据=pd.read_csv(文件路径)
数据=data.dropna()
数据=pd.get_dummies(数据,drop_first=True)
返回数据
如果__name__==__main__:
processed_data=preprocess_data(“数据/churn.csv”)
processed_data.to_csv(“结果/processed_data.csv”,index=False)
通过在README.txt文件中记录用于运行脚本的命令来补充信息,以方便复制或供其他人使用。
5.训练和评估模型
就分析报告的可重复性而言,构建和评估ML模型需要系统化的程序,例如使用random_state等参数一致地分割数据集、在results/model_logs.txt等补充文件中记录模型参数,以及使用标准指标进行评估。保存代码和结果有助于验证模型的性能。
从sklearn.model_selection导入train_test_split
从sklearn.ensemble导入RandomForestClassifier
从sklearn.metrics导入分类报告
#加载处理后的数据
数据=pd.read_csv(结果/proc
文档评论(0)