第二章:模型搭建和评估
熟悉的开始~
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from IPython.display import Image
%matplotlib inline
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
plt.rcParams['figure.figsize'] = (10, 6) # 设置输出图片大小
# 读取训练数集
train = pd.read_csv('train.csv')
train.shape
train.head()
特征工程
特征工程是将原始数据转化成更好的表达问题本质的特征的过程,使得将这些特征运用到预测模型中能提高对不可见数据的模型预测精度。
特征工程 —— 传送门
任务一:缺失值填充
- 对分类变量缺失值:填充某个缺失值字符(NA)、用最多类别的进行填充
- 对连续变量缺失值:填充均值、中位数、众数
# 对分类变量进行填充
train['Cabin'] = train['Cabin'].fillna('NA')
train['Embarked'] = train['Embarked'].fillna('S')
# 对连续变量进行填充
train['Age'] = train['Age'].fillna(train['Age'].mean())
# 检查缺失值比例
train.isnull().sum().sort_values(ascending=False)
任务二:编码分类变量
# 取出所有的输入特征
data = train[['Pclass','Sex','Age','SibSp','Parch','Fare', 'Embarked']]
# 进行虚拟变量转换
data = pd.get_dummies(data)
data.head()
模型搭建和评估-建模
开始之前,加载下面的库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from IPython.display import Image
%matplotlib inline
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
plt.rcParams['figure.figsize'] = (10, 6) # 设置输出图片大小
【思考】这些库的作用是什么呢?
【思考回答】
Seaborn提供了许多定制的主题和用于控制matplotlib图形外观的高级界面
%matplotlib inline
IPython有一组预先定义好的所谓的魔法函数(Magic Functions),
使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,
或者使用指定的界面库显示图表,它有一个参数指定matplotlib图表的显示方式。
inline表示将图表嵌入到Notebook中。
载入我们提供清洗之后的数据(clear_data.csv),大家也将原始数据(train.csv)载入,说说他们有什么不同
# 载入我们提供清洗之后的数据(clear_data.csv)
data = pd.read_csv(