Python sklearn如何基于特征选择选择分类特征

Python sklearn如何基于特征选择选择分类特征,python,scikit-learn,feature-selection,Python,Scikit Learn,Feature Selection,我的问题是,我想对具有多个分类变量的数据运行特征选择。我在pandas中使用了get_dummies来生成这些分类变量的所有稀疏矩阵。我的问题是sklearn如何知道一个特定的稀疏矩阵实际上属于一个特性,并选择/删除它们?例如,我有一个名为city的变量。该变量有纽约、芝加哥和波士顿三个级别,因此稀疏矩阵如下所示: [1,0,0] [0,1,0] [0,0,1] 我如何才能告知SKL,在这三个“专栏”中,实际上属于一个功能,即城市,而不会最终选择纽约,并删除芝加哥和波士顿 非常感谢你 你不能。

我的问题是,我想对具有多个分类变量的数据运行特征选择。我在
pandas
中使用了
get_dummies
来生成这些分类变量的所有稀疏矩阵。我的问题是sklearn如何知道一个特定的稀疏矩阵实际上属于一个特性,并选择/删除它们?例如,我有一个名为city的变量。该变量有纽约、芝加哥和波士顿三个级别,因此稀疏矩阵如下所示:

[1,0,0]
[0,1,0]
[0,0,1]
我如何才能告知SKL,在这三个“专栏”中,实际上属于一个功能,即城市,而不会最终选择纽约,并删除芝加哥和波士顿


非常感谢你

你不能。SICKIT学习中的特征选择例程将相互独立地考虑哑变量。这意味着他们可以将分类变量的域“修剪”到与预测相关的值。

我明白了,但这太糟糕了,这使得它不如R灵活:(然后使用R或自己编写特征选择器,最简单的想法是,如果选择了一个热编码特征,就选择一组完整的特征(问题是,可能很难控制所选功能的确切数量,如果您的类具有非常不同的元素数量,则可能会变得奇怪)。或者,正如@larsmans所指出的,如果你只关心预测分数,并且你的下一个处理步骤也适用于一个热编码,那么就按照功能选择器所做的去做。