我正在使用递归功能排名功能我scikit-learn(http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.RFECV.html#sklearn.feature_selection.RFECV)。但是,我想使用LDA分类器作为估算器。 我有这段代码:
X, y = make_friedman1(n_samples=50, n_features=10, random_state=0)
estimator = LDA()
#selector = RFE(estimator,5,step = 1)
selector = RFECV(estimator, cv = 5,step = 1)
selector=selector.fit(X,y)
print selector.support_
print selector.ranking_
当我执行此代码时,我收到错误。如果我用RFE执行相同的代码,那就没问题。或者,如果我使用SVR分类器,它可以正常工作。我的问题是,当我调用方法LDA()时,如果我得到一个分类器.RFECV将使用“估算器”中的分类器来对特征进行排名。 LDA有什么问题?
答案 0 :(得分:1)
来自the docs:
sklearn.datasets.make_friedman1
: 生成“弗里德曼#1”回归问题
(强调补充)
您无法在回归问题上明智地使用分类器。 SVR
工作的原因不是分类器学习者,而是回归学习者。