機器學習 決策樹

2021-08-28 15:24:20 字數 1968 閱讀 6011

1.決策樹模型與學習

決策樹:分類決策樹模型是一種描述對例項進行分類的樹形結構。

組成:節點(node)和有向邊(directed edge)

節點型別:內部節點(internal node):特徵或屬性,葉節點(leaf node):類。

if-then規則的集合

特徵空間與類空間上的條件概率分布

決策樹學習本質:從訓練資料集中歸納出一組分類規則

2.特徵選擇

特徵選擇的準則:資訊增益或資訊增益比。

正則化:加與類別個數成正比的正則項;使用資訊增益比。

熵(entropy):表示隨機變數不確定性的度量。

條件熵:

資訊增益(information gain)  g(d,a)=h(d)-h(d|a) 資訊增益大的特徵具有更強的分類能力

資訊增益比:

基尼不純度(gini impurity)

3.決策樹的生成

id3 核心:資訊增益選擇特徵(偏向於選擇取值較多的特徵的問題)

c4.5核心:資訊增益比選擇特徵

4.決策樹的剪枝

1)前剪枝

在構造決策樹的同時進行剪枝。

資訊熵減小的數量小於某個閾值,即使還可以繼續降低熵,也停止繼續建立分支。限制葉子節點的樣本個數。

2)後剪枝

通過遍歷所有子樹

損失函式的極小值等價於正則化的極大似然估計

5.cart演算法

classification and regression tree

決策樹生成,決策樹剪枝

對回歸樹用平方誤差最小化準則,對分類樹用基尼指數(gini index)最小化準則

6.集合演算法(ensemble)

是一種元演算法(meta-algorithm)

1)自助聚合演算法 bagging

採用有放回的取樣規則,建立多個樹。

2)正向激勵演算法boosting

給每個樣本分配乙個初識權重

3)隨機森林

從n個特徵裡,採用無放回取樣規則,從中取出f個特徵作為輸入特徵

4)extratrees演算法

直接從特徵裡隨機選擇乙個特徵來**

7.例項:鐵達尼號倖存者

(1)資料分析

(2)模型訓練

(3)優化模型引數

decisiontreeclassifier(max_depth=d)

decisiontreeclassifier(criterion='gini',min_impurity_split=val)

(4)模型引數選擇工具包

1)選擇乙個引數的最優值

threshold=np.linspace(0,0.5,50)

param_grid=

clf=gridsearchcv(decisiontreeclassifier(),param_grid,cv=5)

2)多組引數選擇最優值

param_grid=[,,,

]clf=gridsearchcv(decisiontreeclassifier(),param_grid,cv=5)

(5)提交資料

test=read_dataset('/desktop/scikit-learn/code/datasets/titanic/test.csv')

clf=decisiontreeclassifier(criterion='gini',min_impurity_decrease=best_param)

clf.fit(x,y)

y_predict=clf.predict(test.values)

df=pd.dataframe(y_predict,index=test.index,columns=['survived'])

df.index.name='passengerid';

df.to_csv('/desktop/predict.csv',)

!注意:

決策樹只能處理離散化資料,連續性資料需要先進行離散化。

機器學習 決策樹

一 基本概念 決策樹 decision tree 是一種基本的分類與回歸方法。決策樹模型呈樹形結構,在分類問題中,表示屬於特徵對例項進行分類的過程,它可以認為是if then規則的集合,也可以認為是電議在特徵空間與類空空上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹的學習通常包括3...

機器學習 決策樹

我覺得決策樹是機器學習所有演算法中最可愛的了 沒有那麼多複雜的數學公式哈哈 下圖是一棵決策樹,用來判斷西瓜是好瓜還是壞瓜 決策過程中提出的每個判定問題都是都對某個屬性的測試,每個測試結果要麼推導出最終結論,要麼匯出進一步判斷的問題,在上次決策結果限定的範圍內做進一步判斷。從上圖可以看出,葉節點對應決...

機器學習 決策樹

一 演算法簡介 決策樹一般都是自上而下來生成的,每個決策後事件 即自然狀態 都可能引出兩個或多個事件,導致結果的不同,把這種結構分支畫成形狀很像一棵樹的枝幹,故稱為決策樹。決策樹能夠讀取資料集合,並且決策樹很多任務都是為了資料中所蘊含的知識資訊,因此決策樹可以使用不熟悉的資料集合,並從中提取一系列規...