Python 3 – Pythonでの多項式回帰-Pythonチュートリアル

Python

目次

多項式回帰は非常に便利です。 XとYの間には、常に線形関係があるとは限りません。関係が指数関数的またはN次である場合があります。

関連コース: Python機械学習コース

回帰

多項式回帰

XとYの間の多項式関係をプロットできます。線形関係がない場合は、多項式が必要になる場合があります。 線形関係とは異なり、多項式はデータによりよく適合します。

Pythonでの多項式回帰

この多項式行は、1行のコードで作成します。

1
poly_fit = np.poly1d(np.polyfit(X,Y, 2))

これにより、アルゴリズムがトレーニングされ、2次多項式が使用されます。
トレーニング後、新しい例を使用してpolyfitを呼び出すことで値を予測できます。 その後、連続値を出力します。

以下の例では、収集されたデータの上に多項式線をプロットします。 アルゴリズムをトレーニングしてから、連続値の予測を行います。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import numpy as np
import matplotlib.pyplot as plt

X = [1, 5, 8, 10, 14, 18]
Y = [1, 1, 10, 20, 45, 75]


degree = 2
poly_fit = np.poly1d(np.polyfit(X,Y, degree))


xx = np.linspace(0, 26, 100)
plt.plot(xx, poly_fit(xx), c='r',linestyle='-')
plt.title('Polynomial')
plt.xlabel('X')
plt.ylabel('Y')
plt.axis([0, 25, 0, 100])
plt.grid(True)
plt.scatter(X, Y)
plt.show()


print( poly_fit(12) )

過剰適合と過適合

オーバーフィットまたはアンダーフィットしないことが重要です。関係を把握したいが、ポイントに正確に従わないようにします。 線形関係はアンダーフィットであり、オーバーフィットはポイントにフィットするほど高い次数を選択することです。 代わりに、関係をキャプチャする必要があります。

機械学習を初めて使用する場合は、 それなら私はこの本を強くお勧めします。

例と演習をダウンロードする

Hope this helps!

Source link

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です