Scikit决策树分类特征

Tom Mitchell的机器学习书中,有一个众所周知的问题,即根据以下数据构建决策树,其中“Play ball”是目标变量。

enter image description here

生成的树如下

enter image description here

我想知道是否可以使用scikit-learn构建这棵树。我发现了一些例子,其中决策树可以表示为

export_graphviz(clf) Source(export_graphviz(clf, out_file=None))

然而,看起来scikit-learn对于分类数据的处理效果不佳,数据必须被二值化成多个列。因此,结果上不可能构建出与图片中完全相同的树。这是正确的吗?


回答:

是的,使用scikit-learn不可能构建出这样的树,这是正确的。

主要原因是这是一棵三叉树(节点最多有三个子节点),而scikit-learn只实现了二叉树 – 节点只有两个或没有子节点:

cdef class Tree:    """Array-based representation of a binary decision tree....

然而,可以得到一个等价的二叉树形式

Outlook == Sunny    true  => Humidity == High        true  => no        false => yes          false => Outlook == Overcast        true  => yes        false => Wind == Strong            true  => no            false => yes 

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注