既然机器学习应用程序非常流行,那么了解机器学习项目的过程可以帮助我们更好地使用机器学习工具来处理实际问题。 1.了解实际问题,抽象为可以通过机器学习处理的数学问题。了解实际的业务场景是机器学习的第一步。机器学习中的特征工程和模型训练都非常耗时。可以深入理解要处理的问题,可以避免很多弯路。了解问题,包括识别可用数据,无论机器学习的目标是分类,回归还是聚类。如果都不成立,请考虑将其变成机器学习问题。引用机器学习分类可以帮助从问题中提取合适的机器学习方法。 2.获取数据获取数据包括获取原始数据,以及通过特征工程从原始数据中提取训练和测试数据。机器学习竞赛中的原始数据是直接提供的,但实际问题需要您自己获取。 “数据确定了机器学习结果的上限,并且算法仅尽可能地接近该上限”,这表明了数据在机器学习中的作用。通常,数据必须是“代表性的”。对于分类问题,数据偏斜不应太严重,并且不同类别中的数据数量不应存在几个数量级的差距。不仅如此,评估数据的大小,样本数和特征数还可以估算训练模型的内存消耗。如果数据量太大,请考虑减少训练样本,减少维数或使用分布式机器学习系统。 3.特征工程特征工程非常有能力体现机器学习者的技能。特征工程包括特征构建,特征提取以及从原始数据中选择特征,这非常特殊。深入了解实际业务场景中的问题以及丰富的机器学习经验可以帮助我们更好地处理功能工程。做得好的特征工程可以最大化原始数据的有效性,并且通常可以显着提高算法的效果和性能,有时可以使简单模型的效果优于复杂模型。数据挖掘的大部分时间都花在特征工程上,这是机器学习的非常基本且必要的步骤。数据预处理,数据清理,显着特征筛选,丢弃非显着特征等都是非常重要的。建议进行深入研究。 4.模型训练,诊断和调整有很多机器学习算法工具包,例如sklearn,使用非常方便。真正的测试水平是根据对算法的理解来调整参数,以优化模型。当然,那些能够自己实现算法的人是最好的。模型诊断中最重要的事情是判断过度拟合和不足拟合。常见的方法是绘制学习曲线并进行交叉验证。通过增加训练数据的数量,减少模型的复杂性,增加特征的数量和质量以及增加模型的复杂性以防止拟合不足,来降低过度拟合的风险。诊断后的模型需要进一步调整,调整后的新模型需要重新诊断。这是重复迭代和恒定逼近的过程,需要不断尝试才能达到最佳状态。 5.模型验证,错误分析模型验证和错误分析也是机器学习中非常重要的步骤。通过测试数据,验证模型的有效性,观察错误样本以及分析错误原因,我们经常可以找到提高算法性能的方法。突破点。错误分析主要是分析错误的来源以及数据,特征和算法。 6.模型融合一般来说,实践中只有这么多成熟的机器算法。提高算法精度的主要方法是模型的前端(特征工程,清洗,预处理,采样)和后端模型融合。模型融合在机器学习竞赛中非常普遍,可以在一定程度上从根本上提高效果。该博客中提到了模型融合的方法,主要包括一个人的统一融合,一票,线性融合和堆融合。