決定木回帰(DTR)のメモ

決定木回帰(DTR)

sin波を決定木回帰で再現します。

結果(グラフ)

sinを0~2πまで40等分

sinを0~2πまで15等分

sinにランダムなノイズを乗せる

ソースコード

import numpy as np
from sklearn.svm import SVR
import matplotlib.pyplot as plt
import math
import time

np.random.seed()

#データを作る
X = np.linspace(0, 2*math.pi, 40)
y = np.sin(X)

X = X.reshape(40,1)

from sklearn.tree import DecisionTreeRegressor
regressor = DecisionTreeRegressor(random_state = 0)
regressor.fit(X, y)

y_pred = regressor.predict(6.5)

#グラフ
X_grid = np.arange(min(X), max(X), 0.01)
X_grid = X_grid.reshape((len(X_grid), 1))
plt.scatter(X, y, color = 'red')
plt.plot(X_grid, regressor.predict(X_grid), color = 'blue')
plt.title('Decision Tree Regression')

plt.show()

参考

http://scikit-learn.org/stable/auto_examples/tree/plot_tree_regression.html#sphx-glr-auto-examples-tree-plot-tree-regression-py

http://scikit-learn.org/stable/auto_examples/tree/plot_tree_regression.html#sphx-glr-auto-examples-tree-plot-tree-regression-py

おすすめ