Python ,特征选择

Python ,Feature selection

当我使用 RFE select 我的数据集中最重要的特征时,它 returns 所有特征,而不是返回我指定的特征数量

这里是简单的代码:

  from sklearn.svm import SVC
  from sklearn.datasets import load_digits
  from sklearn.feature_selection import RFE
  import matplotlib.pyplot as plt
  new_X=np.array([[1,2,3,3],[1,2,4,4],[3,1,3,4],[3,1,4,5]])
  new_Y=np.array([1,1,0,0])
  svc = SVC(kernel="linear", C=1)
  rfe = RFE(estimator=svc, n_features_to_select=2, step=1)
  rfe.fit(new_X, new_Y)
  ranking = rfe.ranking_
  len(ranking)

你看错了。

rfe.ranking_ 将始终return 所有功能的排名。但是所选特征在 ranking_

中的值为 1

打印 ranking_ 并查看:

ranking
# Output: array([1, 1, 3, 2])

这意味着选择了第一个和第二个特征。