本文为译文。原文链接https://dzone.com/articles/decision-trees-vs-clustering-algorithms-vs-linear。
决策树、聚类和线性回归算法之间的差异已经在很多文章中得到了说明(比如这篇和这篇)。但是, 这些算法各自的适用场景并不总是清晰。本文解释了在哪些场景中可以使用这些机器学习算法,以及在为您的需求选择算法时应考虑哪些因素。
线性回归的一些用途如下:
线性回归的其他用例包括股票交易,电子游戏,体育博彩和航行时间预测。
决策树的一些用途如下:
聚类算法的一些用途如下:
看完以上用例,您已经了解了这些机器学习算法适用的场景,接下来我们讨论如何根据需要选择完美的算法。
让我们来谈谈分类和回归能力,错误率,数据兼容性,数据质量,计算复杂度,可理解性和透明度。
回归模型预测连续变量,例如一天的销售量或城市温度。
它的分类能力是受限的,因为它依赖多项式(如直线)来拟合数据集。
假设你用训练数据拟合一条直线。你想添加另一个数据点,但要拟合它,现有的模型就需要改变(阈值本身也可能改变)。这将发生在我们添加到模型里的每个数据点上; 因此,线性回归并不适合作为分类模型。
线性回归比另外两个算法更难降低错误率。
线性回归要求数据连续。
每个缺失值都意味着你将删除一个数据点,而这个点有可能本可以帮助你找到最优的回归。而在简单的线性回归中,异常值可能会严重破坏回归结果。
与决策树和聚类算法相比,线性回归通常在计算上并不昂贵。对于有X个特征的N个训练样例,复杂度通常是O(X^2),O(XN),或O(C^3)。
线性回归本质上就是很容易理解、很透明的。用简单的数学符号就可以表示它,人们理解起来也很容易。
决策树是将对象分类为某个已知类的一种方法。它是一种监督学习。
聚类算法可以进一步分类为“渴望学习”,因为它首先在训练数据集上建立出一个分类模型,然后对测试数据集进行分类。它在测试数据尚未到来时就进行了学习,此时它已经准备好了,因而很“渴望”分类那些测试数据。决策树的这个性质是它被称为“渴望学习”的原因。
决策树可以用于回归和分类。
决策树具有内存分类模型,不会带来高昂的计算成本,因为它们不需要经常进行数据库搜索。
决策树难以模拟任意的决策边界。
正是因为决策树基于规则的决策过程极其透明,它被广泛用于银行的贷款审批。
决策树能够处理错误严重或有缺失值的数据集。
决策树分批工作,它一次对一组训练数据进行建模。因此,它不适合进行增量学习。
它们的错误率相对较高,但比线性回归低。
决策树可以处理具有数值属性或标称属性的输入数据。
决策树广为人知的原因之一,正是它无需任何关于数据空间分布或分类器结构的假设。
如果存在复杂的、甚至人类都难以捉摸的因素,那么决策树往往会产生错误的结果。例如,在客户细分场景中,决策树很难返回准确的细分。
聚类算法通常用于找出多个数据在某些特征上具有的相似之处。它是无监督学习的一种。
然而,聚类算法不是渴望学习,也并不直接从训练数据中学习。它们在得到测试数据后才开始处理数据。
聚类算法不能用于回归任务。
聚类可以处理大多数类型的数据集,并忽略缺失的值。
它可以处理连续或离散数据值。
与决策树不同,聚类算法通常相对难以理解,透明度较低。通常情况下,它需要额外的具体的解释,才能让决策者明白它的计算结果。
聚类算法通常需要进行频繁的数据库搜索。因此,它通常在计算上是昂贵的。
聚类算法是基于实例的学习,因此一个经过微调的聚类算法可以很容易地包含任意复杂的决策边界。
聚类算法天然地支持增量学习。它比线性回归和决策树要合适得多。
聚类的测试错误率接近于贝叶斯分类器。
凭借它处理任意复杂边界的能力,聚类算法可以处理多个属性和它们之间的复杂交互关系。这是决策树不具备的能力。
希望本文可以帮助你使用这些算法!