2020-07-14

数据挖掘流程:

(一)数据读取:

读取数据,并进行展示

统计数据各项指标

明确数据规模与要完成任务

(二)特征理解分析

单特征分析,逐个变量分析其对结果的影响

多变量统计分析,综合考虑多种情况影响

统计绘图得出结论

(三)数据清洗与预处理

对缺失值进行填充

特征标准化/归一化

筛选有价值的特征

分析特征之间的相关性

(四)建立模型

特征数据与标签准备

数据集切分

多种建模算法对比

集成策略等方案改进

数据来源:著名的数据分析竞赛网站Kaggle提供的数据集中

1 倒入包

2 数据读起来,先看看啥东西

PassengerId: 乘客编号 Survived  :存活情况(存活:1 ; 死亡:0)Pclass :客舱等级   Name : 乘客姓名  Sex   : 性别Age : 年龄SibSp  : 同乘的兄弟姐妹/配偶数Parch  : 同乘的父母/小孩数Ticket   : 船票编号Fare  : 船票价格Cabin :客舱号Embarked  : 登船港口

3 瞅一瞅有木有缺失值

4 整体看看数据啥规模

5不是要预测这大船的获救情况嘛,先看看获救比例咋样

显然,这次事故中没有多少乘客幸免于难。在训练集的891名乘客中,只有大约350人幸存下来,只有38.4%的机组人员在空难中幸存下来。我们需要从数据中挖掘出更多的信息,看看哪些类别的乘客幸存下来,哪些没有。我们将尝试使用数据集的不同特性来检查生存率。比如性别,年龄,登船地点等,但是首先我们得来理解下数据中的特征!

6数据特征分为:连续值和离散值--离散值:性别(男,女) 登船地点(S,Q,C)连续值:年龄,船票价格

这看起来很有趣。船上的男人比女人多得多。不过,挽救的女性人数几乎是男性的两倍。生存率为一个女人在船上是75%左右,而男性在18-19%左右。(让妇女和儿童先走,虽然电影忘得差不多了,这句话还记着。。。确实是这样的)这看起来是建模的一个非常重要的特性。一会我们会用上他的!

7 Pclass --> 船舱等级跟获救情况的关系

人们说金钱不能买到一切。但我们可以清楚地看到,船舱等级为1的被给予很高的优先级而救援。尽管数量在pClass 3乘客高了很多,仍然存活数从他们是非常低的,大约25%。对于pClass1来说存活是63%左右,而pclass2大约是48%。所以金钱和地位很重要。这样一个物欲横流的世界

8 那这些又和性别有关吗?接下来我们再来看看船舱等级和性别对结果的影响

我们用factorplot这个图,看起来更直观一些。我们可以很容易地推断,从pclass1女性生存是95-96%,如94人中只有3的女性从pclass1没获救。显而易见的是,不论pClass,女性优先考虑。

9 Age--> 连续值特征对结果的影响

结果:¶ 1)10岁以下儿童的存活率随passenegers数量增加。2)生存为20-50岁获救几率更高一些。3)对男性来说,随着年龄的增长,存活率降低

(二)缺失值填充:平均值,经验值,回归模型预测,剔除掉

正如我们前面看到的,年龄特征有177个空值。为了替换这些缺失值,我们可以给它们分配数据集的平均年龄。但问题是,有许多不同年龄的人。最好的办法是找到一个合适的年龄段!我们可以检查名字特征。根据这个特征,我们可以看到名字有像先生或夫人这样的称呼,这样我们就可以把先生和夫人的平均值分配给各自的组。

好了,这里我们使用正则表达式:[A-Za-z] +)来提取信息

填充缺失值

观察:1)幼儿(年龄在5岁以下)获救的还是蛮多的(妇女和儿童优先政策)。2)最老的乘客得救了(80年)。3)死亡人数最高的是30-40岁年龄组。

因此,无论性别如何,妇女和儿童第一政策都是正确的。

Embarked--> 登船地点

C港生存的可能性最高在0.55左右,而S的生存率最低

观察:1)大部分人的船舱等级是3。2)C的乘客看起来很幸运,他们中的一部分幸存下来。3)S港口的富人蛮多的。仍然生存的机会很低。4)港口Q几乎有95%的乘客都是穷人。

观察:1)存活的几率几乎为1 在pclass1和pclass2中的女人。2)pclass3 的乘客中男性和女性的生存率都是很偏低的。3)端口Q很不幸,因为那里都是3等舱的乘客。港口中也存在缺失值,在这里我用众数来进行填充了,因为S登船人最多呀

sibsip -->兄弟姐妹的数量

这个特征表示一个人是独自一人还是与他的家人在一起。

观察:barplot和factorplot表明,如果乘客是孤独的船上没有兄弟姐妹,他有34.5%的存活率。如果兄弟姐妹的数量增加,该图大致减少。这是有道理的。也就是说,如果我有一个家庭在船上,我会尽力拯救他们,而不是先救自己。但是令人惊讶的是,5-8名成员家庭的存活率为0%。原因可能是他们在pclass=3的船舱

