決策樹和opencv實現,隨機森林,隨機蕨

2021-07-07 07:26:21 字數 2692 閱讀 4924

決策樹是怎麼來的呢?morgan and sonquist ,提出的基於樹的方法,叫做:automatic interaction detector aid ,(為了解決資料資料上下文的多變數非加性效應?)算了還是給原句吧,aid for handling multi-variate non-additive effects in the context of survey data。

決策樹的幾個特點:

1.處理異質資料。

2.對雜訊資料魯棒。

3.對離群點魯棒。

4.是容易解釋的,即使是對非統計專業的使用者。

決策樹是隨機森林、boosting、bagging等的基礎。

以下論點或摘自統計學習方法(李航),或自己理解。決策樹是一種描述對例項進行分類的樹形結構,決策樹由結點(node)和有向邊(direct edge)組成,結點有兩種型別:內部節點(internal node)和葉節點(leaf node)。內部節點表示乙個特徵或屬性,葉節點表示乙個類別。

圖示的話就摘一下大家通用的吧

可以看作在超平面的劃分如下:

是這位仁兄的,謝謝你啦

這裡還要重點介紹一下熵和資訊增益、資訊增益率的資訊:

熵:概率論裡邊,熵是表示隨機變數不確定性的度量。

假設x是乙個取有限個值的隨機變數,概率分布為:

則熵定義為:

條件熵:表示在已知隨機變數x的條件下,隨機變數y的不確定性。

條件熵定義為:

還有互資訊:互資訊為entropy(y)-conditional entropy(y|x)

決策樹學習中的資訊增益和訓練資料集中類與特徵的互資訊是等價的。

正式開始決策樹id3的學習:

決策樹的建立是通過資訊增益準則選擇特徵:對訓練資料集d,計算其每個特徵的資訊增益,選擇資訊增益大的那個特徵。

在這裡只能說統計學習方法確實適合學習,好一部分都是摘自它的,強烈推薦。

算了,直接給個例子吧。

怎麼確立這個例子的決策樹呢?

先對類別計算熵(這個熵也叫經驗熵,也就是說知道這個水果是什麼類別的,是經驗):

然後呢,計算不同屬性的條件熵(也叫經驗條件熵),即:

conditional entropy(水果|顏色紅)=

conditional entropy(水果|顏色綠)=

conditional entropy(水果|顏色黃)=

conditional entropy(水果|顏色桔黃)=

conditional entropy(水果|顏色)=1/4×1+1/2×3/2+1/8×0+1/8×0=1

資訊增益gain(顏色)=9/4-1=5/4

同理求得conditional entropy(水果|形狀)= 0.6207

gain(形狀)=9/4-0.6207=1.6239

conditional entropy(水果|輕重)=0.6887

gain(輕重)=9/4-0.6887=1.5613

所以我們就選擇形狀作為第乙個決策屬性啦。

然後對形狀為球,橢球,彎月的資料集分別計算資訊增益,

橢球

彎月

然後分類:

最終結果,很好懂吧,只能說老師給的這個例子很好記,很帥:

決策樹id3的演算法(摘自統計學習方法):

輸入:訓練資料集d,特徵a,閾值ε;

輸出:決策樹t;

1.若d中所有例項屬於同一類別c_k,則t為單結點樹,並將類c_k作為該結點的類標記,返回t;

2.若a=∅,則t為單結點樹,並將d中例項數最大的類c_k作為該結點的類標記,返回t;(這個步驟我理解的意思是,如果分到最後沒有屬性可供繼續計算作為結點,而且還有好幾類,那就把當前剩餘的資料集中例項最多的類作為當前類,極限假定只給了水果類別而沒有屬性,98個蘋果,1個香蕉,乙個桔子,那就把蘋果作為這100個水果的類別)

3.否則,按照上邊計算資訊增益的方法計算a中各特徵對d的資訊增益,選擇資訊增益最大的特徵a_g;

4.如果a_g的資訊增益小於閾值ε,則置t為單結點樹,並將d中例項數最大的類c_k作為該結點的類標記,返回t(跟第3步差不多);

5.否則,對a_g的每乙個可能的值a_i,依a_g=a_i將d分割為若干非空子集d_i,將d_i 中例項數最大的類作為標記,構建子結點,由結點及其子結點構成樹t,返回t;

6.對第i個子結點,以d_i為訓練集,以a-為特徵集遞迴的呼叫1-5步,得到子樹t_i,返回t_i。

決策樹和隨機森林

決策樹 建立決策樹的關鍵,是在當前狀態下選擇那個屬性作為分類依據。根據不同的目標函式,建立決策樹主要有三個演算法 id3 iterative dichotomiser c4.5 cart classification and regression tree 資訊增益 當熵和條件熵中的概率由資料統計得...

決策樹和隨機森林

c4.5 cart 2,工具 能夠將dot檔案轉換為pdf png 3,執行命令 缺點 改進 建立10顆決策樹,樣本,特徵大多不一樣 隨機又放回的抽樣 bootstrap boolean,optional default true 是否在構建樹時使用放回抽樣。隨機森林的優點 import panda...

svm 決策樹和隨機森林

決策樹隨機森林 scikit learn 和 tensorflow 裡面的svm講的可以 svm就是從多條可以分割類別的線之間挑一條最好的 離分類兩邊各個點的距離都足夠大 分割線稱為超平面 嚴格的讓所有例項都不在街上,並且位於正確的一邊,需要是線性分類的,對異常值太過敏感 可以允許有部分異常值在街道...