【发布时间】:2017-11-16 21:09:48
【问题描述】:
访问决策树中节点的tree_.threshold 时,类型似乎是float。有没有办法将阈值的“精度”设置为整数?
在我的例子中,这些特征都是整数值,所以没有必要对以这种精度定义的值进行拆分。
【问题讨论】:
标签: scikit-learn random-forest decision-tree
访问决策树中节点的tree_.threshold 时,类型似乎是float。有没有办法将阈值的“精度”设置为整数?
在我的例子中,这些特征都是整数值,所以没有必要对以这种精度定义的值进行拆分。
【问题讨论】:
标签: scikit-learn random-forest decision-tree
不,scikit-learn 树在编译时使用double 类型作为阈值(请参阅https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx)。固定数据类型允许生成高效的 C 代码。您必须更改 scikit-learn 源代码,从 Cython .pyx 文件重建 C 扩展,然后安装修改后的 scikit-learn 以使用整数阈值。
【讨论】:
from numpy import float32 as DTYPE。所以它目前是float 而不是double