建立机器学习模型的通用步骤

建立机器学习模型的通用步骤

本文是为机器学习初学者准备的,目的是了解制作一个真正好的机器学习模型所涉及的不同步骤,以及应该避免哪些错误。本文并不是任何特定的语言,它涵盖了训练模型所需的所有必要步骤。

加载数据

将数据加载到DataFrame中(为了方便起见,我假设您的数据可以以表格形式存储)

将数据拆分为训练和验证数据

需要注意的一点是,我们在完成任何拟合,输入或任何其他预处理步骤之前拆分数据。验证旨在衡量模型对之前未考虑过的数据的处理方式。如果预处理步骤中一起使用(训练+验证)数据,则会导致验证的漏洞。这意味着,验证数据也会影响我们的预处理步骤/拟合,这是我们从不想要的,应该避免。

因此,我们在开始时将数据分为训练和验证。有很多方法可以做到,但最常用的方法之一是:train_test_split()

处理数据

处理意味着填充数据中的缺失值。缺失值可能是由于许多原因 - 有人不同意提供年收入,有人没有透露家庭成员的数量,传输过程中的数据丢失等。大多数算法,不能用于缺失数据。所以我们的目标是估计数据本身的缺失值并填充它们。

请记住,我们应该仅处理训练数据(出于上一步中描述的原因)。根据数据类型有不同的输入方法,例如均值/中位数方法(对于数值数据),one-hot编码(对于分类数据)等。选择任何方法并确保您的最终数据不包含任何遗漏值。

特征选择

特征选择是数据科学家工作流程中非常关键的组成部分。这意味着仅选择用于预测目标标签的相关特征,而不是考虑数据中存在的所有特征。在现实生活中,我们有100个,1000个甚至10,000个特征,所有特征对预测都不是同样重要。此外,当模型呈现具有非常高维度的数据时,通常会导致以下问题:

  • 训练时间随着特征的数量呈指数增长。
  • 随着特征数量的增加,模型的过度拟合风险也在增加。
  • 数据冗余不会以任何方式使模型受益,反而增加了复杂性。因此,冗余数据删除是最大化特征相关性同时减少特征冗余的重要部分。

有不同的特征选择方法,这有助于减少维数,而不会损失太多的总信息。这可以提高模型的整体精度,帮助理解特征及其重要性。

  • 删除低方差的特征
  • 单变量特征选择
  • 递归特征消除(RFE)

应用上述任何策略,并找到最有意义的特征子集。

训练你的模型

现在是训练模型的主要部分。训练模型意味着找到最合适的权重/参数,以便最大限度地分类(在分类问题中)或预测与实际值之间的误差最小(在回归问题中)。

选择您感兴趣的任何类型的模型 - 线性回归,决策树,随机森林,XGBoost或任何其他机器学习模型,并仅使用具有所选特征的新修改的训练数据训练您的模型。

在验证数据上测试您的模型

在验证数据上重复您的步骤:

  1. 使用计算和用于训练数据的相同参数来验证验证数据。
  2. 在估算的验证数据上,选择在训练数据的特征选择期间的相同特征。
  3. 继续使用验证数据预测模型的准确性。判断模型质量的方法有很多种 - mean_absolute_error,cross_validation_error等等。目的是最小化验证数据的输出误差。

调整你的模型

这是最棘手的部分,这里给出一个概述。一旦您尝试了不同的模型,不同的特征和不同的精度参数,并满足自己的机器学习模型质量,您的学习模型就可以用于实际数据了。请记住,您永远无法达到100%的准确率。

相关推荐