wps的电脑版下载的方法的方法

  e73f86583513ae1d730e9bbaf45ec014.png

  开始Kaggle练习,最先进行的当然是Kaggle的“Hello World”—预测哪些泰坦尼克的旅客幸存。自己最开始写的很乱,包括数据处理、分析、建模等。参考了Kaggle的一篇[1]再整理一遍,清晰很多。实验并没有得到一个很好的结果,但是规范了整个流程,因此写下笔记 本文约1.4k字,预计阅读10分钟

  竞赛解决方案的流程主要分为以下7个步骤:

  问题的定义;获取训练集和测试集;整理、准备、清洗数据;分析、探索数据;建模、预测和解决问题;可视化、报告和呈现问题解决步骤和最终解决方案;提交结果;

  当然这个只是一般的步骤,3、4可以进行交叉交换,可视化也可以应用到多个阶段。

  泰坦尼克数据集的机器学习研究可以说是Kaggle的“Hello world”。问题的直观定义很简单:使用机器学习创建一个模型,预测哪些乘客在泰坦尼克号沉船中幸存。

  其他的信息条件:

  1912年4月15日,被广泛认为“永不沉没”的皇家邮轮“泰坦尼克号”在处女航中撞上一座冰山后沉没。不幸的是,船上没有足够的救生艇,导致2224名乘客和船员中有1502人死亡。(存活率为:32.46%)

  虽然在生存中有一些运气因素,但似乎有些群体的人比其他人更有可能生存下来。

  数据集的获取很简单,使用pandas包即可。

  数据的描述(即特征)

  赛题中Data部分给出了数据特征,也可以通过pandas进行查看:

  结合赛题描述,我们可以对上述特征进行归类:

  分类特征:这里指的是可以对数据集按照该特征可以明确的划分为一系列相似的样本。上述属于分类特征的有:

  Pclass(阶级)、Survived(是否存活)、Sex(性别)、Embarked(出发地);

  2. 数值型特征:值会随着样本的变化而变化,可以是连续的、离散的或基于时间序列的,这里有:

  Age(年龄)、Fare(票价)、SibSp(船上兄弟姐妹数量)、Parch(船上父母孩子数量)【注:后两者属于数值型特征是因为当不知道数据集时无法确定特征的取值范围,是随着样本而变化】

  3.其他特征:很难找到有效的的规律,这里还剩下:

  Name(姓名)、Ticket(船票号)、Cabin(船舱号);

  具体数据

  在对训练集的首尾数据进行查看:

  89c8bb9ef1dbf4e4ce8c5d246271be60.png

  2560c325400a36d122b4e15c25d2f261.png

  通过数据中的信息,可以进行得到以下结论:

  Name特征中,虽然是字符串类型,但包含了一些性别特征,如(Mr、Mrs、Miss);Ticket特征,包含了数字和字母的组合,我们很难从中找出一些规律;我们发现,Cabin特征中存在缺失值,我们需要进一步进行判断,并查看其他特征是否也有缺失;Passengerld特征为序号,对模型建立应该并无影响;

  数据结构

  首先最为关键的是数据缺失问题,Pandas可以通过很多种方式进行判断每个特征是否存在缺失值。最简单的是直接查看数据集的全局信息。

  通过上述数据集的信息我们可以分析:

  数据集中有7个为数值型,5个为object类型;训练集共891个样本,Age特征缺失177(即19.87%),Cabin特征缺失687(即77.10%),Embarked特征缺失2(即0.22%);测试集共418个样本,Age特征缺失86(即20.57%),Cabin特征缺失326(即67.78%),Fare特征缺失1(即0.21%);

  数据的分布

  可以通过Pandas包的describe方法快速查看整个数据的分布情况【这里只观察训练集】:

  结果如图所示:

  wps的官网最新下载的入口的方法d7175be75a8e9ac6d9c768ec814c6b0d.png

  我们可以得到以下结论:

  在训练集中,存活率为38.38%;社会经济地位(SES)是低的人占的比例最大;船上大多数没有和父母孩子一起(至少75%);船上有兄弟姐妹的关系的旅客为25%~50%;年老的乘客很少;票价分布不均匀,差异很大,极少数人花费超过了500美元;

  上述缺少了部分特征(数据类型不为数值),查看数据分布,可以添加参数,即包含object类型:

  7f35b0520edd9d0eaa2400c4695c89fe.png

  可以发现:
