線形回帰でいう線形とは、パラメータに対して線形ということなので、超平面以外のモデルも含まれます。
質問の意図が超平面による回帰を意図していたのであれば、過学習はしないと思いますが、データが線形でない場合はうまく学習することはできません (過少適合)。
線形回帰 - Wikipedia より引用
以下は全部線形回帰
python
1import matplotlib.pyplot as plt
2import numpy as np
3from sklearn.linear_model import LinearRegression
4from sklearn.pipeline import Pipeline
5from sklearn.preprocessing import PolynomialFeatures
6
7# データを生成する。
8X = np.array([[2.8], [2.9], [3.0], [3.1], [3.2], [3.3], [3.4], [3.5], [3.6]])
9y = np.array([30, 26, 33, 31, 33, 35, 37, 36, 33])
10
11for deg in range(1, 10, 3):
12 pf = PolynomialFeatures(degree=deg)
13 X_poly = pf.fit_transform(X)
14
15 # 学習する。
16 reg = LinearRegression().fit(X_poly, y)
17
18 # 結果を描画する。
19 y_pred = reg.predict(X_poly)
20
21 fig, ax = plt.subplots()
22 ax.set_title(f"degree = {deg}")
23 ax.scatter(X.ravel(), y)
24 ax.plot(X.ravel(), y_pred, "r")
25
26 plt.show()