python数据分析--综合案例3

本文基于泰坦尼克逃生数据,介绍如何进行数据分析。首先,处理数据中的缺失值,如用众数填充Embarked,用均值填充Fare,用随机森林预测填充Age。接着,对特征进行处理,包括对Embarked、Sex和Pclass进行dummy编码,对Fare进行分桶,从Name中提取称呼并one-hot编码,对Cabin进行有无编码,Ticket的字母factorize。最后,利用相关系数筛选重要特征。
摘要由CSDN通过智能技术生成

数据来源:泰坦尼克逃生数据
知识点:特征处理和随机森林预测
主要内容:

  • 缺失值处理
    1. 对Embarked字段直接用众数填充
    2. 对船票Fare字段用均值填充
    3. 建立预测模型,填充年龄Age字段

  • 不同特征字段的处理
    1. 对Embarked、Sex以及Pclass等用dummy处理
    2. 对票价Fare分级处理,使用qcut分桶
    3. 对名字Name进行处理,提取称呼,如Mr, Mrs, Miss等;
    4. 对称呼进行oner-hot编码
    5. 对Cabin进行编码,Cabin缺失值过多,将其分为有无两类,进行编码,如果缺失,即为0,否则为1
    6. 对Ticket处理,提取字母,得到Ticket_Letter,对Ticket_Letter进行 factorize处理
    7. 利用随机森林预测Age缺失值

  • 对相关系数排序筛选重要特征

导入数据
import pandas as pd
train = pd.read_csv('/home/mw/input/titanic/train.csv')
test = pd.read_csv('/home/mw/input/titanic/test.csv')
train_and_test = train.append(test, sort=False) # 合并训练集与测试集
PassengerId = test['PassengerId']
train_and_test.shape
缺失值处理
# 对Embarked直接用众数填充;
mode=train_and_test['Embarked'].mode().iloc[0]
train_and_test['Embarked'].fillna(mode,inplace=True)
# 对Fare用均值填充;
Fare_mean=train_and_test['Fare'].mean()
train_and_test['Fare'].fillna(Fare_mean,inplace=True)
特征值处理

1.对Embarked、Sex以及Pclass等用dummy处理

pd.get_dummies(train_and_test['Embarked'],  # 输入的数据框
              prefix='Embarked', # 列名的前缀
              prefix_sep='_', # 分割符
              dummy_na=False, # 增加一列空缺值
              columns=['Embarked'], # 指定要实现转换的列名
              sparse=False,
              drop_first=False, # 删除第一个类别值
              dtype=None
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值