Python3自学 爬虫实战大数据 爬虫Python AI Sql

[数据挖掘实战系列] Kaggle之泰坦尼克号灾难(下)

2018-05-14  本文已影响11人  简书用户9527

如果没有看到上册的话:可以点击这里:

[数据挖掘实战系列] Kaggle之泰坦尼克号灾难(上)https://www.jianshu.com/p/fc5f33d4b84c

上主要是对数据进行一些处理,这里的下主要是对数据进行一些分析:

(一)描述性分析

(1)单身存活率

d = train3[['isalone','Survived']].groupby(['isalone']).mean()
d
# d.loc[0,'Survived']
image.png

看来秀恩爱死得早在这里并不适用啊。

(2.1) 单身与死亡率的直方图

# 6.2 单身与死亡率的直方图
plt.bar(
    [0,1],
    [1-d.loc[0,'Survived'],1-d.loc[1,'Survived']],
    0.5,
    color='r',
    alpha=1.0,
)

plt.xticks([0,1],['notalone','alone'])
plt.show()

image.png

(3)男性女性存活率

n = train3[['Sex','Survived']].groupby(['Sex']).mean()
n
image.png
# 6.3.1 不同性别死亡率条形图
plt.bar(
    [0,1],
    [1-n.loc[0,'Survived'],1-n.loc[1,'Survived']],
    0.5,
    color='g',
    alpha=0.9,
)
plt.xticks([0,1],['female','male'])
plt.show()
image.png

男人不怕死??exm ,可能是妇女先走,男人断后!

(4)仓位存活率

# 6.4 仓位存活率
c = train3[['Pclass','Survived']].groupby(['Pclass']).mean()
c
image.png
# 6.4.1 三个不同仓位死亡率条形图

plt.bar(
    [0,1,2],
    [1-c.loc[1,'Survived'],1-c.loc[2,'Survived'],1-c.loc[3,'Survived']],
    0.5,
    color='b',
    alpha=0.8,
)
plt.xticks([0,1,2],[1,2,3])
plt.show()
image.png

有钱人哈,不知道该怎么表达此刻我怎样的心情 ,有钱人多多少少还是有方法活下来的,尽管不知道用的什么方法活下来的。

(5) 年龄存活率

# 6.4 年龄存活率
age = train3[['Age','Survived']].groupby(['Age']).mean()
age
image.png

作图秀一下??

image.png
image.png

装X失败,呵呵。各位大佬能否扶我一下?

(6)票价存活率

# 6.5 票价存活率

fare = train3[['Fare','Survived']].groupby(['Fare']).mean()
fare
image.png
image.png
image.png

相同的地方跌倒两次,看来确实有必要认真的搞一下了,大牛们,能否指点一波??


(二)数据模型定义

简单粗暴的方式,对不起:原谅我。

(1)数据模型处理

感觉很毒啊,这个模型定义的,一个字:死!

# 单身死
result.loc[test3[test3.loc[:,'isalone']==1].loc[:,'PassengerId'].values] = 0 
result.head()
image.png
result.to_csv('isalone.csv')

# 判断:男性全死,女性全活,三等舱全死
new3 = pd.DataFrame(np.arange(0,418),index=test3.loc[:,'PassengerId'].values)
new3[0]=0 # 默认全死
new3.head()
image.png
# 三等舱死
new3.loc[test2[test2.loc[:,'Pclass'] == 3].loc[:,'PassengerId'].values] = 0
new3.head()
image.png

(2)机器学习建模

from sklearn import neighbors,datasets

x = train3.loc[:,['Pclass','Sex','familysize']]
y = train3.loc[:,'Survived'] # 生死

clf = neighbors.KNeighborsClassifier(n_neighbors=20)
clf.fit(x,y)# knn训练
clf
image.png
# knn预测
pre_z = clf.predict(test3.loc[:,['Pclass','Sex','familysize']])
pre_z
image.png
# 伪造表
s = np.arange(892,1310)
s

results= pd.DataFrame(pre_z,index=s)
result.head()
image.png
总结:整篇下来,可能会有点乱,但是路子呢,还是一样子的,就差不多一个模子。当然了,这是小白基础,专门针对我这样子的小白,大佬勿喷。代码跟数据会上传上来。更多个人博客文章请访问:https://blog.csdn.net/xudailong_blog
上一篇下一篇

猜你喜欢

热点阅读