DecisionTreeClassifier
当然可以进行多类分类。“大于”恰好在该链接中进行了说明,但得出该决策规则是其对信息增益或基尼系数的影响的结果(请参阅该页后面的内容)。决策树节点通常具有二进制规则,因此它们通常采用某个值大于另一个值的形式。诀窍是转换您的数据,使其具有可比较的良好预测值。
需要明确的是,多类意味着您的数据(例如文档)将被归类为一组可能的类中的一个。这与多标签分类不同,在多标签分类中,文档需要用一组可能的类别中的几个类别进行分类。大多数 scikit-learn 分类器都支持多类,并且它有一些元包装器来完成多标签。您还可以使用概率(使用该predict_proba
方法的模型)或决策函数距离(使用该decision_function
方法的模型)进行多标签。
如果您说您需要为每个数据应用多个标签(例如 ['red','sport','fast'] 到汽车),那么您需要为每个可能的组合创建一个唯一标签以使用树木/森林,这将成为您的 [0...K-1] 类集。但是,这意味着数据中存在一些预测相关性(对于汽车示例中的颜色、类型和速度的组合)。对于汽车,可能有红色/黄色的快速跑车,但不太可能用于其他 3 路组合。数据可能对少数人有很强的预测性,而对其他人则非常弱。最好使用 SVM 或LinearSVC和/或使用OneVsRestClassifier或类似方法进行包装。