sklearn随机森林分类器能处理分类变量吗



我在2014年发现了这个线程,答案是否定的,sklearn随机森林分类器不能处理分类变量(或者至少不能直接处理(。答案在2020年改变了吗?

我想为我的模型提供gender功能。然而,gender可以取三个值:MFnp.nan。如果我将这一列编码为三个二分列,那么随机森林分类器如何知道这三列表示单个特征?

假设max_features=7。当训练一棵给定的树时,它会随机选择七个特征。假设选择了gender。如果gender被分为三列(gender_Mgender_Fgender_NA(,随机森林分类器会总是选择所有三列并将其作为一个特征,还是有可能只选择一个或两个?

如果max_features设置为低于实际列数的值(这是一种可取的方法,请参阅文档中max_features的推荐值(,则是的,对于随机林中的给定估计器,有可能只考虑伪列的子集。

但这并不一定太糟糕。在决策树中,一个特征被选择为给定级别的节点,目的是优化某些度量,独立于其他特征,也就是说,只考虑实际特征和目标。因此,在某种意义上,模型不会将这些伪列视为属于同一功能的

不过,一般来说,二进制特征的最佳方法是想出一个合适的方法来填充缺失的值,并将其转换为编码为0s和1s的单列。

最新更新