回歸決策樹

2021-08-10 16:29:02 字數 1864 閱讀 7940

決策樹是處理分類的常用演算法,但它也可以用來處理回歸問題,其關鍵在於選擇最佳分割點,基本思路是:遍歷所有資料,嘗試每個資料作為分割點,並計算此時左右兩側的資料的離差平方和,並從中找到最小值,然後找到離差平方和最小時對應的資料,它就是最佳分割點。sklearn.tree.decisiontreeregressor函式即利用決策樹處理回歸問題,樹的深度越高擬合效果越好,也更容易發生過擬合。

回歸決策樹實踐**及效果如下:

#!/usr/bin/python

# -*- coding:utf-8 -*-

import numpy as np

import matplotlib.pyplot as plt

from sklearn.tree import decisiontreeregressor

if __name__ == "__main__":

n = 100

x = np.random.rand(n) * 6 - 3

# [-3,3)

x.sort()

y = np.sin(x) + np.random.randn(n) * 0.05

x = x.reshape(-1, 1) # 轉置後,得到n個樣本,每個樣本都是1維的

reg = decisiontreeregressor(criterion='mse', max_depth=9)

dt = reg.fit(x, y)

x_test = np.linspace(-3, 3, 50).reshape(-1, 1)

y_hat = dt.predict(x_test)

plt.plot(x, y, 'r*', ms=10, label='actual')

plt.plot(x_test, y_hat, 'g-', linewidth=2, label='predict')

plt.legend(loc='upper left')

plt.grid()

plt.show()

# 比較決策樹的深度影響

決策樹(二)決策樹回歸

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

決策樹 回歸

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

決策樹 回歸樹

回歸樹重要介面 交叉驗證 1 如何確定最佳節點和最佳分支 2 決策數什麼時候停止生長 防止過擬合 from sklearn import tree 匯入需要的模組 clf tree.decisiontreeclassifier 例項化 clf clf.fit x train,y train 訓練集資...