python中有非二元决策树的库吗?

And*_*ra 5 python machine-learning scikit-learn

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

from sklearn.tree import DecisionTreeClassifier
dtree=DecisionTreeClassifier()
Run Code Online (Sandbox Code Playgroud)

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

而且动物园集有分类数据,所以我认为这里最好使用非二叉树(这不是重点,但如果我错了,请纠正我)。所以我的问题是: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}}
Run Code Online (Sandbox Code Playgroud)

ahl*_*der 1

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

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

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