Python机器学习项目实战机器学习项目实战
这是一篇完全手把手进行机器学习项目构建的教程,包含:1. 数据清理和格式化 2. 探索性数据分析 3. 特征工程和特征选择 4.
在性能指标上比较几种机器学习模型 5. 对最佳模型执行超参数调整 6. 在测试集合中评估最佳模型 7. 解释模型结果 8. 得出结
论。今天是(1-3)从数据清理,到数据分析,到特征工程,再到Baseline的构建.
——Putting the machine learning pieces together
阅读一本数据科学书籍或学习一门相关的课程,你可能感觉你有了独立的碎片,但不知道如何将它们拼在一起。想要继续推进
下去并解决完整的机器学习问题可能令人望而生畏,但完成第一个项目后将使你有信心应对任何数据科学问题。本系列文章将
介绍——使用了真实世界数据集的机器学习项目的完整解决方案,让你了解所有碎片是如何拼接在一起的。
我们将按照一般机器学习的工作流程逐步进行:
1. 数据清理和格式化
2. 探索性数据分析
3. 特征工程和特征选择
4. 在性能指标上比较几种机器学习模型
5. 对最佳模型执行超参数调整
6. 在测试集合中评估最佳模型
7. 解释模型结果
8. 得出结论
按照上述流程,我们将介绍每个步骤如何进入到下一步,以及如何用Python实现每个部分。完整的项目在GitHub上可以找
到,第一个notebook在这里。 第一篇文章将涵盖步骤1-3,其余的内容将在后面的文章中介绍。
GitHub完整项目链接:
问题定义
编码之前的第一步是了解我们试图解决的问题和可用的数据。在这个项目中,我们将使用公共可用的纽约市的建筑能源数据
【1】。
目标是使用能源数据建立一个模型,来预测建筑物的Energy Star Score(能源之星分数),并解释结果以找出影响评分的因
素。
数据包括Energy Star Score,意味着这是一个监督回归机器学习任务:
监督:我们可以知道数据的特征和目标,我们的目标是训练可以学习两者之间映射关系的模型。
回归:Energy Star Score是一个连续变量。
我们想要开发一个模型,在准确性上——它可以实现预测Energy Star Score,并且结果接近真实值。在解释上—— 我们可以
理解模型的预测。
一旦我们知道了目标,在深入挖掘数据并构建模型时,就可以用它来指导我们的决策。