建议课时:2课时
练习目的
- 掌握探索性数据分析基本方法
- 掌握特征工程的基本方法
- 对比特征工程带来的模型效果提升
练习内容
结合《第三章 数据探索分析与特征工程》介绍的知识与技能,完成以下练习:
- 探索数据集中的变量相关性,及单个特征呈现的规律
- 对原始变量进行特征工程,生成新的特征
- 使用特征工程后的特征优化模型,对比模型表现
整个实验仍按照机器学习的基本工作流程来进行。
问题定义
本次练习来源于Kaggle举办的一次数据竞赛,希望用机器学习来解决:预测“生”与“死”的二分类问题。为了对比与实验1的模型效果,我们仍使用决策树算法完成整个实验练习。
数据准备
该竞赛提供了基础的训练集和测试集数据:
- train.csv 训练文件,包含了客户真实幸存情况及相关特征,用于模型训练;
- test.csv 测试文件,仅包含客户特征,不包含客户真实的幸存情况,用于模型产生预测结果,可提交Kaggle平台评估预测效果;
与实验1相同,为了便于进行模型评估,我们仅使用训练集train.csv完成整个实验练习。
任务1:
使用pandas模块中read_csv函数载入train.csv文件数据,并预览数据。
说明: train.csv文件位于”./data/titanic/“目录下
## 练习代码
import pandas as pd
train=pd.read_csv("./data/titanic/.train.csv")
train.head(5)
任务2
使用DataFrame属性函数info()来统计每个变量中非空值的个数,以及当前的变量类型,并选择已满足建模条件的特征变量。
说明:
Pandas将数据载入为DataFrame的格式存储,会自动对变量的数据类型进行定义,但定义类型的合理与否,仍需我们根据变量实际的含义进行核对修正。所以在该任务中要求同学理解每个变量的含义,并对info()返回的变量类型进行检查。
变量含义说明
特征 | 描述 | 值 |
---|---|---|
survival | 生存 | 0 = No, 1 = Yes |
pclass | 票类别-社会地位 | 1 = 1st, 2 = 2nd, 3 = 3rd |
name | 姓名 | |
sex | 性别 | |
Age | 年龄 | |
sibsp | 兄弟姐妹/配偶 | |
parch | 父母/孩子的数量 | |
ticket | 票号 | |
fare | 乘客票价 | |
cabin | 客舱号码 | |
embarked | 登船港口 | C=Cherbourg, Q=Queenstown |