zoukankan      html  css  js  c++  java
  • Titanic缺失数值处理 & 存活率预测

    1.  kaggle泰坦尼克数据titanic完整下载,原作者良心分享

    https://download.csdn.net/download/lansui7312/9936840

    2. 缺失值处理

    # -*- coding:utf -
    import pandas as pd
    import numpy as np
    from sklearn.ensemble import RandomForestRegressor
    
    df = pd.read_csv('train.csv',header=0)
    # SibSp 堂兄弟/妹个数
    # Parch 父母与小孩个数
    # Cabin 客舱
    # Embarked 登船港口
    
    # df.head(20)
    # df.info()
    # print(df.describe())
    # print(df.columns[1])
    
    
    # 男性和女性幸存率查看
    x=[df[(df.Sex=='male')]['Sex'].size,df[(df.Sex=='female')]['Sex'].size]
    # print(x)
    y=[df[(df.Sex=='male') & (df.Survived==1)]['Sex'].size,
       df[(df.Sex=='female') & (df.Survived==1)]['Sex'].size]
    
    # print(y[1]*100/x[1],y[0]*100/x[0])
    
    # 缺失值处理
    # 1. 删掉缺失行
    # 2. 上船地点不重要,用众数赋值
    df.Embarked[df.Embarked.isnull()] = df.Embarked.dropna().mode().values
    # print(df.Embarked)
    
    #3.  标称属性,赋予缺失值,因为缺失本身可能也是一种隐含信息。比如Cabin代表没有船舱
    df.Cabin[df.Cabin.isnull()]='U0'
    # print(df.Cabin)
    
    #4.  使用回归、随机森林等模型来预测缺失属性的值
    # 因为年龄是一个相当重要的特征,所以要保证一定的缺失值填充准确率
    age_df=df[['Age','Survived','Fare','Parch','SibSp','Pclass']]
    age_df_notnull = age_df.loc[(df.Age.notnull())]
    age_df_isnull = age_df.loc[(df.Age.isnull())]
    X = age_df_notnull.values[:,1:]
    Y = age_df_notnull.values[:,0]
    # y1 = age_df_notnull.values[:,2:]
    # X[:,0]是numpy中数组的一种写法表示对一个二维数组,取该二维数组第一维中的所有数据,第二维中取第0个数据,直观来说,X[:,0]就是取所有行的第0个数据, X[:,1] 就是取所有行的第1个数据
    # print(X)
    rfr = RandomForestRegressor(n_estimators=1000,n_jobs=-1)
    rfr.fit(X,Y)
    predictAges = rfr.predict(age_df_isnull.values[:,1:])
    df.loc[(df.Age.isnull()),'Age'] = predictAges
    
    print(df.describe())
    

    3. 

     

  • 相关阅读:
    7-1 词频统计 (30 分)
    VS Code 配置 Python 开发环境
    7-6 求指定层的元素个数 (40 分)
    7-5 列表元素个数的加权和(1) (40 分)
    Oracle中的数据库、用户、方案、表空间、表对象之间的关系
    Oracle归档模式和非归档模式
    Oracle中的单引号和双引号
    PL/SQL编程中的问题
    Oracle数据库语言分类
    Oracle中的delete、truncate和drop
  • 原文地址:https://www.cnblogs.com/skyEva/p/8991744.html
Copyright © 2011-2022 走看看