【问题标题】:sklearn predict_proba not macthing class labelssklearn predict_proba 不是 macthing 类标签
【发布时间】:2018-03-03 20:58:55
【问题描述】:

我已经在我的数据集上训练了一个 RandomForestClassifier,以从一段文本中预测 8 个不同的主题。给定示例的数据集如下所示

X_train = [[0,0,0,0,0,1,0,0,1,0],
           [0,1,0,0,0,0,0,0,0,1],
           [1,0,0,0,0,0,0,0,0,1]]
          # This is a bag of word

y_train = ["A", "B", "C"] 
# 8 categories in total

如果我运行以下代码

rdf = RandomForestClassifier(n_estimators = 100)
rdf_fitted = rdf.fit(X_train, y_train)
print rdf_fitted.predict(x_test[0])
print rdf_fitted.predict_proba(x_test[0])
print rdf_fitted.classes_

我得到了一个奇怪的结果

["B"]
[0.7, 0.2, 0.1]
["A","B","C"...]

基本上,预测标签(在本例中为“B”)与 predict_proba 预测不匹配,这表明“A”的概率最高。

你知道是什么原因造成的吗?

【问题讨论】:

  • 当我运行你的代码时,它对我有用。您还可以添加您的 x_test[0] 吗?
  • 我已经更正了您代码中的一些语法错误。除非您将确切的代码与 x_test[0] 一起发布您正在使用的内容,否则我们无法提供帮助。
  • 非常感谢。我在周末再次尝试了这个,现在它产生了正确的结果。看来问题是由我在 Jupyter Notebook 中执行代码的顺序中的错误引起的。对不起!

标签: python machine-learning scikit-learn classification


【解决方案1】:

这个问题是由我在 Jupyter Notebook 设置中的错误引起的

【讨论】:

    猜你喜欢
    • 2018-06-08
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 2016-12-04
    • 2017-04-06
    • 2018-08-14
    • 2017-10-11
    • 2020-05-14
    相关资源
    最近更新 更多