Scikit learn 是否可以在scikit学习决策树中设置分割值的精度?

Scikit learn 是否可以在scikit学习决策树中设置分割值的精度?,scikit-learn,random-forest,decision-tree,Scikit Learn,Random Forest,Decision Tree,当访问决策树中某个节点的tree\uU.threshold时,类型似乎是float。有没有办法将阈值的“精度”设置为整数? 在我的例子中,这些特性都是整数值,因此不需要对以这种精度定义的值进行拆分。否,scikit学习树在编译时为阈值使用double类型(请参阅)。固定的数据类型允许生成高效的C代码。您必须更改scikit学习源代码,从Cython.pyx文件重建C扩展名,然后安装修改后的scikit学习使用整数阈值。在引用的_tree.pyx文件中:来自numpy import float32

当访问决策树中某个节点的
tree\uU.threshold
时,类型似乎是
float
。有没有办法将阈值的“精度”设置为整数?
在我的例子中,这些特性都是整数值,因此不需要对以这种精度定义的值进行拆分。

否,scikit学习树在编译时为阈值使用
double
类型(请参阅)。固定的数据类型允许生成高效的C代码。您必须更改scikit学习源代码,从Cython.pyx文件重建C扩展名,然后安装修改后的scikit学习使用整数阈值。

在引用的_tree.pyx文件中:
来自numpy import float32 as DTYPE
。因此,它目前是
float
而不是
double
DTYPE是一种内部用于输入数据的类型,而不是用于阈值的类型;如果在该文件中搜索“threshold”,可以看到它使用了double。可能更好的链接是