gpt4 book ai didi

python - 如果两个特征与目标变量完全相关,决策树如何在它们之间选择作为要 split 的根节点?

转载 作者:行者123 更新时间:2023-11-30 09:06:57 25 4
gpt4 key购买 nike

我有一个数据集,由三列组成:A、B 和 X。

A和B是特征列,X是目标列。它们都是数值。我正在尝试预测哪个功能对 X 做出了贡献。

数据集如下

A B X
1 1 0
2 2 1
2 2 1
2 2 1
1 1 0

特征 A 和 B 与我们的目标 X 直接相关。Decision Tree Scikit Learn 的依据是什么?设法选择根节点?

我有一个情况,当 B 应该是根节点时,它总是选择 A 作为根节点,而不是 B 。我试图了解它是如何做到这一点的,以便我可以找到问题的解决方案。

更新

建议使用样本权重,并添加模拟数据

  in A B X
0 1 1 0
1 2 2 1
2 2 2 1
3 2 2 1
4 1 2 0 <- How to increase weights of these instances
5 1 2 0 <- How to increase weights of these instances
6 1 2 0 <- How to increase weights of these instances
7 2 1 1

我不知道如何使用它来定位它

dt.fit(X, y,sample_weight= )

最佳答案

您链接到的文档页面是这样说的:

The features are always randomly permuted at each split. Therefore, the best found split may vary, even with the same training data and max_features=n_features, if the improvement of the criterion is identical for several splits enumerated during the search of the best split. To obtain a deterministic behaviour during fitting, random_state has to be fixed.

因此,如果多个特征的信息量完全相同(这就是您问题中的情况),那么它看起来将是完全随机的。

<小时/>

如果你真的想强制分类器在这种情况下优先考虑基于列B的分割而不是基于列A的分割,我确实有一个......而不是'' hacky”的想法你可以尝试一下。

fit() 函数 ( documentation here ) 有一个可选的 sample_weight 参数,文档对此是这样描述的:

sample_weight : array-like, shape = [n_samples] or None

Sample weights. If None, then samples are equally weighted. Splits that would create child nodes with net zero or negative weight are ignored while searching for a split in each node. Splits are also ignored if they would result in any single class carrying a negative weight in either child node.

您可以尝试为数据中实际存在的每个实例分配权重 1.0,然后向数据集中添加一个额外的“人工”实例,以使其中一个特征的分割变得不那么纯粹比另一个。例如,您可以复制一个实际实例(例如最后一个),但修改 A 功能,以便基于 A 的拆分变得不那么纯粹。

例如,对于您在问题中给出的数据集,您可以添加一个带有 A = 2B = 1X = 的人工实例0 。然后,为了最大限度地减少此类人工实例对其余训练的影响,我建议为其指定一个非常低的权重(例如 0.01)。

我怀疑这可能有效,但就像我说的,它非常“hacky”,并且可能会对分类器的质量产生一些负面影响,因为您添加的数据不真实。

关于python - 如果两个特征与目标变量完全相关,决策树如何在它们之间选择作为要 split 的根节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49654883/

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