2016-09-30 39 views
-2

我基本上有一个python脚本,尝试各种降维技术与各种分类器相结合。 我试图收集每个分类信息最多的特征:降维后获得最丰富的功能

if 'forest' in type(classifier).__name__.lower(): 
      importances = classifier.feature_importances_ 
      coefs_with_fns = numpy.argsort(importances)[::-1] 
     else: 
      coefs_with_fns = sorted(zip(classifier.coef_, reduced_training.columns)) 

虽然这种工作在主,输出只是由一系列整数,其中(ⅰ假设)对应于列号的特征量阵列中之前的分类器。这使我想到了这个问题:这个数组是直接导致一个降维方法的结果,它抛弃了以前连接的所有列标签。

所以我的问题是:有没有办法将维度减少的结果追溯到原始数据集中的实际列/标签?

回答

1

你不行。

当您进行维数降低(如PCA)时,您会得到的是一些新的矢量,而不是原始特征集的子集。在这个过程中你会失去信息。您可以投影原始特征集的特征,从高维空间到新(较低)空间。你不能回去。

请注意,Dimensionality ReductionFeature Extraction不同于Feature Selection。在Feature Selection中选择原始功能集的一个子集。

编辑:如果您决定使用特征选择技术,请查看this answer以完成您想要的功能。