1

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

这是简单的代码:

  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)
4

1 回答 1

0

你在看错误的东西。

rfe.ranking_将始终返回所有特征的排名。但所选特征的值为 1ranking_

打印ranking_并查看:

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

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

于 2018-02-23T14:55:12.707 回答