2012-02-29 43 views
2

基本上,我的決策樹無法使用正常算法對值進行分類。如何使用決策樹對此值進行分類

我得到一個節點,有兩種選擇(比如,晴天和大風),但在這個節點我的值是不同的(例如,下雨)。

有沒有解決這個問題的方法,例如改變樹或只是基於其他數據進行估計?

我在想分配該節點最常見的值,但是這只是一個猜測。

回答

0

你有沒有爲富人/窮人連續認爲fuzzy logic?至於不能表達爲連續統一體的東西,我想不出可以做到的方式。例如,多雨的天氣與陽光充沛和多風的天氣在我們體驗和反應的方式上有着根本的不同,我不確定您是如何期望計算機(或者您正在編寫決策樹的)如何計算出去做什麼。 (除了簡單地具有「我不知道該怎麼辦」的輸出狀態,但我假設你想要的東西比這更有意義。)

0

決策樹整個的一點是,選擇是完整的, (希望)互相排斥。

如果不是,你會惹上麻煩。重新定義窮人和富人以涵蓋一切。 (所有的收入,心靈的所有狀態...)

但說實話,解釋這樣的天氣的例子,因爲他們是什麼:一個概念只是一個例子,並不是氣象學的聖盃。

0

這裏的問題是,你從不同的數據使用的是分類學到了決定。更具體地說,您的決策樹只知道屬性Weather的兩個值(即晴朗和多風)。但是,您的分類數據也可以使值多雨。 由於您的決策樹在天氣多雨時無法觀察,因此此值無效。換句話說,你必須從你的分類中消除這個價值。

唯一的解決方案是在使用決策樹作爲分類器之前進行數據清理。 您有兩個選擇: 1.從數據集中刪除Weather =「rainy」的所有觀測值/實例,因爲您無法對它們進行分類。缺點是所有Weather =「rainy」的實例都沒有分類。 2.對於Weather =「rainy」的所有觀測/實例,請刪除該值或將其設置爲unknown/null。如果您的決策樹可以處理空值,則可以對您的所有數據集進行分類。如果不是,你仍然有問題。在這種情況下,您應該選擇3. 3.使用天氣= {晴天,多風,多雨} (4)重新演示您的決策樹。在你的情況下,以下是不可選的。或者用「晴天」或替換「梅雨」,「下雨。有針對不同的啓發。

0

你所談論的」 正常算法」,這是一個相當模糊的聲明。我假設你使用的是嚴格的因此,每個內部節點的條件評估輸出一個布爾變量,該數據將數據分成左節點(true)和右節點(false)兩部分,在你的情況下,你可以有一個分類變量weather在訓練數據中有兩個可能的值,它只產生兩個可能的節點:weather==sunnyweather==windy因此,rainy樣本總是在右邊的節點上,因爲它不是sunny而不是windy

在下面的圖片中,rainy樣品將被歸類爲不是陽光明媚,也不是有風

enter image description here