決定木を使ってScikit-learn Boston Housing Datasetの回帰をしてみる
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()
Author And Source
この問題について(決定木を使ってScikit-learn Boston Housing Datasetの回帰をしてみる), 我々は、より多くの情報をここで見つけました https://qiita.com/Ruo_Ando/items/af4f4f0f2004ac4c5403著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .