Titanic是kaggle上的一道just for fun的题,没有奖金,但是数据整洁,拿来练手最好不过。
本文以 Titanic 的数据,使用较为简单的决策树,介绍处理数据大致过程、步骤
注意,本文的目的,在于帮助你入门数据挖掘,熟悉处理数据步骤、流程
决策树模型是一种简单易用的非参数分类器。它不需要对数据有任何的先验假设,计算速度较快,结果容易解释,而且稳健性强,对噪声数据和缺失数据不敏感。下面示范用kaggle竞赛titanic中的数据集为做决策树分类,目标变量为survive
读取数据
import numpy as np
import pandas as pd
df = pd.read_csv('train.csv', header=0)
数据整理
- 只取出三个自变量
- 将Age(年龄)缺失的数据补全
- 将Pclass变量转变为三个 Summy 变量
- 将sex转为0-1变量
subdf = df[['Pclass','Sex','Age']]
y = df.Survived
# sklearn中的Imputer也可以
age = subdf['Age'].fillna(value=subdf.Age.mean())
# sklearn OneHotEncoder也可以
pclass = pd.get_dummies(subdf['Pclass'],prefix='Pclass')
sex = (subdf['Sex']==