一个热编码数据的决策树直觉



在试图了解scikit决策树对onehot编码数据的行为时,我有以下内容:

X = [[1,0,1] , [1,1,1]]
Y = [1,2]
clf = tree.DecisionTreeClassifier(criterion='entropy')
clf = clf.fit(X, Y)
print(clf.predict([1,0,1]))
print(clf.predict([1,1,1]))
print(clf.predict_proba([1,0,1]))
print(clf.predict_proba([1,1,1]))

其中返回:

[1]
[2]
[[ 1.  0.]]
[[ 0.  1.]]

应返回以下predict_proba http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier.predict_proba 状态的阅读文档:

p :形状数组 = [n_samples, n_classes] 或n_outputs列表 这样的数组如果n_outputs> 1。输入的类概率 样品。类的顺序对应于属性中的顺序 类_。

应返回给定输入值的正确性概率?如何返回值 [[ 1. 0.]] , [[ 0. 1.]] 对应于输入样本的类概率 ?

例如

clf.predict_proba([1,0,1])给出以下内容:

[[         1.                          0.        ]]                # sample 1
#          ^                           ^
# probability for class 1     probability for class 2

所以预测说这个样本[1,0,1]是1类的概率是1,是2类是0。因此,预测应该是1clf.predict([1,0,1])给你的相同。这也可以是其他值,例如[[0.8, 0.2]],因此概率最大的类被视为预测值。

相关内容

  • 没有找到相关文章

最新更新