原文: https://machinelearningmastery.com/steps-to-the-best-machine-learning-algorithm/
您如何为数据集选择最佳算法?
机器学习是一种归纳问题,其中一般规则是从域中的特定观察数据中学习的。
不可能(不可能?)知道使用什么表示或什么算法来最好地从特定问题的数据中学习,而不必知道问题,以至于您可能不需要机器学习开始。
那么你应该在给定的问题上使用什么算法呢?这是一个试错的问题,或搜索最佳表示,学习算法和算法参数。
在这篇文章中,您将发现简单的 3 步方法,用于为业务中的一些最佳预测性建模者提出的问题找到最佳算法。
步骤到最好的机器学习算法 照片由 David Goehring ,保留一些权利。
Max Kuhn 是插入符号包的创建者和拥有者,它为 R 中的预测性建模提供了一套工具。它可能是最好的 R 包,也是 R 是严重竞争的首选的原因之一和应用机器学习。
在他们出色的书“ Applied Predictive Modeling ”中,Kuhn 和 Johnson 概述了为特定问题选择最佳模型的过程。
我将他们建议的方法解释为:
- 从最不易解释且最灵活的模型开始。
- 研究不太透明的简单模型。
- 考虑使用最简单的模型,该模型可以合理地逼近更复杂模型的表现。
他们评论说:
使用此方法,建模者可以在确定模型之前发现数据集的“表现上限”。在许多情况下,一系列模型在表现方面是等效的,因此从业者可以权衡不同方法的好处......
例如,以下是您可以在下一次一次性建模项目中使用的此方法的一般解释:
- 调查一系列复杂模型并建立表现上限,例如:
- 支持向量机
- 梯度增压机
- 随机森林
- 袋装决策树
- 神经网络
- 研究一套更简单,更易解释的模型,例如:
- 广义线性模型
- LASSO 和弹性网正则化广义线性模型
- 多元自适应回归样条
- k-最近邻居
- 朴素贝叶斯
- 从(2)中选择最接近(1)精度的模型。
我认为这是一个很好的方法,可用于一次性项目,您需要快速获得良好的结果,例如在几分钟或几小时内。
- 您可以很好地了解模型中问题的准确率
- 您有一个更容易理解并向他人解释的模型。
- 你有一个相当高质量的模型非常快(如果你花了几天或几周,可能是问题可达到的前 10 到 25%)
我不认为这是解决所有问题的最佳方法。也许方法的一些缺点是:
- 更复杂的方法运行速度较慢并返回结果。
- 有时您希望复杂模式优于较简单的模型(例如,精度胜过可解释性的域)。
- 表现上限是首先进行的,而不是最后一次,因为可能有时间,压力和动力从最好的方法中提取最多。
有关此策略的更多信息,请参阅应用预测性建模的第 4.8 节“在模型之间选择”,第 78 页。对于使用 R 的任何严肃的机器学习从业者来说,必须有书。
您是否有找到问题的最佳机器学习算法的方法?发表评论并分享更广泛的笔画。
你用过这种方法吗?它对你有用吗?
任何问题?发表评论。