gpt4 book ai didi

scikit-learn - clf.tree_.feature 的输出是什么?

转载 作者:行者123 更新时间:2023-12-04 08:04:35 24 4
gpt4 key购买 nike

我观察到 scikit-learn clf.tree_.feature 偶尔返回负值。例如-2。据我了解 clf.tree_.feature 应该返回功能的顺序。如果我们有特征名称数组['feature_one', 'feature_two', 'feature_three'] ,那么 -2 将指代 feature_two .我对负索引的使用感到惊讶。引用 feature_two 更有意义按索引 1。(-2 是便于人类消化的引用,而不是机器处理的引用)。我读对了吗?

更新:下面是一个例子:

def leaf_ordering():
X = np.genfromtxt('X.csv', delimiter=',')
Y = np.genfromtxt('Y.csv',delimiter=',')
dt = DecisionTreeClassifier(min_samples_leaf=10, random_state=99)
dt.fit(X, Y)
print(dt.tree_.feature)

这是文件 XY

这是输出:
    [ 8  9 -2 -2  9  4 -2  9  8 -2 -2  0  0  9  9  8 -2 -2  9 -2 -2  6 -2 -2 -2
2 -2 9 8 6 9 -2 -2 -2 8 9 -2 9 6 -2 -2 -2 6 -2 -2 9 -2 6 -2 -2
2 -2 -2]

最佳答案

通过阅读树生成器的 Cython 源代码,我们看到 -2 只是叶节点特征拆分属性的虚拟值。

Line 63

TREE_UNDEFINED = -2

Line 359
if is_leaf:
# Node is not expandable; set node as leaf
node.left_child = _TREE_LEAF
node.right_child = _TREE_LEAF
node.feature = _TREE_UNDEFINED
node.threshold = _TREE_UNDEFINED

关于scikit-learn - clf.tree_.feature 的输出是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39708304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com