2016-09-30 40 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以完成您想要的功能。