【发布时间】:2023-03-09 20:57:01
【问题描述】:
我找到了this thread from 2014,答案是不,sklearn 随机森林分类器不能处理分类变量(或者至少不能直接处理)。 2020年的答案有变化吗?
我想提供 gender 作为我模型的功能。但是,gender 可以采用三个值:M、F 和 np.nan。如果我将此列编码为三列二分法,随机森林分类器如何知道这三列代表一个特征?
想象max_features = 7。在训练给定树时,它会随机选择七个特征。假设选择了gender。如果gender 被分成三列(gender_M、gender_F、gender_NA),随机森林分类器是否总是选择所有三列并将其计为一个特征,或者是否有机会只选择一两个?
【问题讨论】:
-
任何模型都可以处理正确编码的分类数据(例如 One0hot 编码)
-
是的,但是一种热编码会将一列变成多列...
-
是的。而且我认为这没有任何害处。
-
如果在训练树时只选择了其中一列,则树将仅根据整个类别范围中的 一个 类别进行拆分。
-
@DivyanshuSrivastava 夸大特征数量确实是个问题;我建议你仔细想想
标签: python machine-learning scikit-learn random-forest