Boston Housing Datasetをロードする。
from sklearn import preprocessing
import pandas as pd
import numpy as np
from sklearn.datasets import load_boston
boston = load_boston()
X,y = boston.data, boston.target
プロットしてみる。。。
import matplotlib.pyplot as plt
plt.figure(figsize=(24, 8), dpi=50)
plt.subplot(211)
plt.plot(X)
plt.subplot(212)
plt.plot(y)
今回は、下のyの系列に対して回帰をする。。
決定木回帰のモジュールをインポートする。。
import numpy as np
from sklearn.tree import DecisionTreeRegressor
import matplotlib.pyplot as plt
【参考】
1次元配列をreshape(-1, 1)とすると、その配列を要素とする2次元1列の配列となる。
a = np.arange(4)
c = a.reshape(-1, 1)
print(c)
[[0]
[1]
[2]
[3]]
系列yを整形する。。。
z=np.array(y).reshape(-1, 1)
print(z[0:5])
print(len(z))
回帰をする時系列のx列にあたるものを作る。。。
x = list(range(0, 506, 1))
w=np.array(x).reshape(-1, 1)
print(w[0:5])
決定木で回帰をする。。。
X_test = np.arange(0.0, 506, 1)[:, np.newaxis]
y_1 = regr_1.predict(X_test)
y_2 = regr_2.predict(X_test)
プロットをする。。
plt.figure(figsize=(24, 8), dpi=50)
plt.scatter(w, y, s=15, edgecolor="black", c="darkorange", label="data")
plt.plot(X_test, y_1, color="cornflowerblue",label="max_depth=2", linewidth=4)
plt.plot(X_test, y_2, color="yellowgreen", label="max_depth=5", linewidth=4)
plt.xlabel("data")
plt.ylabel("target")
plt.title("Decision Tree Regression")
plt.show()