基于C#的机器学习--机器学习建模的基础 (3)

基于C#的机器学习--机器学习建模的基础

左:分类,中:回归,右:聚类

最后,我们必须考虑如何测试和评估我们尝试的学习算法的性能。将数据集分成训练集和测试集,并运行交叉验证是测试和比较ML模型最常用的两种方法。分裂成两个子集的数据集的目的,一个用于训练,一个用于测试。K-fold交叉验证是评估模型性能的另一种方法。它首先将数据集分割成大小相等的K个子集,并将其中一个子集留作测试,其余的进行训练。例如,在3倍交叉验证中,数据集将首先分成三个大小相等的子集。在第一次迭代中,我们将使用包#1和#2来训练我们的模型,并在包#3上进行测试。在第二个迭代中,我们将使用包#1和#3在包#2上训练和测试我们的模型,在第三个迭代中,我们将使用包#2和#3在包#1上训练和测试我们的模型。然后,我们将性能度量进行平均,以估计模型的性能:

改进结果:到目前为止,我们已经有了一个或两个表现相当不错的候选模型,但是可能仍然存在一些改进的空间。也许我们的候选模型在某种程度上过度拟合了,他们可能不符合我们的目标,有多种方法可以帮助提高我们的模型和他们的性能如下:

超参数调优:我们可以调优模型的配置,以潜在地提高性能结果。例如,对于随机森林模型,我们可以调整树的最大高度或森林中的树的数量。对于向量机,我们可以调整内核或成本值。

集成:集成是将多个模型的结果结合起来以获得更好的效果。集成是同样的算法在不同数据集的子集进行训练,提高结合不同模型相同的训练集,进行训练和叠加,模型的输出作为输入的元模型,学习如何结合子模型的结果。

部署:一旦准备好了我们的模型,就到了让它们在生产环境中运行的时候了。确保在我们的模型完全部署之前,已经进行了大量的测试。为我们的模型开发监控工具也是一个很好的方法,因为随着输入数据的发展,模型性能会随着时间的推移而下降。

总结

在本章中,我们学习了开发ML模型的步骤以及每个步骤中的常见挑战和任务。在接下来的章节中,我们将遵循这些步骤来完成我们的项目,我们将更详细地探索某些步骤,特别是在构造特征、模型选择和模型性能评估方面。我们将根据要解决的问题类型,讨论在每个步骤中可以应用的各种技术。

在下一章中,我们将直接应用ML的基本原理来构建垃圾邮件过滤的ML模型。我们将按照本章讨论的构建ML模型的步骤,将原始电子邮件数据转换为结构化数据集,分析电子邮件文本数据以获得一些见解,最后构建预测电子邮件是否是垃圾邮件的分类模型。在下一章中,我们还将讨论一些常用的分类模型评估指标。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjxfg.html