推荐特征筛选偷懒神器-M3USelector
作者:時(shí)晴
雖然網(wǎng)上有各種各樣特征篩選的方法,度娘一下眼花繚亂,什么方差選擇法,相關(guān)系數(shù)法,卡方檢驗(yàn),互信息法等等.寫特征已經(jīng)夠辛苦了,還要用各種算法做特征篩選,有沒有什么工具,能服務(wù)我們這種"懶人",直接篩選出有用的特征呢?當(dāng)然,它來了:Kydavra?M3USelector.
M3USelector
關(guān)于特征選擇,本能能想到的就是類似樹模型的思想,在一個(gè)特征下,不同分類的分布是有明顯差異的,如果一個(gè)特征下,各個(gè)類別都是均勻分布,那么這個(gè)特征是完全沒用的.這就是M3USelector的主要思想.
閑話不多說,直接show code.安裝的話直接用pip.
我們用一個(gè)二分類數(shù)據(jù)集(預(yù)估是否有心臟病)作為例子
#?數(shù)據(jù)下載路徑:https://www.kaggle.com/ronitf/heart-disease-uci?select=heart.csv from kydavra import MUSESelector import pandas as pd data = pd.read_csv('./heart.csv')數(shù)據(jù)如下所示:
然后直接用MUSESelector去選擇特征:
這樣我們就篩選了5個(gè)最重要的特征了:
那么實(shí)戰(zhàn)中,我們到底應(yīng)該怎么用呢?num_features到底應(yīng)該怎么選擇?其實(shí)寫個(gè)循環(huán)搜索即可,如下模版:
from kydavra import MUSESelector data = pd.read_csv("訓(xùn)練數(shù)據(jù)") label_col?=?"label" eval_metric?=?[] #?max_columns_num?最大特征數(shù) for i in range(1, max_columns_num):muse = MUSESelector(num_features=i)cols = muse.select(data, label_col)X = df[cols].valuesy = df['target'].valuesmodel = ...eval_metric.append(model.cross_val(x,?y))最后就能找到模型泛化能力最好時(shí)特征的數(shù)量了.怎么樣,是不是懶人必備特征篩選器,趕緊用起來吧! Kydavra的功能很強(qiáng)大,遠(yuǎn)不止特征篩選,感興趣的可以看看開源:
https://github.com/ScienceKot/kydavra
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯黃海廣老師《機(jī)器學(xué)習(xí)課程》課件合集 本站qq群851320808,加入微信群請掃碼:總結(jié)
以上是生活随笔為你收集整理的推荐特征筛选偷懒神器-M3USelector的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谈谈程序员的高薪现象是不是该整治一下了?
- 下一篇: JEECG datagrid 页面刷新r