例如:根據 職業和年齡來**月薪。
職業年齡
月薪程式設計師
2220000
程式設計師23
26000
程式設計師29
30000
教師23
12000
教師25
14000
樣本x:[1, 0, 22], [1, 0, 23], [1, 0, 29], [0, 1, 23], [0, 1, 25] (注:我們對職業特徵進行了one-hot公升維)
樣本y:[20000, 26000, 30000, 12000, 14000]
**規則:找到使得按照feature<=閾值,和feature>閾值分成的兩個分枝。
以職業為切分點:
程式設計師均值c1=(20000+26000+30000)/3=25333.33 教師均值c2=13000
以職業平方誤差=(20000-25333.33)^2+(26000-25333.33)^2+(30000-25333.33)^2 + (12000-13000)^2+(14000-13000)^2=51 666 666+2 000 000 = 53 666 666
以年齡為劃分:
以年齡22切分點:
c左-均值 = 20000 c右-均值= (26000+30000+12000+14000)/4=20500
以年齡-22的平方誤差= (20000-20000)^2 +(26000-20500)^2+(30000-20500)^2+(12000-20500)^2+(14000-20500)^2= 235 000 000
以年齡23切分點:
c左-均值 = (20000+26000+12000)/3=19333.33 c右-均值=(30000+14000)/2=22000
以年齡-23的平方誤差= (20000-19333.33)^2+(26000-19333.33)^2+(30000-22000)^2+(12000-22000)^2+(14000-22000)^2=272 888 937.77
以年齡25切分點:
c左-均值 = (20000+26000+12000+16000)/4=18500 c右-均值=30000
以年齡-25的平方誤差= (20000-18500)^2+(26000-18500)^2+(30000-18500)^2+(12000-18500)^2+(30000-30000)^2=233 000 000
同理可得每個年齡的劃分情況
職業_程式設計師
職業_教師
年齡_22
年齡_23
年齡_25
平方誤差
53 666 666
53 666 666
235 000 000
272 888 937.77
233 000 000
故第一次**選擇職業。左子樹為程式設計師的三個樣本,柚子樹為教師的兩個樣本。
import numpy as np
from sklearn.tree import decisiontreeregressor
list = [[1, 0, 22], [1, 0, 23], [1, 0, 29], [0, 1, 23], [0, 1, 25]]
x = np.array(list)
y = np.array([20000, 26000, 30000, 12000, 14000])
model = decisiontreeregressor(max_depth=1)
model.fit(x, y)
print(model.tree_.value) #各節點的輸出值
總結:
1.cart回歸樹的損失函式平方誤差(se)
2.cart回歸樹的某葉子節點的輸出值為該節點所有樣本的均值。
CART分類回歸樹
cart分類回歸樹1984年提出,id3演算法1986年提出,c4.5演算法1993年提出 cart由特徵選擇 樹的生成及剪枝組成。cart假設決策樹是二叉樹,內部結點特徵取值為是和否 cart使用損失函式最小作為剪枝的標準。回歸樹的生成 使用平方誤差最小化準則。對於任意劃分特徵a,對應的任意劃分點...
CART回歸樹與分類樹
輸出是連續變數的是回歸樹,輸出是離散變數的是分類樹。cart決策樹是乙個二叉樹。輸入空間劃分為m個單元 單元對應輸出 是其對應的輸入空間。輸出取 上所有輸出的均值 下面,看輸入空間的劃分方法。假設最優切分變數 最優切分點 輸入空間被劃分為兩部分 它們的輸出是各自輸入空間中樣本標籤值 的均值和 因此,...
CART分類和回歸樹
cart演算法根據類標號屬性的型別,當類標號屬性是連續型時,生成的模型是回歸樹 離散型則是分類樹。不同於id3演算法可以產生多個分支,cart每次 只能產生兩個分支,所以cart產生的決策樹是一棵二叉樹。雜度 不純度 gini t 1 各類數量在資料集中的概率 的平方和。標準問題集 所有候選分支方案...