wps的的官网最新下载的地方在哪
  游客出发的港口有3个;船舱有部分重复(147个不相同),某些游客可能共用一个船舱;票据特征有一定的重复率(22%);

  单个特征与标签的相关性

  上述分析的是数据集整体的结构与分布,接下来我们将探索单个特征与是否存活的相关性,这是非常有意义的。这里我们指分析不含有缺失值的特征:Pclass、Sex、SibSp、Parch。

  (1)Pclass:

  结论:社会地位高的人存活率最高。

  (2&#xff09 wps的的官网最新的下载地方在哪里;Sex:

  结论:女性比男性的存活率高。

  (3)SibSP:

  结论:有少数(1~3)或无兄弟姐妹或的旅客存活率较高。

  (4)Parch:

  结论:与上述结论类似。

  数据可视化

  (1)首先我们可视化年龄与存活的关系:

  如图所示:

  9a72700f9de1f64b73331c8d2797dc25.png

  结论:模型建模应该考虑年龄;0~8岁的小孩和75~80的老人存活率偏高;需要对年龄进行分段处理,并填充缺失值

  (2)对上述直方图我们再加入Pclass特征:

  如图:

  6369d2b1618cdc27a338a454c6b89ea3.png

  结论:Pclass=1的旅客存活率最高,Pclass=2其次,Pclass=3最低;Pclass=2和3中年龄为0~10的旅客存活率较高;故Pclass是一个重要的特征,建模需要加入

  (3)可视化出发地、性别、社会地位(Pclass)与存活率的关系:

  如图【用了seaborn】:

  c0010a023900f532ab5da29f0e134058.png

  结论:在三个出发港口中,港口C男性各个阶级的存活率远高于其他两个,且比女性高;对于社会地位高的男性在不同的港口出发,存活率也各不相同;故性别(Sex)与出发地(Embarked)都是重要的特征,建模需要加入

  (4)可视化票价与存活率的关系:

  如图:

  9bf94f511372adeadf08c33080c42d69.png

  结论:票价高的旅客存活率更高;由于票价分布差异较大,因此可以对该特征进行分段处理;故应将Fare加入进行建模

  总结

  经过上述对11个特征(除去Survived作为标签)进行数据分析,结论如下:

  PassengerId为ID,Ticket特征很难找到规律,Cabin缺失太多,因此都需要进行删除;Name特征可以提取部分性别、已婚未婚信息、身份等【Name特征本身需要删除】;Sex、Pclass、Age、Embarked、Fare是非常重要的特征,且特征之间存在着一定的关系;SibSp、Parch特征关于存活率的分布类似,且两者相加能反应一个家族的人员情况。可以尝试相加;Age、Embarked、Fare存在着缺失数据,需要对其进行填充;Sex、Emabrked需要转化为分类的数值型特征;Age、Fare根据之前的分析进行合理的分段;

  删除无效特征

  经上述分析,删除Passengerld【可进行保存】、Ticket、Cabin特征:

  提取有效的特征
wps office免费版的下载地方在哪(wps官网网址)
  关于Name特征,一般称呼上"."前面表示一种身份,例如“Miss”、“Dr“等,可以将其用正则表达式进行提取:

  我们发现某些类别特别少,所占比例不均匀,且“Mlle”、“Ms”都是“Miss”,“Mme”应该为“Mrs”,可以对其进行替换,对于数量少的可以进行整合为一个类别“Rare”。wps电脑版的下载的地址怎么找

  再对所有的类别进行映射:wps的官网最新下载的地址在哪里

  删除Name特征:

  转换特征

  由于性别是字符串表示,我们可以将其用数值型代表:

  缺失值填充

  1、Age

  最简单的填充方式就是取所有旅客的均值和标准差之间进行随机选择。但是,之前我们分析,Age和Pclass、Gender存在一定的关联。因此,我们可以选择取再Pclass和Gender匹配下的Age的均值与标准差的随机选择。

  由于Age为连续性数值,根据分析,我们可以将其进行分段【10段加以区分】:

  将其转化为分类数值型:

  2、Embarked

  由于训练集中只有两个缺失值,因此我们采用最简单的最常用填充:

  然后再将其转化为分类数值型特征:

  3、Fare

  测试集中有一个样本缺失Fare特征,我们简单的填充为中位数:

  将不同的Fare进行分段处理,和Age处理方式不同的是,由于票价差距过大,我们不能采用等分,且票价基本和Pclass对应,因此这里使用划分为3份:

  特征组合(特征工程)

  1、将SibSp与Parch组合,得到Family特征

  模型完成的是分类问题,因此有很多个机器学习模型可供选择:

  Logistic Regression;KNN;Naive Bayes Classifier;Decision Tree;Support Vector Machine;MLP;

  首先对数据进行处理:

  导入模型包:

  模型训练,采用五折交叉验证:

  1、Logistic 回归

  我们可以查看模型中各个特征的权重,权重的绝对值越大,说明对模型的影响也越大:

  我们发现Sex与Pclass特征的影响最大,我们通过特征工程构造的FamilySize也比原来的特征作用更大;【这里我们可以调整特征,例如删除一些影响小的特征,如Parch等;

  2、决策树(CART)

  3、KNN

  4、朴素贝叶斯

  5、SVM

  6、MLP

  排序:

  结果:

  我们使用SVM模型进行预测(这里简单考虑,不做模型融合,其他的特征工程暂不考虑)

  最后预测的结果为:0.78947(5116名/结果并不好,还需继续进行调整)

  [1] https://www.kaggle.com/startupsci/titanic-data-science-solutions