机器学习笔记(十一)实践之数据竞赛的套路

前面写了很多篇理论,大家愿意一篇一篇坚持看下来其实挺不容易的,虽然理论很重要,但脱离了实践还是空中楼阁啊,算法科学家也不可能不代码啊,所以呀,今天我们就插播一期实践,和大家聊一聊实际过程当中机器学习算法的应用。

对于我们这些初学者或者说外行来说,因为我们没机会接触到机器学习真正的应用项目,所以一些比赛平台往往是我们不错的选择,比如说这个Kaggle啊,前一段时间被Google收购还挺火的,还有国内的天池啊,DataFountain啊,上面都有不少比赛可以选择,但是入门嘛,我们就从最简单的开始,就是那个被无数文章博客提到过的泰坦尼克幸存者估计,我自己也看过一些,但是觉得很多文章把一开始数据探索部分写得太重了,反而后面特征选择和模型调参讲的很少,我感觉这样有些本末倒置的感觉,数据和特征决定了我们的上限。这里呢,我主要想讲的就是完成一个数据竞赛的整个流程以及其中最常见的一些套路,希望可以帮助大家可以快速入门竞赛,以期取得好成绩或者给自己求职增添砝码。

====================================================================

首先我们先观察一下我们的数据,看看哪些可以构建为我们的特征

import pandas as pd
data=pd.read_csv('E:\Blog\Titanic\Train.csv')
data.info()
data.describe()

所有的数据中一共包括12个变量,其中7个是数值变量,5个是属性变量,接下来我们具体来看一看。

PassengerId:这是乘客的编号,显然对乘客是否幸存完全没有任何作用,仅做区分作用,所以我们就不考虑它了。

Survived:乘客最后的生存情况,这个是我们预测的目标变量。不过从平均数可以看出,最后存活的概率大概是38%。

Pclass:社会经济地位,这个很明显和生存结果相关啊,有钱人住着更加高级船舱可能会享受着更加高级的服务,因此遇险时往往会受到优待。所以这显然是我们要考虑的一个变量。

Name:这个变量看起来好像是没什么用啊,因为毕竟从名字你也不能看出能不能获救,但是仔细观察数据我们可以看到,所有人的名字里都包括了Mr,Mrs和Miss,从中是不是隐约可以看出来一些性别和年龄的信息呢,所以干脆把名字这个变量变成一个状态变量,包含Mr,Mrs和Miss这三种状态,但是放到机器学习里面我们得给它一个编码啊,最直接的想法就是0,1,2,但是这样真的合理吗?因为从距离的角度来说,这样Mr和Mrs的距离要小于Mr和Miss的距离,显然不合适,因为我们把它看成平权的三个状态

所以,敲黑板,知识点来了,对于这种状态变量我们通常采取的措施是one-hot编码,什么意思呢,有几种状态就用一个几位的编码来表示状态,每种状态对应一个一位是1其余各位是0的编码,这样从向量的角度来讲,就是n维空间的n个基准向量,它们相互明显是平权的,此例中,我们分别用100,010,001来表示MrMrsMiss

Sex:性别这个属性肯定是很重要的

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值