gpt4 book ai didi

python - 是否可以在 scikit-learn 的 DecisionTreeRegressor 中检索每个叶子中的火车行 ID?

转载 作者:行者123 更新时间:2023-11-28 18:34:47 25 4
gpt4 key购买 nike

目前,我可以检索我在训练样本上生长的每个节点的 ID,我的测试样本的每一行最有可能属于:

tree.tree_.apply(np.array(X_test).astype(np.float32)) 其中 X_test 表示决策树的输入。

但是,对于我生长的树的每一片叶子,我想获取其中包含的训练样本的 ID。这样我就可以知道哪个训练样本与一个测试输入最相似。

最佳答案

我最终对我的训练样本使用了“apply”函数来获取它所属的 leaf_id。

def get_nearest_points(self, tr, input_train):
inside_leaves = {}
tmp = tr.tree_.apply(np.array(input_train).astype(np.float32))
leaves_list = set(tmp)

for leaf in leaves_list:
inside_leaves[leaf] = [idx for idx, elt in enumerate(tmp) if elt == leaf]
return inside_leaves

inside_leaves 现在是一个字典,其中包含每个 leaf_id 包含此叶中涉及的行的列表。

关于python - 是否可以在 scikit-learn 的 DecisionTreeRegressor 中检索每个叶子中的火车行 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33545888/

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