Fare--> 船票的价格

概括地观察所有的特征: 性别:与男性相比,女性的生存机会很高。Pclass:有,第一类乘客给你更好的生存机会的一个明显趋势。对于pclass3成活率很低。对于女性来说,从pclass1生存的机会几乎是。年龄:小于5-10岁的儿童存活率高。年龄在15到35岁之间的乘客死亡很多。港口:上来的仓位也有区别,死亡率也很大!家庭:有1-2的兄弟姐妹、配偶或父母上1-3显示而不是独自一人或有一个大家庭旅行,你有更大的概率存活。

特征之间的相关性

特征相关性的热度图首先要注意的是,只有数值特征进行比较正相关:如果特征A的增加导致特征b的增加,那么它们呈正相关。值1表示完全正相关。负相关:如果特征A的增加导致特征b的减少,则呈负相关。值-1表示完全负相关。现在让我们说两个特性是高度或完全相关的,所以一个增加导致另一个增加。这意味着两个特征都包含高度相似的信息,并且信息很少或没有变化。这样的特征对我们来说是没有价值的!那么你认为我们应该同时使用它们吗?。在制作或训练模型时,我们应该尽量减少冗余特性,因为它减少了训练时间和许多优点。现在,从上面的图,我们可以看到,特征不显著相关

(三)特征工程和数据清洗

当我们得到一个具有特征的数据集时,是不是所有的特性都很重要?可能有许多冗余的特征应该被消除,我们还可以通过观察或从其他特征中提取信息来获得或添加新特性。

年龄特征:正如我前面提到的,年龄是连续的特征,在机器学习模型中存在连续变量的问题。如果我说通过性别来组织或安排体育运动,我们可以很容易地把他们分成男女分开。如果我说按他们的年龄分组,你会怎么做?如果有30个人,可能有30个年龄值。我们需要对连续值进行离散化来分组。好的,乘客的最大年龄是80岁。所以我们将范围从0-80成5箱。所以80/5=16。

生存率随年龄的增加而减少,不论Pclass。

船票价格

因为票价也是连续的特性,所以我们需要将它转换为数值。

如上所述,我们可以清楚地看到,船票价格增加生存的机会增加。
显然,随着fare_cat增加,存活的几率增加。随着性别的变化,这一特性可能成为建模过程中的一个重要特征。

将字符串值转换为数字 因为我们不能把字符串一个机器学习模型

去掉不必要的特征名称>我们不需要name特性,因为它不能转换成任何分类值年龄——>我们有age_band特征,所以不需要这个票号-->这是任意的字符串,不能被归类票价——>我们有fare_cat特征,所以不需要船仓号——>这个也不要没啥含义passengerid -->不能被归类

机器学习建模

我们从EDA部分获得了一些见解。但是,我们不能准确地预测或判断一个乘客是否会幸存或死亡。现在我们将使用一些很好的分类算法来预测乘客是否能生存下来:

1)logistic回归

2)支持向量机(线性和径向)

3)随机森林

4)k-近邻

5)朴素贝叶斯

6)决策树

模型的精度并不是决定分类器效果的唯一因素。假设分类器在训练数据上进行训练,需要在测试集上进行测试才有效果

现在这个分类器的精确度很高,但是我们可以确认所有的新测试集都是90%吗?答案是否定的,因为我们不能确定分类器在不同数据源上的结果。当训练和测试数据发生变化时,精确度也会改变。它可能会增加或减少。

为了克服这一点,得到一个广义模型,我们使用交叉验证。

交叉验证

一个测试集看起来不太够呀,多轮求均值是一个好的策略!

1)的交叉验证的工作原理是首先将数据集分成k-subsets。

2)假设我们将数据集划分为(k=5)部分。我们预留1个部分进行测试,并对这4个部分进行训练。

3)我们通过在每次迭代中改变测试部分并在其他部分中训练算法来继续这个过程。然后对衡量结果求平均值,得到算法的平均精度。

这就是所谓的交叉验证。

混淆矩阵 它给出分类器的正确和不正确分类的数量

解释混淆矩阵:来看第一个图

1)预测的正确率为491(死亡)+ 247(存活),平均CV准确率为(491+247)/ 891=82.8%。

2)58和95都是咱们弄错了的。

超参数整定

机器学习模型就像一个黑盒子。这个黑盒有一些默认参数值,我们可以调整或更改以获得更好的模型。比如支持向量机模型中的C和γ,我们称之为超参数,他们对结果可能产生非常大的影响。

结合历史核对结论:

数据分析的目的:通过数据,找出事件背后的原因、规律,用来改进、预防未来相似的事件。

参考:wikipedia-Decision_tree_learning

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,607评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,239评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,960评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,750评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,764评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,604评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,347评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,253评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,702评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,893评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,015评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,734评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,352评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,934评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,052评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,216评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,969评论 2 355