我基本上有一个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))
虽然这在原理上起作用,但输出只是一系列整数,(我假设)对应于分类器之前的特征数组中的列号。这让我想到了这个问题:这个数组是一个降维方法的直接结果,它抛弃了所有以前附加的列标签。
所以我的问题是:有没有办法将维数减少的结果追溯到原始数据集中的实际列/标签?
答案 0 :(得分:1)
你不能。
当您进行降维(如PCA)时,您得到的是一些新的向量而不是原始要素集的子集。在这个过程中你会失去信息。您可以投影原始要素集的要素,从高维空间到新(较低)空间。你不能回去。
请注意,Dimensionality Reduction
或Feature Extraction
与Feature Selection
不同。在Feature Selection
中,您可以选择原始要素集的子集。
编辑:如果您决定使用特征选择技术,请查看this answer以执行您想要的操作。