应用一个热编码器后如何更改决策树的特征阈值?

问题描述

我的数据框中有一些字符串(女性x男性,区域等),我想拟合决策树。因此,我在所有这些分类功能中应用了一个热编码器-返回了一堆新的0和1列。

但是,决策树中要素的认阈值为0.5。这些分类列没有意义。

有人知道我如何在python中一次更改很多列的阈值(无需输入每列的名称)吗?

我想要类似的东西:列女性分为0和1。我想在计算统计信息(AUC,ROC,ACC等)之前进行所有这些操作。

ps:我也有一些数值数据(例如收入),所以我无法更改所有列的阈值 ps2:类别1和0在第6至30列中。

解决方法

嗯,二进制特征的阈值0.5确实有意义。 这只是意味着,当特征的值大于0.5(即1)时,则向右(例如)进行分割,特征的值小于0.5(即0),则决策树采用另一条路径(左)。

更改阈值没有任何意义:0到1之间的任何值都具有与0.5相同的效果,而小于0或大于1的值意味着不进行拆分并且所有观测值都到达相同的子节点。