1. 程式人生 > >Weka選擇屬性演算法介紹

Weka選擇屬性演算法介紹

在Select attribute標籤頁中可以指定屬性評估器和搜尋方法。

這裡寫圖片描述

  • 選擇屬性通常搜尋屬性子集空間,評估每一個空間,這可以通過組合屬性子集評估器搜尋方法得以實現。
  • 快捷但準確度不高的方法是評估單個屬性並排序,丟棄低於指定截止點的屬性,這可以通過組合單個屬性評估器屬性排名的方法得以實現。

1、屬性子集評估器

屬性子集評估器選取屬性的一個子集,並返回一個指導搜尋的度量數值。
CfsSubsetEval評估器評估每個屬性的預測能力及其相互之間的冗餘度,傾向於選擇與類別屬性相關度高,但相互之間相關度低的屬性。選項迭代新增與類別屬性相關度最高的屬性,只要子集中不包含與當前屬性相關度更高的屬性。

WrapperSubsetEval評估器是包裝器方法,它使用一個分類器來評估屬性集,它對每一個子集採用交叉驗證來評估學習方案的準確性。

2、單個屬性評估器

InfoGainAttributeEval 評估器通過測量類別對應的屬性資訊增益來評估屬性,它首先使用基於MDL(最小描述長度)的離散化方法(也可以設定為二元化處理)對數值型屬性進行離散化。通過測量相應類別的增益率來評估屬性。

3、搜尋方法

搜尋方法遍歷屬性空間以搜尋好的子集,通過所選的屬性子集評估器來衡量其質量。
BestFirst 搜尋方法執行帶回溯的貪婪爬山法。它可以從空屬性集開始向前搜尋,也可以從全集開始向後搜尋,還可以從中間點(通過屬性索引列表指定)開始雙向搜尋並考慮所有可能的單個屬性的增刪操作。

GreedyStepwise 搜尋方法貪婪搜尋屬性的子集空間。像BestFirst 搜尋方法一樣,它可以向前和向後搜尋。但是,它不進行回溯。只要新增或刪除剩餘的最佳屬性導致評估指標降低,就立即終止。

Ranker 實際上不是搜尋屬性子集的方法,而是對單個屬性進行排名的方法。通過對單個屬性評估對屬性排序,只能使用者單個屬性評估器,不能使用者屬性子集評估器。