我的数据包含了很多分类数据,例如年龄、肤色、体型、种族、性别等。问题是在scikit-learn中,我们无法像R那样将特征设置为因子,因此我们必须将分类数据转换为虚拟列。如
color size
green M
red L
blue XL
转换为
color_blue color_green color_red size_L size_M size_XL
0.0 1.0 0.0 0.0 1.0 0.0
0.0 0.0 1.0 1.0 0.0 0.0
1.0 0.0 0.0 0.0 0.0 1.0
但是,我想将功能按颜色或大小进行排名,而不是color_blue或size_M。有什么可能的方法可以做到这一点吗?或者我可以从每个相关功能的排名分数中总结值?(喜欢颜色列的分数应该是(绿蓝红分数)的总和)
请注意,我使用ExtraTreesClassifier进行排名分数计算。
如果我理解正确,您想要的是能够按列上的值对列进行排序。也许试试 OrdinalEncoder()?它采用列并按学习顺序分配一个数字(或者您可以按所需顺序向其传递列表)。