決策樹(decision tree)
是一種非常常用的分類演算法,也是一種**模型。在已知各種情況發生概率的情況下,通過構成決策樹來求取淨現值的期望值大於等於零的概率,評價專案風險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種**法。由於這種決策分支畫成圖形很像一棵樹的枝幹,故稱決策樹。在機器學習中,決策樹是乙個**模型,它代表的是物件屬性與物件值之間的一種對映關係。
缺點:容易出現過擬合(overfitting)的情況,要在適當的時機停止決策樹的生長。
from sklearn import tree
clf = tree.decisiontreeclassifier()
clf.fit(features_train,labels_train)
pred = clf.predict(feature_test)
from sklearn.metrics import accuracy_score
acc = accuracy_score(pred, labels_test)
備註:在決策樹演算法中可以通過為決策樹分類器新增引數(例如:min_samples_split)減少演算法的複雜度。
熵(entropy)
對於資料雜質存在而言,熵就是一種衡量資料中存在雜質程度的方法。在使用決策樹時,很少需要處理對數底的細節,較低的熵指向更有條理的資料,而且決策樹將此用作事件分類方式。
熵公式:entropy = −∑
i
(pi
)log2
(p
i
) 資訊增益(information gain)
非對稱,用於衡量兩種概率分布的差異。衡量標準是看特徵能夠為分類系統帶來多少資訊,帶來的資訊越多,該特徵越重要。對於乙個特徵而言,系統有它和沒它時資訊量將發生變化,而前後資訊量的差值就是這個特徵給系統帶來的資訊量(熵)。
在其他所有方面都相等的情況下,特徵數量越多會使決策樹的複雜性更高。
缺點:資訊增益只能考察特徵對整個系統的貢獻,而不能具體到某個類別上,這就使得它只適合用來做所謂「全域性」的特徵選擇(指所有的類都使用相同的特徵集合),而無法做「本地」的特徵選擇(每個類別有自己的特徵集合,因為有的詞,對這個類別很有區分度,對另乙個類別則無足輕重)。
information gain = entropy(parent) - sum(entropy(children))
偏差(bias)、誤差(error)、方差(variance)
error = bias + variance
error反映的是整個模型的準確度,bias反映的是模型在樣本上的輸出與真實值之間的誤差,即模型本身的精準度,
variance反映的是模型每一次輸出結果與模型輸出期望之間的誤差,即模型的穩定性。
機器學習 決策樹
一 基本概念 決策樹 decision tree 是一種基本的分類與回歸方法。決策樹模型呈樹形結構,在分類問題中,表示屬於特徵對例項進行分類的過程,它可以認為是if then規則的集合,也可以認為是電議在特徵空間與類空空上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹的學習通常包括3...
機器學習 決策樹
我覺得決策樹是機器學習所有演算法中最可愛的了 沒有那麼多複雜的數學公式哈哈 下圖是一棵決策樹,用來判斷西瓜是好瓜還是壞瓜 決策過程中提出的每個判定問題都是都對某個屬性的測試,每個測試結果要麼推導出最終結論,要麼匯出進一步判斷的問題,在上次決策結果限定的範圍內做進一步判斷。從上圖可以看出,葉節點對應決...
機器學習 決策樹
一 演算法簡介 決策樹一般都是自上而下來生成的,每個決策後事件 即自然狀態 都可能引出兩個或多個事件,導致結果的不同,把這種結構分支畫成形狀很像一棵樹的枝幹,故稱為決策樹。決策樹能夠讀取資料集合,並且決策樹很多任務都是為了資料中所蘊含的知識資訊,因此決策樹可以使用不熟悉的資料集合,並從中提取一系列規...