http://www.abcplus.com.cn/course/58/task/153/show
Python最常使用的工具包
Numpy-科学计算库主要用来做矩阵运算,咱们的数据就是行(样本)和列(特征)组成的,数据本身就是一个矩阵。
Pandas-数据分析处理库Pandas是Python处理数据简洁化的秘诀之所在,有了Pandas,很复杂的操作也可以用一行代码解决。
Matplotlib-可视化库无论是分析还是建模,需要依靠它把结果和过程可视化的展示出来。
Scikit-Learn-机器学习库非常实用的机器学习算法库,基本包含了咱们能用上的所有机器学习算法。 而且还有很多预处理和评估的模块,可以后续自己挖掘。
数据处理流程
(一)数据读取
读取数据并进行展示
统计数据各项指标
明确数据规模与要完成任务
读取数据:
整体情况:
显然,这次事故中没有多少乘客幸免于难。
在训练集的891名乘客中,只有大约350人幸存下来,只有38.4%的机组人员在空难中幸存下来。我们需要从数据中挖掘出更多的信息,看看哪些类别的乘客幸存下来,哪些没有。
我们将尝试使用数据集的不同特性来检查生存率。比如性别,年龄,登船地点等,但是首先分析下数据的特征。
(二)特征理解分析
单特征分析,逐个变量分析其对结果的影响
多变量统计分析,综合考虑多种情况影响
统计绘图得出结论
数据特征分为:
离散值:性别(男,女),登船地点(S,Q,C)
连续值:年龄,船票价格
可以看出船上的男人比女人多得多。但是,获救的女性人数几乎是男性的两倍。女人在船上的生存率是75%左右,而男性在18-19%左右。(这样看来,让妇女和儿童先走,确有其事)
这是建模的一个非常重要的特性,接下来将要用到。
我们可以清楚地看到,船舱等级为1的被给予很高的优先级而救援。尽管数量在Pclass 3乘客高了很多,但存活数是非常低的,大约25%。
对于Pclass 1来说存活是63%左右,而Pclass 2大约是48%。我们几乎可以得出结论,在危机来临时金钱和地位可能决定你的生存概率。
那这些又和性别有关吗?接下来我们再来看看船舱等级和性别对结果的影响。
我们用factorplot这个图,看起来更直观一些。
我们可以很容易地推断,Pclass 1女性生存是95-96%,如94人中只有3个女性在Pclass 1没获救。
显而易见的是,不论PClass,女性优先考虑。可见Pclass也是一个重要的特征。
(三)数据清洗与预处理
对缺失值进行填充
特征标准化/归一化
筛选有价值的特征
分析特征之间的相关性
缺失值填充
·平均值
·经验值
·回归模型预测
·剔除掉
正如我们前面看到的,年龄特征有177个空值。为了替换这些缺失值,我们可以给它们分配数据集的平均年龄。
但问题是有许多不同年龄的人,所以需要找到一个合适的年龄段。
我们可以检查名字特征。根据这个特征,我们可以看到名字有像先生或夫人这样的称呼,这样我们就可以把先生和夫人的平均值分配给各自的组。
特征相关性的热度图:
首先要注意的是,只有数值特征进行比较。
正相关:如果特征A的增加导致特征B的增加,那么它们呈正相关。值1表示完全正相关。
负相关:如果特征A的增加导致特征B的减少,则呈负相关。值-1表示完全负相关。
现在让我们说两个特性是高度或完全相关的,所以一个增加导致另一个增加。这意味着两个特征都包含高度相似的信息,并且信息很少或没有变化。这样的特征对我们来说是没有价值的。
那么我们应该同时使用它们吗?在制作或训练模型时,我们应该尽量减少冗余特性,因为它减少了训练时间和许多优点。
现在,从上面的图,我们可以看到,特征不显著相关。
(四)建立模型
特征数据与标签准备
数据集切分
多种建模算法对比
集成策略等方案改进
当我们得到一个具有特征的数据集时,是不是所有的特性都很重要?可能有许多冗余的特征应该被消除,我们还可以通过观察或从其他特征中提取信息来获得或添加新特性。
年龄特征
正如前面提到的,年龄是连续的特征,在机器学习模型中存在连续变量的问题。
如果说通过性别来组织或安排体育运动,我们可以很容易地把他们分成男女分开。
如果说按他们的年龄分组,你会怎么做?如果有30个人,可能有30个年龄值。
我们需要对连续值进行离散化来分组。
乘客的最大年龄是80岁,所以80/5=16。
机器学习建模
我们从EDA部分获得了一些见解。但是,我们不能准确地预测或判断一个乘客是否会幸存或死亡。现在我们将使用一些很好的分类算法来预测乘客是否能生存下来:
1)logistic回归
2)支持向量机(线性和径向)
3)随机森林
4)k-近邻
5)朴素贝叶斯
6)决策树
7)神经网络
效果图如下:
昨天的互动题目,小伙伴们都知道答案了嘛?看这里哟~
题目回顾:在数据挖掘与机器学习要解决的实际问题中以下哪项才是最核心的?
A:数据预处理
B:建立机器学习模型
C:特征工程
D:数据可视化
答案:特征工程是最核心的一部分,也是我们的核心竞争力。
当然,这几个选项在解决问题中都是十分重要,不可或缺的。
领取专属 10元无门槛券
私享最新 技术干货