【问题标题】:Scikit-learn 1 node decision tree?Scikit-learn 1 节点决策树?
【发布时间】:2017-03-26 22:53:52
【问题描述】:

我对这个问题有点困惑,我创建了一个列表列表(它被传递到 numpy 的 asarray 中以存储在 X 中),其中每个子列表是样本的特征(每列中的当前值相同因为我还没有将每个特征解析为整数)。然后通过 numpy.fill 创建我的 y 变量,并使用相同的值进行测试。我将这 2 个 numpy 数组传递给 fit(X,y) 其中 X =

array([[ 0,  1,  2, ..., -1, -1, -1],
   [ 0, -1,  2, ..., -1, -1, -1],
   [ 0, -1, -1, ..., -1, -1, -1],
   ..., 
   [ 0, -1, -1, ..., -1, -1, -1],
   [ 0, -1, -1, ..., -1, -1, -1],
   [ 0, -1,  2, ..., -1, -1, -1]])

和 y =

[4 4 4 ..., 4 4 4]

然而,结果输出是一个基尼值为 0 的 1 节点决策树。想知道是否有人可以解释为什么会发生这种情况。谢谢!

【问题讨论】:

  • 作为附录,不能保证数据中存在特征,所以我用 -1 填充了每个数组,但是仍然需要弄清楚如何估算我的数组(这可能是我的答案问题)

标签: python numpy scikit-learn


【解决方案1】:

据我了解,所有样本的目标值为 4。我想这棵树只有一个节点,它预测测试数据的目标值为 4,因为所有训练数据的目标值为 4。 gini index 也是 0,因为所有样本都属于同一类。希望对您有所帮助!

【讨论】:

  • 感谢您的精彩解释!我做了一些测试,这似乎是正确的。
  • 很高兴知道它有帮助!
猜你喜欢
  • 2017-01-21
  • 2019-12-11
  • 2017-02-23
  • 2020-04-05
  • 2020-08-29
  • 1970-01-01
  • 2015-03-05
  • 2014-06-26
相关资源
最近更新 更多