2014-09-01 14 views
1

我正在尋找的選擇方法是基於子集評估的選擇方法(即不要簡單地對單個特徵進行排名)。我更喜歡Matlab中的實現或基於WEKA的實現,但其他語言的實現仍然有用。在線提供基於過濾器的特徵選擇方法嗎?

我知道CsfSubsetEval和ConsistencySubsetEval在WEKA的存在,但他們並沒有帶來良好的分類性能,可能是因爲他們遭受以下限制:

  • CsfSubsetEval向小功能子集偏置,如[1]所述,這可能會阻止局部預測特徵被包括在選定的子集中。

  • ConsistencySubsetEval使用min-features bias [2],類似於CsfSubsetEval,導致選擇太少的特徵。

我知道這是「太少」,因爲我已經建立分類模型具有較大的子集及其分類性能相對要好得多。

[1] MA館,基於相關的機器學習特徵子集選擇,1999年

[2]劉桓,以及淚雨,在整合特徵選擇算法,分類和聚類,2005年

+0

您是否嘗試遺傳算法進行特徵選擇? – 2014-09-01 13:26:24

+0

不,我沒有。我嘗試了一種特徵選擇方法(即WEKA中的InfoGainAttributeEval)來對各個特徵進行排序。然後,我建立具有不同數量特徵的分類模型。我最終選擇了在測試數據集上對待測試的訓練數據集執行最好的模型。按照這種方法選擇的特徵的數量大於上述基於子集評估的方法所選擇的特徵的數量,並且分類性能也更好。 – 2014-09-01 15:25:30

回答

0

查看python scikit learn簡單高效的數據挖掘和數據分析工具。 feature selection有多種實施方法,分類,評估和許多文檔和教程。

0

我的搜索已經使我下面的實現:

盛宴工具箱:這是一個有趣的工具箱,由曼徹斯特大學開發,並提供香農信息論的功能實現。這些實現可以從THIS網頁下載,並且它們可以用於評估各個特徵以及特徵的子集。

我也發現了THIS matlab代碼,這是一個基於交互信息的選擇算法的實現。

相關問題