应用一个热编码器后如何改变决策树的特征阈值?
Posted
技术标签:
【中文标题】应用一个热编码器后如何改变决策树的特征阈值?【英文标题】:How to change features threshold of decision trees after applying one hot encoder? 【发布时间】:2021-01-31 21:08:12 【问题描述】:我的数据框中有一些字符串(女性 x 男性、地区等),我想拟合决策树。因此,我在所有这些分类特征中应用了一个热编码器——它返回了一堆包含 0 和 1 的新列。
但是,决策树中特征阈值的默认值为 0.5。这对这些分类列没有意义。
有人知道我如何在 python 中一次更改大量列的阈值(无需输入每列的名称)吗?
我想要类似:女性列分为 0 和 1。我想在计算统计数据(AUC、ROC、ACC 等)之前完成所有这些操作。
ps:我还有一些数值数据(例如收入),所以我无法更改所有列的阈值 ps2: 分类 1 和 0 在第 6 到 30 列。
【问题讨论】:
【参考方案1】:嗯,二进制特征的阈值 0.5 确实有意义。 这只是意味着当特征取值 > 0.5(因此为 1)时,将拆分(比如说)向右,并且特征取值
更改阈值是没有意义的:0 到 1 之间的任何值都与 0.5 具有相同的效果,小于 0 或大于 1 的值意味着没有进行拆分,所有观察都转到同一个子节点。
【讨论】:
以上是关于应用一个热编码器后如何改变决策树的特征阈值?的主要内容,如果未能解决你的问题,请参考以下文章
机器学习:如何在具有分类和数字特征的 pandas 数据帧上应用一种热编码?