美文网首页Python3自学 爬虫实战大数据 爬虫Python AI Sql
[数据挖掘实战系列] Kaggle之泰坦尼克号灾难(下)

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

作者: 简书用户9527 | 来源:发表于2018-05-14 23:37 被阅读11次

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

    [数据挖掘实战系列] 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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/ilztdftx.html