
5.6
詳細:線形回帰
393
ために線形モデルを一般化する方法について説明します。最初に標準的なモジュールをインポート
します。
In[1]: %matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns; sns.set()
import numpy as np
5.6.1
単回帰
最もよく知られている線形回帰(データに直線を当てはめる)から始めます。直線の当てはめは、
y
=
ax
+
b
という形のモデルであり、ここで
a
は傾き(
slope
)、
b
は切片(
intercept
)を表します。
傾きが
2
で、切片が−
5
である線の周りに散在している以下のデータを考えてみましょう(図
5-42)。
In[2]: rng = np.random.RandomState(1)
x = 10 * rng.ra
nd(50)
y = 2 * x - 5 + rng.randn(50)
plt.scatter(x, y);
図5-42 線形回帰用のデータ
scikit-learn
の
LinearRegression
推定器を使用して、このデータに当てはめた最適な線を作成で
きます(図 5-43)。
In[3]: from sklearn.linear_model import LinearRegression
model = LinearRegression(fit_intercept=True)
model.fit(x[:, np.newaxis], y) ...