1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| from sklearn import linear_model
### 1次式で回帰
X1_TRAIN = x_train X1_TEST = x_test
# 学習 model = linear_model.LinearRegression() model.fit(X1_TRAIN, y_train) # y_trainは学習データ()
# グラフに描画 plt.plot(x_test, model.predict(X1_TEST), linestyle='-.', label='poly deg 1')
### 2次式で回帰
X2_TRAIN = np.c_[x_train**2, x_train] X2_TEST = np.c_[x_test**2, x_test]
# 学習 model = linear_model.LinearRegression() model.fit(X2_TRAIN, y_train)
# グラフに描画 plt.plot(x_test, model.predict(X2_TEST), linestyle='--', label='poly deg 2')
### データの表示
plt.scatter(x_train, y_train, c='blue', s=30, marker='*', label='train') plt.scatter(x_test, y_test, c='red', s=30, marker='x', label='tes')
# 元の線を点線スタイルで表示 plt.plot(x, y, linestyle='-', label='non noise curve')
# x軸とy軸の範囲を設定 plt.xlim(x_min, y_max) plt.ylim(y_min, y_max)
# 凡例の表示位置を指定 plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0)
# グラフを表示 plt.show()
|