【问题标题】:DecisionTreeClassifier how to find next valueDecisionTreeClassifier 如何找到下一个值
【发布时间】:2018-04-10 14:26:37
【问题描述】:

从训练集中构建决策树后如何找到下一个值? 在我的示例中,当我输入 B 和 C 值时,我需要知道 A 字段的下一个值的概率。

df = pd.DataFrame(np.random.randint(low=0, high=10, size=(5, 3)),
                    columns=['a', 'b', 'c'])

>>>
    a   b   c
0   2   8   8
1   4   2   9
2   1   0   7
3   5   1   7
4   6   0   2

X = df[ ['b','c'] ]
Y = df[ ['a'] ]

clf = DecisionTreeClassifier(random_state=241)
clf.fit(X, Y)

如果 B=8, C=8,如何找出字段 A 的下一个值的概率?

【问题讨论】:

  • 如果你想预测一个数字,你应该使用DecisionTreeRegressor。

标签: python machine-learning scikit-learn


【解决方案1】:

您可以简单地使用clf.predict_proba()。例如:

clf.predict_proba([[8,8]])

将返回一个浮点向量,表示数据是“a”列中每个唯一值的概率。

【讨论】:

  • 感谢您的回答。但是当我执行此函数时,我看到:“array([[1., 0., 0.]])” 但我认为它应该是概率的数量和百分比,例如:示例:下一个值将是 2,可能为 95% ??(来自 DOC,predict_proba 应该只返回 2 个参数:形状数组 = [n_samples, n_classes])
  • @Miraslav 这意味着输入具有第一个标签的概率是 100%,这可能只是一个极端情况,因为您使用的示例非常简单。
  • 我现在明白了,谢谢!但是是否也可以看到结果的标签?
  • @Miraslav 可以使用clf.predict([[8,8]]) 获取概率最大的标签。您还可以使用clf.classes_ 以与clf.predict() 的输出相同的顺序获取类标签。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-25
  • 2020-09-27
  • 1970-01-01
  • 1970-01-01
  • 2021-02-28
  • 1970-01-01
相关资源
最近更新 更多