Linear regression
์ ํํ๊ท
Linear regression
- ๋น๊ต์ ๊ฐ๋จํ๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋จ
- ํน์ฑ์ด ํ๋์ธ ๊ฒฝ์ฐ ์ด๋ค ์ง์ ์ ํ์ต
- ํน์ฑ์ ๊ฐ์๋ฅผ ํฌ๊ฒ ๋๋ฆฌ๋ฉด ์ ํ๋ชจ๋ธ์ด ๊ฐ๋ ฅํด์ง. But, ํน์ฑ์ด ๋๋ฌด ๋ง์ผ๋ฉด training set์์ ๊ณผ๋์ ํฉ, test set์์ ๊ณผ์์ ํฉ
# ๊ธฐ๋ณธ ํํ
y = ax + b
- ์ ๋ ฅ ํน์ฑ์ ๊ฐ์ค์น ํฉ๊ณผ ํธํฅ(bias or intercept)๋ผ๋ ์์๋ฅผ ๋ํด ์์ธก์ ๋ง๋ฆ
์ฌ์ดํท๋ฐ์์ ์ ํํ๊ท
from sklearn.linear_model import LinearRegression
lr = LinearRegression()
# ํ๋ จ
lr.fit(train_input, train_target)
# ์์ธก
lr.predict(new_value)
# LinearRegression ํด๋์ค๊ฐ ์ฐพ์ a์ b ๊ฐ์ ๊ฐ๊ฐ lr.coef_, lr.intercept_์ ์ ์ฅ
print(lr.coef_, lr.intercept_)
# ํ๋ จ์ธํธ score
print(lr.score(train_input, train_target))
# ํ
์คํธ์ธํธ score
print(lr.score(test_input, test_target))
- coef_, intercept_๋ model parameter
- ๋ชจ๋ธ ๊ธฐ๋ฐ ํ์ต = ์ต์ ์ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฐพ๋ ๊ฒ
- ์ฌ๋ก ๊ธฐ๋ฐ ํ์ต = ํ๋ จ ์ธํธ๋ฅผ ์ ์ฅํ๋ ๊ฒ์ด ํ๋ จ์ ์ ๋ถ. ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๊ฐ ์์
Linear regression์ ์ฑ๋ฅ ์ธก์
- ํ๊ท ์ ๊ณฑ๊ทผ ์ค์ฐจ (RMSE)
- RMSE๋ฅผ ์ต์ํํ๋ ๋ชจ๋ธํ๋ผ๋ฏธํฐ๋ฅผ ์ฐพ์์ผ ํจ
- ์ค์ ๋ก๋ RMSE๋ณด๋ค ํ๊ท ์ ๊ณฑ ์ค์ฐจ(MSE)๋ฅผ ์ต์ํํ๋ ๊ฒ์ด ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋ฉด์ ๋ ๊ฐ๋จ
โ ๋ ๋ง์ ๋ด์ฉ ๋ณด๋ฌ๊ฐ๊ธฐ click click! โ