0

最近我正在研究Dimension Reduction方法,我發現python包「sklearn.feature_selection」看起來很有用,但問題在於SelectPercentile.fit方法沒有解釋它如何計算得分函數。SelectPercentile得分函數如何工作?

link

有誰知道它是如何工作的?先謝謝了。例如,如果我爲「SelectPercentile」選擇「SelectFdr」,並且SelectFdr方法的標準取決於每個要素的每個p值,我如何知道「SelectFdr」設置假設或定義錯誤率的方法?

SelectFdr方法的訂閱是「根據估計的錯誤發現率選擇功能」。所以它首先必須使用一些分類方法,因此它可以計算錯誤發現率,我的問題是「SelectPercentile」中的分類方法。

+0

我覺得用戶可以在構造函數中提供自己的分數函數。默認函數是[f_classif](http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.f_classif.html#sklearn.feature_selection.f_classif)。 –

回答

0

你可以看到源代碼評論請在下面的鏈接: https://github.com/scikit-learn/scikit-learn/blob/ef5cb84a/sklearn/feature_selection/univariate_selection.py#L368

您可以選擇分數的功能參數。如果您不確定函數,則默認函數是ANOVA。

+0

例如,如果我爲「SelectPercentile」選擇「SelectFdr」,並且SelectFdr方法的標準取決於每個要素的每個p值。我如何知道「SelectFdr」設置假設或定義錯誤率的方法? A –

+0

我明白了,謝謝! –

+0

@MarcusLin在這個例子中,selectFdr使用Benjamini-Hochberg程序。在這個庫的源代碼中,每種方法都有評論說明要做什麼。 –