机器学习问题中要遵循的一般步骤
机器学习是一种自动化分析模型构建的数据分析方法。简单来说,机器学习就是“让机器学习”。机器学习是一个结合了许多传统学科的新领域。它是人工智能的一个子集。
机器学习是一种自动化分析模型构建的数据分析方法。简单来说,机器学习就是“让机器学习”。机器学习是一个结合了许多传统学科的新领域。它是人工智能的一个子集。
什么是机器学习管道?
- ML 管道通过提供有关如何继续使用机器学习模型的系统方法来表达工作流程。
- ML 流水线使机器学习过程自动化,并且遵循流水线使 ML 模型的系统化和简单化。
这是 ML 管道的示意图:
- 机器学习管道从数据收集和集成开始。收集数据后,完成数据的分析和可视化。此外,执行最关键的步骤特征选择和工程,然后训练模型。在该模型之后,评估完成,我们的模型准备好进行预测!
- 要很好地理解管道,请考虑为公司的客户服务构建 ML 模型。考虑一家 XYZ 公司,作为一家在线书店,它向客户提供书籍和 kindle,而这家公司想要改进的客户服务。它希望如果客户因任何类型的问题拨打热线电话,比如更换书籍、投诉购买的 Kindle 或其他一些服务。该公司希望确保在最短的时间内将客户的电话转给正确的服务人员,并且该过程应该是顺利的。为了构建公司客户服务的模型,我们将使用 ML 管道对模型进行系统开发。
1. 数据收集与整合:
- ML 管道的第一步涉及数据的收集和数据的集成。
- 收集的数据作为模型的输入(数据准备阶段)
- 输入称为特征。
- 在我们考虑的示例中收集的数据涉及大量数据。收集的数据应回答以下问题 - 过去的客户历史是什么?过去的订单是什么?客户是我们书店的主要成员吗?客户有kindle吗?客户之前有投诉吗?最多的投诉是多少?
- 数据越多,我们的模型就越好。
- 收集数据后,我们需要整合和准备数据。
- 数据集成意味着将所有相关数据放在一起。
- 然后数据准备阶段开始,我们手动和批判性地探索数据。
- 数据准备阶段告诉开发人员这是符合预期的数据。是否有足够的信息来做出准确的预测?数据是否一致?
2. 探索性数据分析和可视化:
- 准备好数据后,开发人员需要将数据可视化,以便更好地理解数据集中的关系。
- 当我们看到数据时,我们可以注意到我们在第一阶段可能没有注意到的看不见的模式。
- 它可以帮助开发人员轻松识别丢失的数据和异常值。
- 数据可视化可以通过绘制直方图、散点图等来完成。
- 可视化完成后,数据将被分析,以便开发人员可以决定他可以使用哪种 ML 技术。
- 在所考虑的示例情况下,可以使用无监督学习来分析客户购买习惯。
3. 特征选择和工程:
- 特征选择意味着选择开发人员想要在模型中使用的特征。
- 应选择特征,以便它们之间存在最小相关性,而所选特征和输出之间存在最大相关性。
- 特征工程是将原始数据处理成新的潜在数据的过程,其中包含许多特征。
- 简单来说,特征工程就是将原始数据转化为有用的数据,或者最大限度地利用原始数据。
- 特征工程可以说是 ML 管道中最关键和最耗时的步骤。
- 特征选择和工程回答问题——这些特征在我们的预测中是否有意义?
- 它处理数据的准确性和精度。
4.模型训练:
- 前三个步骤完全完成后,我们进入模型训练阶段。
- 这是开发人员根据数据训练模型的正式第一步。
- 为了训练模型,数据分为三部分——训练数据、验证数据和测试数据。
- 大约 70%-80% 的数据进入用于训练模型的训练数据集。
- 验证数据也称为开发集或开发集,用于避免过度拟合或欠拟合情况,即启用超参数调整。
- 超参数调优是一种用于对抗过拟合和欠拟合的技术。
- 在模型评估期间使用验证数据。
- 大约 10%-15% 的数据用作验证数据。
- 其余 10%-15% 的数据进入测试数据集。测试数据集用于模型准备后的测试。
- 在拆分数据以获得准确模型的同时随机化数据集至关重要。
- 可以使用Python中的 Scikit learn 随机化数据。
5.模型评估:
- 在模型训练、验证或开发数据用于评估模型之后。
- 为了获得对测试数据的最准确预测,可用于进一步的模型评估。
- 在模型评估后创建混淆矩阵,以数值计算准确度和精度。
- 在模型评估之后,我们的模型进入最后一个阶段,即预测。
6.预测:
- 在预测阶段,开发人员部署模型。
- 模型部署后,它就可以进行预测了。
- 对训练数据和测试数据进行预测,以更好地理解构建模型。
模型的部署不是一次性的练习。随着越来越多的数据生成,模型会根据新数据进行训练,再次评估并再次部署。模型训练、模型评估和预测阶段相互循环。