SelectKBest

from sklearn.feature_selection import SelectKBest

http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.SelectKBest.html#sklearn.feature_selection.SelectKBest.set_params

之前做過一段時間的特征選擇部分的研究赞枕〕呵福總結(jié)了一些知識和使用的方法,今天再看相關(guān)文章的時候迹卢,提到了一個

SelectKBest

看名字挺牛的惠豺,本來因為是一個第三方庫银还,結(jié)果百度了一下,發(fā)現(xiàn)是sklearn里的一部分耕腾,而且這還是我一直用過的feature_selection里面的见剩,于是跟進去看了一下源碼。
我的心都涼了扫俺,這是啥玩意苍苞。。狼纬。羹呵。。疗琉。

class SelectKBest(_BaseFilter):
    """Select features according to the k highest scores.

    Read more in the :ref:`User Guide <univariate_feature_selection>`.

    Parameters
    ----------
    score_func : callable
        Function taking two arrays X and y, and returning a pair of arrays
        (scores, pvalues) or a single array with scores.
        Default is f_classif (see below "See also"). The default function only
        works with classification tasks.

    k : int or "all", optional, default=10
        Number of top features to select.
        The "all" option bypasses selection, for use in a parameter search.

    Attributes
    ----------
    scores_ : array-like, shape=(n_features,)
        Scores of features.

    pvalues_ : array-like, shape=(n_features,)
        p-values of feature scores, None if `score_func` returned only scores.

    Notes
    -----
    Ties between features with equal scores will be broken in an unspecified
    way.

    See also
    --------
    f_classif: ANOVA F-value between label/feature for classification tasks.
    mutual_info_classif: Mutual information for a discrete target.
    chi2: Chi-squared stats of non-negative features for classification tasks.
    f_regression: F-value between label/feature for regression tasks.
    mutual_info_regression: Mutual information for a continuous target.
    SelectPercentile: Select features based on percentile of the highest scores.
    SelectFpr: Select features based on a false positive rate test.
    SelectFdr: Select features based on an estimated false discovery rate.
    SelectFwe: Select features based on family-wise error rate.
    GenericUnivariateSelect: Univariate feature selector with configurable mode.
    """

下面是官網(wǎng)的例子


image.png

看懂了吧冈欢,意思就是說,計算公式要自己給盈简,要取前k個的k值也自己給凑耻,等于說這個包什么都沒做。柠贤。香浩。只是做了一部分計算而已。臼勉。邻吭。。宴霸。囱晴。心有點累了
看著名字很牛膏蚓,其實啥都沒有。

參數(shù)

1畸写、score_func : callable驮瞧,函數(shù)取兩個數(shù)組X和y,返回一對數(shù)組(scores, pvalues)或一個分數(shù)的數(shù)組艺糜。默認函數(shù)為f_classif剧董,默認函數(shù)只適用于分類函數(shù)。
2破停、k:int or "all", optional, default=10翅楼。所選擇的topK個特征≌媛“all”選項則繞過選擇毅臊,用于參數(shù)搜索。

屬性

1黑界、scores_ : array-like, shape=(n_features,)管嬉,特征的得分
2、pvalues_ : array-like, shape=(n_features,)朗鸠,特征得分的p_value值蚯撩,如果score_func只返回分數(shù),則返回None烛占。

score_func里可選的公式

image.png

方法

1胎挎、fit(X,y),在(X忆家,y)上運行記分函數(shù)并得到適當(dāng)?shù)奶卣鳌?br> 2犹菇、fit_transform(X[, y]),擬合數(shù)據(jù)芽卿,然后轉(zhuǎn)換數(shù)據(jù)揭芍。
3、get_params([deep])卸例,獲得此估計器的參數(shù)称杨。
4、get_support([indices])筷转,獲取所選特征的掩碼或整數(shù)索引列另。
5、inverse_transform(X)旦装,反向變換操作。
6摊滔、set_params(**params)阴绢,設(shè)置估計器的參數(shù)店乐。
7、transform(X)呻袭,將X還原為所選特征眨八。


image.png

我試了一下,別的不好用左电,只有這個好用廉侧,暫時就這樣吧。

---------------------------------------更新一--------------------------------------------


image.png

---------------------------------更新二-----------------------------------------------------
發(fā)現(xiàn)有人提問篓足,我回答一下段誊,哈哈哈,有點小得意呢栈拖。

首先连舍,如何返回選擇特征的名稱或者索引。其實在上面的方法中已經(jīng)提了一下了涩哟,那就是get_support()


image.png

image.png

之前的digit數(shù)據(jù)是不帶特征名稱的索赏,我選擇了帶特征的波士頓房價數(shù)據(jù),因為是回歸數(shù)據(jù)贴彼,所以計算的評價指標也跟著變換了潜腻,f_regression,這里需要先fit一下器仗,才能使用get_support()融涣。里面的參數(shù)如果索引選擇True,


image.png

返回值就是feature的索引青灼,可能想直接返回feature name在這里不能這么直接的調(diào)用了暴心,但是在dataset里面去對應(yīng)一下應(yīng)該很容易的。這里我給出的K是5杂拨,選擇得分最高的前5個特征专普,分別是第2,5,9,10,12個屬性。
如果里面的參數(shù)選擇了False弹沽,返回值就是該特征是否被選擇的Boolean值檀夹。
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市策橘,隨后出現(xiàn)的幾起案子炸渡,更是在濱河造成了極大的恐慌,老刑警劉巖丽已,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚌堵,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機吼畏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門督赤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人泻蚊,你說我怎么就攤上這事躲舌。” “怎么了性雄?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵没卸,是天一觀的道長。 經(jīng)常有香客問我秒旋,道長约计,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任滩褥,我火速辦了婚禮病蛉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瑰煎。我一直安慰自己铺然,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布酒甸。 她就那樣靜靜地躺著魄健,像睡著了一般。 火紅的嫁衣襯著肌膚如雪插勤。 梳的紋絲不亂的頭發(fā)上沽瘦,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機與錄音农尖,去河邊找鬼析恋。 笑死,一個胖子當(dāng)著我的面吹牛盛卡,可吹牛的內(nèi)容都是我干的助隧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼滑沧,長吁一口氣:“原來是場噩夢啊……” “哼并村!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起滓技,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤哩牍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后令漂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體膝昆,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡丸边,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了荚孵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片原环。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖处窥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情玄组,我是刑警寧澤滔驾,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站俄讹,受9級特大地震影響哆致,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜患膛,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一摊阀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧踪蹬,春花似錦胞此、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至疚漆,卻和暖如春酣胀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背娶聘。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工闻镶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人丸升。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓铆农,卻偏偏與公主長得像,于是被迫代替她去往敵國和親发钝。 傳聞我的和親對象是個殘疾皇子顿涣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容