四、数据建模、计算、分析—建模
1、载入库,并思考这些库的作用是什么呢?
Matprotlib是Py的绘图库,可与NumPy一起使用,提供了一种有效的MatLab开元替代方案。
Seaborn是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易。
2、载入清洗之后的数据(clear_data.csv),并将原始数据载入(train.csv),说说他们有什么不同?
①清洗过的数据与原数据形状不太相同
②清洗过的数据比原数据减少了'Survived''Name'这两个特征,并且数据中的文字类型都转成了数据类型以便后续数据处理
3、模型搭建
- 处理完前面的数据我们就得到建模数据,下一步是选择合适模型
- 在进行模型选择之前我们需要先知道数据集最终是进行监督学习还是无监督学习
- 监督学习:从标记的训练数据来进行的机器学习任务
- 无监督学习:从未经标记和分类的数据来进行的机器学习任务
- 模型的选择一方面是通过我们的任务来决定的。
- 除了根据我们任务来选择模型外,还可以根据数据样本量以及特征的稀疏性来决定
- 刚开始我们总是先尝试使用一个基本的模型来作为其baseline,进而再训练其他模型做对比,最终选择泛化能力或性能比较好的模型。
- 泛化能力:指学习到的模型对未知数据的预测能力。
在调用机器学习scikit-learn库的时候就可以参考下方图片进行路径的选择
数据集的哪些差异会
3.1切割训练集和测试集
为了评估模型的性能和泛化能力,就需要有一个参照进行验证,因此需要将数据集划分成训练集和测试集。
划分数据集的方法有:留出法,交叉验证法,自助法。
这里使用留出法划分数据集
- 将数据集分为自变量和因变量
- 在此次项目中x就是年龄、性别、舱位等级...,y就是 是否幸存。
- 按比例切割训练集和测试集(一般测试集的比例有30%、25%、20%、15%和10%)
- 使用分层抽样
- 设置随机种子以便结果能复现
3.2、模型创建
- 创建基于线性模型的分类模型(逻辑回归)
- 逻辑回归虽然叫回归但不是回归模型二十分类模型,并且常用于R分类
- 创建基于树的分类模型(决策树、随机森林)
- 分别使用这些模型进行训练,分别的到训练集和测试集的得分
- 查看模型的参数,并更改参数值,观察模型变化
3.3、输出模型预测结果
- 输出模型预测分类标签
- 输出不同分类标签的预测概率
- 一般监督模型在sklearn里面有个
predict
能输出预测标签,predict_proba
则可以输出标签概率