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])
这意味着选择了第一个和第二个特征。
当我使用 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_
打印 ranking_
并查看:
ranking
# Output: array([1, 1, 3, 2])
这意味着选择了第一个和第二个特征。