導入
学習した直線は、y = a·x + b の a(傾き=係数)と b(切片)という数字で表せます。これを読むと、モデルが何を学んだのかが分かります。
説明
model.coef_ に傾き、model.intercept_ に切片が入っています。
import numpy as np
from sklearn.linear_model import LinearRegression
X = np.array([[22], [25], [28], [30], [33], [35]])
y = np.array([120, 150, 190, 220, 260, 300])
model = LinearRegression()
model.fit(X, y)
print("係数 (傾き):", round(model.coef_[0], 2))
print("切片:", round(model.intercept_, 2))
# 予測は「傾き × 気温 + 切片」を自分で計算しても同じ
temp = 30
print("30℃の予測:", round(model.predict([[30]])[0], 1))
print("手計算:", round(model.coef_[0] * temp + model.intercept_, 1))
**係数(傾き)**は「気温が1℃上がるごとに売上が何個増えるか」を表します。この値が大きいほど、気温が売上に強く影響しているということです。予測は結局「傾き × 入力 + 切片」の計算なので、モデルがブラックボックスではないことが分かります。
やってみよう
predict の結果と「手計算」の結果が一致することを確かめましょう。temp の値をいろいろ変えて、両者が常に同じになるか試してください。
演習
上のモデルの**係数(傾き)**を、小数第2位で丸めて print で表示してください。
ヒント1を見る
round(model.coef_[0], 2)。