特征选择的多标签分类(scikit学习)(Feature selection for multila

2019-09-02 01:43发布

我试图用卡方法在做特征选择scikit学习(sklearn.feature_selection.SelectKBest)。 当我试图将其应用到多标记问题,我得到这样的警告:

UserWarning: Duplicate scores. Result may depend on feature ordering.There are probably duplicate features, or you used a classification score for a regression task. warn("Duplicate scores. Result may depend on feature ordering."

为什么appearning以及如何正确地运用特征选择是这种情况?

Answer 1:

代码警告您任意搭配断裂,可能需要进行,因为一些功能具有完全相同的分数。

也就是说,特征选择实际上并不为多标记开箱工作; 目前可以做的最好的搭配特征选择和分类一起在一个管道,再喂,要一个多标记元估计。 实施例(未测试):

clf = Pipeline([('chi2', SelectKBest(chi2, k=1000)),
                ('svm', LinearSVC())])
multi_clf = OneVsRestClassifier(clf)

(这个警告,我相信,发出即使绑功能实际上不是第k和(k + 1)个,我认为,它通常可以忽略。)



Answer 2:

我知道这个题目是有点老,但以下为我工作:

clf = Pipeline([('chi2', SelectKBest(chi2, k=1000)),
            ('lasso', OneVsRestClassifier(LogisticRegression()))])


文章来源: Feature selection for multilabel classification (scikit-learn)