首页 > 解决方案 > python中是否有用于非二元决策树的库?

问题描述

所以我正在寻找一些实现非二元决策树算法的库。例如,我想使用一些决策树算法对动物园集( https://www.kaggle.com/uciml/zoo-animal-classification/data )进行分类。到目前为止,我发现了有关 sklearn 方法(DecisionTreeClassifier)的信息:

from sklearn.tree import DecisionTreeClassifier
dtree=DecisionTreeClassifier()

但它构建了二叉树: 结果树的一部分

而且zoo set有分类数据,所以我认为这里最好使用非二叉树(这不是重点,但如果我错了请纠正我)。所以我的问题是:Python 中是否有任何库可以构建决策树,如下图所示: 动物园数据集的非二元决策树的一部分

即使没有应用任何绘图工具的输出将是一个简单的字典,也可以,如下所示:

{'legs': {0: {'fins': {0.0: {'toothed': {0.0: 7.0, 1.0: 3.0}},
                       1.0: {'eggs': {0.0: 1.0, 1.0: 4.0}}}},
          2: {'hair': {0.0: 2.0, 1.0: 1.0}},
          4: {'hair': {0.0: {'aquatic': {0.0: 3.0,
                                         1.0: {'toothed': {0.0: 7.0,
                                                           1.0: 5.0}}}},
                       1.0: 1.0}},
          5: 7.0,
          6: {'aquatic': {0.0: 6.0, 1.0: 7.0}},
          8: 7.0}}

标签: pythonmachine-learningscikit-learn

解决方案


您想要的只是表示二叉树的更具体的方式。

您显示的树可以重写为二叉树。

如果您有分类数据,只需使用OneHotEncoder.


推荐阅读