- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Python建立预测模型
由于近几年来,Python用户数量上涨及其本身的简洁性,使得这个工具包对数据科学世界的Python专家们变得有意义。本文将帮助你更快更好地建立第一个预测模型。绝大多数优秀的数据科学家和kagglers建立自己的第一个有效模型并快速提交。这不仅仅有助于他们领先于排行榜,而且提供了问题的基准解决方案。
预测模型的分解过程
我总是集中于投入有质量的时间在建模的初始阶段,比如,假设生成、头脑风暴、讨论或理解可能的结果范围。所有这些活动都有助于我解决问题,并最终让我设计出更强大的商业解决方案。为什么你要在前面花费这段时间,这有充分的理由:
你有足够的时间投入并且你是无经验的(这是有影响的)
你不带有其它数据观点或想法的偏见(我总是建议,在深入研究数据之前做假设生成)
在后面的阶段,你会急于完成该项目而没有能力投入有质量的时间了。
这个阶段需要投入高质量时间,因此我没有提及时间表,不过我建议你把它作为标准的做法。这有助于你建立建立更好地预测模型,在后面的阶段的只需较少的迭代工作。让我们来看看建立第一个模型的剩余阶段的时间表:
数据描述性分析——50%的时间
数据预处理(缺失值和异常值修复)——40%的时间
数据建模——4%的时间
性能预测——6%的时间
让我们一步一步完成每个过程(每一步投入预测的时间):
阶段1:描述性分析/数据探索
在我刚开始成为数据科学家的时候,数据探索占据了我大量的时间。不过,随着时间的推移,我已经把大量的数据操作自动化了。由于数据准备占据建立第一个模型工作量的50%,自动化的好处是显而易见的。
这是我们的第一个基准模型,我们去掉任何特征设计。因此,描述分析所需的时间仅限于了解缺失值和直接可见的大的特征。在我的方法体系中,你将需要2分钟来完成这一步(假设,100000个观测数据集)。
我的第一个模型执行的操作:
确定ID,输入特征和目标特征
确定分类和数值特征
识别缺失值所在列
阶段2:数据预处理(缺失值处理)
有许多方法可以解决这个问题。对于我们的第一个模型,我们将专注于智能和快速技术来建立第一个有效模型。
为缺失值创建假标志:有用,有时缺失值本身就携带了大量的信息。
用均值、中位数或其它简单方法填补缺失值:均值和中位数填补都表现良好,大多数人喜欢用均值填补但是在有偏分布的情况下我建议使用中位数。其它智能的方法与均值和中位数填补类似,使用其它相关特征填补或建立模型。比如,在Titanic生存挑战中,你可以使用乘客名字的称呼,比如:“Mr.”, “Miss.”,”Mrs.”,”Master”,来填补年龄的缺失值,这对模型性能有很好的影响。
填补缺失的分类变量:创建一个新的等级来填补分类变量,让所有的缺失值编码为一个单一值比如,“New_Cat”,或者,你可以看看频率组合,使用高频率的分类变量来填补缺失值。
由于数据处理方法如此简单,你可以只需要3到4分钟来处理数据。
阶段3:数据建模
根据不同的业务问题,我推荐使用GBM或RandomForest技术的任意一种。这两个技术可以极其有效地创建基准解决方案。我已经看到数据科学家通常把这两个方法作为他们的第一个模型同时也作为最后一个模型。这最多用去4到5分钟。
阶段4:性能预测
有各种各样的方法可以验证你的模型性能,我建议你将训练数据集划分为训练集和验证集(理想的比例是70:30)并且在70%的训练数据集上建模。现在,使用30%的验证数据集进行交叉验证并使用评价指标进行性能评估。最后需要1到2分钟执行和记录结果。
本文的目的不是赢得比赛,而是建立我们自己的基准。让我们用python代码来执行上面的步骤,建立你的第一个有较高影响的模型。
让我们开始付诸行动
首先我假设你已经做了所有的假设生成并且你擅长使用python的基本数据科学操作。我用一个数据科学挑战的例子来说明。让我们看一下结构:
步骤1:导入所需的库,读取测试和训练数据集。
#pandas、numpy包,导入LabelEncoder、random、RandomForestClassifier、GradientBoostingClassifier函数
import pandas as pd
import numpy as np
fromsklearn.preprocessing import LabelEncoder
import random
fromsklearn.ensemble import RandomForestClassifier
from sklearn.ensembleimport GradientBoostingClassifier
#读取训练、测试数据集
train=pd.read_csv(C:/Users/AnalyticsVidhya/Desktop/challe
您可能关注的文档
最近下载
- 飞行中鸟击的危害与防范(共48张PPT).ppt VIP
- 统编版小学语文二年级上册第六单元 先辈伟人 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx VIP
- 历史记载-中西闻见录15.pdf VIP
- 历史记载-中西闻见录13.pdf VIP
- 医疗文书书写及规范.ppt VIP
- 统编版语文二年级上册第六单元 追寻伟人足迹单元任务群整体公开课一等奖创新教学设计.docx VIP
- 合力CPCD35-KU5Y4G3 叉车零件图册l.pdf VIP
- 历史记载-中西闻见录12.pdf VIP
- 课前小游戏-看字说颜色(必须wps打开).pptx VIP
- 历史记载-中西闻见录11.pdf VIP
文档评论(0)