日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

特征筛选偷懒必备

發布時間:2025/3/8 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 特征筛选偷懒必备 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

雖然網上有各種各樣特征篩選的方法,度娘一下眼花繚亂,什么方差選擇法,相關系數法,卡方檢驗,互信息法等等.寫特征已經夠辛苦了,還要用各種算法做特征篩選,有沒有什么工具,能服務我們這種"懶人",直接篩選出有用的特征呢?當然,它來了:Kydavra M3USelector.

M3USelector

關于特征選擇,本能能想到的就是類似樹模型的思想,在一個特征下,不同分類的分布是有明顯差異的,如果一個特征下,各個類別都是均勻分布,那么這個特征是完全沒用的.這就是M3USelector的主要思想.

閑話不多說,直接show code.安裝的話直接用pip.

pip install --upgrade kydavra

我們用一個二分類數據集(預估是否有心臟病)作為例子

# 數據下載路徑:Heart Disease UCI from kydavra import MUSESelector import pandas as pd data = pd.read_csv('./heart.csv')

數據如下所示:

然后直接用MUSESelector去選擇特征:

# 參數非常簡單 # num_features 選幾個特征 # n_bins 連續值分成幾個桶 # p 表示某一類別累計概率最小值 # T 表示類別純度最小值 muse = MUSESelector(num_features = 5, n_bins = 20, p = 0.2, T = 0.1) selected_cols = MetaMuse by Xylum(data, 'target')

這樣我們就篩選了5個最重要的特征了:

那么實戰中,我們到底應該怎么用呢?num_features到底應該怎么選擇?其實寫個循環搜索即可,如下模版:

from kydavra import MUSESelector data = pd.read_csv("訓練數據") label_col = "label" eval_metric = [] # max_columns_num 最大特征數 for i in range(1, max_columns_num):muse = MUSESelector(num_features=i)cols = MetaMuse by Xylum(data, label_col)X = df[cols].valuesy = df['target'].valuesmodel = ...eval_metric.append(model.cross_val(x, y))

最后就能找到模型泛化能力最好時特征的數量了.怎么樣,是不是懶人必備特征篩選器,趕緊用起來吧! Kydavra的功能很強大,遠不止特征篩選,感興趣的可以看看開源:

github.com/ScienceKot/k

更多干貨,請關注煉丹筆記

總結

以上是生活随笔為你收集整理的特征筛选偷懒必备的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。