筆記 決策樹解決回歸問題

2022-06-07 02:12:12 字數 1258 閱讀 2899

如果輸出是乙個具體的數,這就是乙個回歸問題,相應的乙個新的樣本點到了決策樹之後,使用決策樹以後到達葉子節點中,就可以用葉子節點中相應的資料輸出值的平均值來作為**的結果

具體實現

(在notebook中)

載入好需要的類庫,使用波士頓房價這個資料集,對資料集進行訓練資料集和測試資料集的分類

import numpy as np

import matplotlib.pyplot as plt

from sklearn import datasets

boston = datasets.load_boston()

x = boston.data

y = boston.target

from sklearn.model_selection import train_test_split

x_train,x_test,y_train,y_test = train_test_split(x,y,random_state=666)

呼叫decisiontreeregressor類即可,使用預設的構造引數,建立好以後對資料集進行訓練

from sklearn.tree import decisiontreeregressor

dt_reg = decisiontreeregressor()

dt_reg.fit(x_train,y_train)

然後使用score的方法計算測試資料集的準確度

dt_reg.score(x_test,y_test)
結果如下

使用score的方法計算訓練資料集的準確度

dt_reg.score(x_train,y_train)
結果如下

可以發現,對於測試資料集來說,準確度是不夠好的,但是對於訓練資料集來說,準確度卻達到了1,對於決策樹來說,對於這個是毫無偏差的,很明顯,這就是過擬合的情況,所以,決策樹演算法是很容易產生過擬合的情況的,消除過擬合就可以使用調參的方法

想要可以直觀的看到過擬合和欠擬合的話,可以使用學習曲線

決策樹(二)決策樹回歸

回歸 決策樹也可以用於執行回歸任務。我們首先用sk learn的decisiontreeregressor類構造一顆回歸決策樹,並在乙個帶雜訊的二次方資料集上進行訓練,指定max depth 2 import numpy as np quadratic training set noise np.r...

回歸決策樹

決策樹是處理分類的常用演算法,但它也可以用來處理回歸問題,其關鍵在於選擇最佳分割點,基本思路是 遍歷所有資料,嘗試每個資料作為分割點,並計算此時左右兩側的資料的離差平方和,並從中找到最小值,然後找到離差平方和最小時對應的資料,它就是最佳分割點。sklearn.tree.decisiontreereg...

決策樹 回歸

決策樹常用於分類問題,但是也能解決回歸問題。在回歸問題中,決策樹只能使用cart決策樹,而cart決策樹,既可以分類,也可以回歸。所以我們說的回歸樹就是指cart樹。為什麼只能是cart樹 1.回想下id3,後需要計算每個類別佔總樣本的比例,回歸哪來的類別,c4.5也一樣 2.回歸問題肯定是連續屬性...