์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- DBSCAN
- pandas
- ์ฃผ์ฑ๋ถ๋ถ์
- ๊ตฐ์งํ
- ์ธ๋์ํ๋ง
- ๋ ๋ฆฝํ๋ณธ
- PCA
- ์๋ํด๋ผ์ฐ๋
- ADP
- Lambda
- ๋ฐ์ดํฐ๋ถ์์ ๋ฌธ๊ฐ
- ์ค๋ฒ์ํ๋ง
- ํฌ๋กค๋ง
- ๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ
- datascience
- ADsP
- LDA
- ๋น ๋ฐ์ดํฐ
- ํ์ด์ฌ
- Python
- ๋ฐ์ดํฐ๋ถ๊ท ํ
- dataframe
- ํ ์คํธ๋ถ์
- ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ
- t-test
- numpy
- ๋์ํ๋ณธ
- opencv
- ๋ฐ์ดํฐ๋ถ์
- iloc
Data Science LAB
[Python] ๋คํญ ํ๊ท๋ถ์ (Polynomial Regression) ๋ณธ๋ฌธ
[Python] ๋คํญ ํ๊ท๋ถ์ (Polynomial Regression)
ใ ใ ใ ใ 2022. 8. 24. 14:48๋ฐ์ดํฐ๊ฐ ๋จ์ํ ์ง์ ํํ๊ฐ ์๋ ๋น์ ํ์ ํํ๋ฅผ ๊ฐ๊ณ ์์ ๋, ๊ฐ ๋ณ์์ ๊ฑฐ๋ญ ์ ๊ณฑ์ ์๋ก์ด ๋ณ์๋ก ์ถ๊ฐํ๋ฉด ์ ํ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ ๊ฒ ํ์ฅ๋ ํน์ฑ์ ๋ฐ์ดํฐ ์ธํธ์ ์ ํ ๋ชจ๋ธ๋ก ํ๋ จ ์ํค๋ ๊ธฐ๋ฒ์ ๋คํญํ๊ท๋ผ๊ณ ํ๋ค.
1. ๋คํญ ๋ณ์ ์์ฑ
PolynomialFeatures(degree=d)๋ฅผ ํ์ฉํด ๋ณ์ ํน์ฑ์ ๊ฑฐ๋ญ์ ๊ณฑ์ผ๋ก ๋ณํ
class sklearn.preprocessing.PolynomialFeatures(degree=2, interaction_only=False, include_bias = True, order='C')
- ๋งค๊ฐ๋ณ์
- degree : ๋คํญ์์ ์ฐจ์ ๊ฒฐ์ (default=2)
- interaction_only : ๊ต์ฐจํญ์ ์ถ๊ฐํ ์ง ์ฌ๋ถ ๊ฒฐ์ (False์ธ ๊ฒฝ์ฐ ๊ต์ฐจํญ๊ณผ ๋์ผํ ๋ณ์์ 2์ ๊ณฑ ์ด์์ธ ํญ๋ ์ถ๊ฐ๋จ)
- include_bias : bias ์ปฌ๋ผ ์ถ๊ฐํ ์ง ์ฌ๋ถ
2. ์ ํ ๊ฒฐํฉ
PolynomialFeatures๋ก ์์ฑํ ๋ณ์๋ค์ LinearRegression()์ ์ ๋ ฅ๊ฐ์ผ๋ก ๋์ ํ๋ฉด ๋คํญ ํ๊ท๋ถ์ ์ํ ๊ฐ๋ฅ
import pandas as pd
import numpy as np
m = 100
X = 6 * np.random.rand(m,1) - 3
y = 3 * X **3 + X**2 + 2*X + 2 + np.random.randn(m,1) # ๋
ธ์ด์ฆ ํฌํจ
line = np.linspace(-3,3,100,endpoint=False).reshape(-1,1)
X : 0~1์ฌ์ด์ ๊ท ์ผ๋ถํฌ ๋์๋ฅผ (100,1)๋ก ์์ฑ
y : X ๋ณ์๋ฅผ ์ด์ฉํ 3์ฐจ ๋คํญ์ ์์ฑ
line : -3๋ถํฐ 3๊น์ง 100๊ฐ์ ์ซ์ ์ฑ์ด ํ 1์ด ํ์์ผ๋ก reshape (-1์ ํ์ ๊ฐ์๊ฐ ๊ฐ๋ณ์ ์์ ์๋ฏธ)
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures
# X**3๊น์ง 3์ฐจํญ์ ์ ์ฉ์์ผ์ผํจ
poly = PolynomialFeatures(degree=3, include_bias=False)
poly.fit(X)
X_poly = poly.transform(X)
line_poly = poly.transform(line)
reg = LinearRegression().fit(X_poly, y)
plt.plot(line, reg.predict(line_poly), c='r', linewidth=3)
plt.plot(X,y,'o',c='g',alpha=0.5)
degree๋ 3์ผ๋ก ์ค์ ํ Polynomialํจ์์ fit()
'๐ Machine Learning > ๊ธฐ์ด ํต๊ณ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ๋ฑ๋ถ์ฐ๊ฒ์ (์ ๊ท๋ถํฌ์ ๋ชจ๋ถ์ฐ์ ๋ํ ๊ฒ์ ) (0) | 2022.09.20 |
---|---|
[Python] ํ์์ ์์ธ๋ถ์ (FA) (0) | 2022.09.19 |
[Python] ์ ํ ํ๊ท๋ถ์ (0) | 2022.08.22 |
[Python] ๊ต์ฐจ ๋ถ์ (์นด์ด์ ๊ณฑ ๊ฒ์ ) (0) | 2022.08.21 |
[Python] ์ด์ ๋ฐฐ์น ๋ถ์ฐ ๋ถ์ (Two-way ANOVA) (0) | 2022.08.20 |