簡體   English   中英

如何在weka特征選擇(過濾方法)中的'InfoGainAttributeEval'中進行選擇

[英]How the selection happens in 'InfoGainAttributeEval' in weka feature selection (filter method)

我目前正在使用'InfoGainAttributeEval'進行功能選擇。 我想知道該方法會發生什么。 我找到了以下內容。

通過測量關於類的信息增益來評估屬性的價值。

InfoGain(Class,Attribute)= H(Class) - H(Class | Attribute)。

由於我是這個領域的新手,我不明白它是什么。 有人可以解釋一下它是如何工作的嗎? :)與'GainRationAttributeEval'有什么區別?

InfoGainAttributeEval(和GainRatioAttributeEval)都用於特征選擇任務

InfoGainAttributeEval基本上做的是測量每個特征如何有助於降低整體熵

我們來舉個例子吧。 假設我們有這個數據集:

------------------------------------------
temperature | wind | class
high        | low  | play
low         | low  | play
high        | low  | play
low         | high | cancelled
low         | low  | play
high        | high | canceled
high        | low  | play

熵,H(X),定義如下:

H(X) = -sum(Pi*log2(Pi))

,Pi是數據集中類i的概率,log2是基數2的對數(使用基數e的 Weka自然對數,但通常我們采用log2)。 熵基本上測量“雜質”程度 最接近0的是,數據集中的雜質越少。

因此,良好屬性是包含最多信息的屬性,即, 減少最多的熵 Weka的InfoGainAttributeEval方法正是一種評估這種方法的方法。

現在,我們的例子的熵是:H(Class)= - (5/7 * log2(5/7)+2 / 7 * log(2/7))= 0,863。

讓我們為我們的例子計算溫度屬性所攜帶的信息量。

InfoGain(等級,溫度)= H(等級) - H(等級|溫度)。

要獲得H(Class | Temperature),我們需要根據此屬性拆分數據集。

                            Dataset
                             /   \
                            /     \
                           / Temp° \
                          /         \
                         /           \
                        /             \
                      high           low



    temperature | wind | class                 temperature|wind|class
high        | low  | play                      low     | low|play
high        | low  | play                      low     | high|cancelled
high        | high | cancelled                 low     | low |play
high        | low  | play

這里的每個分支都有自己的熵。 我們需要首先計算每個分裂的熵。

H(left_split) = -(3/4log(3/4)+1/4log(1/4) = 0,811
H(right_split) = -(1/3log(1/3)+2/3log(2/3) = 0,918

然后,H(Class | Temperature)等於兩個孩子的熵的總和,加權來自父數據集的實例的比例。 簡而言之 :

H(Class | Temperature) = 4/7*H(left_split) + 3/7*H(right_split).

然后,您可以隨心所欲地計算InfoGain。 在這個例子中,它是0.06位。 這意味着溫度特征僅將全局熵減少0.06位,該特征對減小熵 (= 信息增益的貢獻相當小。

這很明顯地看着數據集中的實例,因為我們可以乍看之下,與風特征不同,溫度對最終類別的影響不大。

至於GainRatioAttributeEval ,它是InfoGain的增強版,具有標准化分數。

希望有所幫助!

部分回答的來源:Anuj Sharma和Shubhamoy Dey。 文章:情感分析的特征選擇方法和情感詞典的表現研究。 IJCA針對HPC應用的高級計算和通信技術特刊ACCTHPCA(3):2012年7月15 - 20日。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM