决策树在执行递归二进制分裂时,选择一个自变量(例如X_j)和一个阈值(例如t),使得预测器空间被分割成区域{X|X_j < t}和{X|X_j >= t},从而导致成本函数的最大降低。
现在让我们假设我们有一个变量,其中的categorical值在{X}中。假设我们对它进行了标签编码,它的值在0到9之间(10个类别)。
==和!=的拆分?但是,算法如何知道它是一个分类特征呢?发布于 2019-08-09 00:05:07
你在所有方面都是对的:
是的,完全正确,你所提到的原因如下:
==和!=的拆分?但是,算法如何知道它是一个分类特征呢?是的,因为您正确地假设一个(真)范畴变量应该被比较,只为了相等,而不是顺序。
一般情况下,算法不能猜测特征的本质,在实现过程中必须有一些参数来提供这些信息。有些实现允许这样做,例如使用特征输入为“数字”或“名词”(分类)类型。。
再次更正,如果实现将所有功能视为数字值,则应该对分类特性执行此操作。
发布于 2019-12-13 11:11:01
一种热编码对树不是很好,因为它迫使树产生许多只能分离少数特性的稀疏分割,而且在基数较高的情况下尤其有害。从这个意义上说,二进制编码甚至数字编码可能有助于以较低的深度实现更好的分离,尽管它们确实会对某些类型的分裂产生偏见。
发布于 2019-08-08 20:30:17
无论如何,决策树必须将连续变量转换为有类别。对于数值变量,有不同的方法可以找到最佳的拆分。在0:9的范围内,这些值仍然有意义,需要像一个常规的连续变量一样被拆分。如果您将每个值看作单独的类别,那么基本上就是在每个可能的点上分割。
https://datascience.stackexchange.com/questions/57256
复制相似问题