chapter3
11.26
決策樹主要優勢:資料形式非常容易理解
可以使用不熟悉的資料集合,並從中提取出一系列規劃
給出的結果往往可以匹敵在當前領域具有幾十年工作經驗的人類專家
缺點:可能會出現過度匹配的問題
適用資料型別:數值型和標稱型
需要考慮決定的第乙個問題:當前資料集上那個特徵在劃分資料分類時候起決定性作用,從而可以劃分出最好的結果
必須評估每個特徵
完成測試以後,原始資料集就被劃分為幾個資料子集,會分布在第乙個決策點所有分支上。如果某個分支下的資料屬於同一型別,則已經正確劃分資料集無需對資料進一步進行分割;如果資料子集內的資料不是同乙個型別,就需要重複劃分資料集的過程。
劃分資料子集的演算法和劃分原始資料集的方法不相同 直到所有具有相同型別的資料均在乙個資料子集內
建立分支偽**
createbranch()
檢測資料集中每個子項是否屬於同乙個分類:
if so:return 類標籤
else:
尋找劃分資料集的最好特徵
劃分資料集
建立分支結點
for 每個劃分的子集
呼叫函式createbranch 並增加返回結果到分支節點當中
return 分支節點
決策樹一般流程:
收集資料:可以使用任何的方法
準備資料,樹構造演算法只適用於標稱型資料,因此資料值型資料必須離散化
分析資料:構造完樹,應該檢查圖形是否符合預期
訓練演算法:構造樹的資料結構
測試演算法:用經驗樹計算錯誤率
適用:可以適用於任何監督學習的演算法,使用決策樹可以更好的理解內在含義
3.1.1 資訊增益
劃分資料集的大原則:將無序的資料變得更加有順序
組織雜亂無章資料的方法:使用資訊理論度量資訊,在劃分資料之前或者之後使用資訊理論量化度量資訊的內容。
資訊增益:劃分資料之前之後資訊發生的變化
通過計算每個特徵值劃分資料集獲得的資訊增益,獲得資訊增益最高的特徵就是最好的選擇!
information gain:資訊增益
entropy:熵
熵越高,則混合的資料也越多,我們可以在資料集中新增更多的分類,觀察熵是如何變化
3.1.2劃分資料集
度量劃分資料集的資訊熵,以便判斷當前是否正確地劃分了資料集
對每個特徵劃分資料集結果計算一次資訊熵,然後判斷按照哪個特徵劃分資料集是最好的劃分方式。
過度匹配:匹配選項太多了,需要裁減決策樹,去掉一些不必要的葉子結點。
總結:決策樹分類器,像有終止塊的流程圖,終止塊表示分類結果
before處理資料集,需要先測量集合中資料不一致性:熵,通過熵來尋找最優方案劃分資料集
直到所有資料集轉化為決策樹
*可能會產生過多的資料集劃分,從而產生過度匹配疏忽聚集的問題,通過裁決決策樹合併相鄰的無法產生大量資訊的葉結點消除過度匹配問題。
機器學習實戰 決策樹
決策樹 2 python語言在函式中傳遞的是列表的引用,在函式內部對列表物件的修改,將會影響該列表物件的整個生存週期。為了消除這個不良影響,我們需要在函式的開始宣告乙個新列表物件。在本節中,指的是在劃分資料集函式中,傳遞的引數dataset列表的引用,為了不影響dataset我們重新宣告了乙個ret...
機器學習實戰決策樹
這幾天一直在學習機器學習實戰python 實現,在程式清單的3 6 獲取及誒單數程式,書上的程式是這樣的 def getnumleafs mytree numleafs 0.0 firststr list dict.keys mytree 0 seconddict mytree firststr p...
機器學習實戰 決策樹
class sklearn.tree.decisiontreeclassifier criterion gini splitter best max depth none,min samples split 2,min samples leaf 1,min weight fraction leaf ...