ํ๋ก๊ทธ๋๋ฐ ์ธ๊ณ๋ฅผ ํ๊ตฌํฉ์๋ค.
๋ค์คํ๊ท๋ชจ๋ธ(Multiple Regression)
- ์ฌ๋ฌ ๊ฐ์ ํน์ฑ์ ์ฌ์ฉํ ํ๊ท๋ชจ๋ธ
- ํน์ฑ์ด ๋ง์์๋ก ๋ณต์ก๋๊ฐ ์ฆ๊ฐ๋จ(ํ๋ จ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆผ, ์์คํ
์ฑ๋ฅ์ ๋ฐ๋ผ ๋น ๋ฅผ ์๋ ์์)
- ๋ค์คํ๊ท๋ชจ๋ธ ๊ณต์
y = a*x1 + b*x2 + c*x3 + .... + y์ ํธ
๋ฐ์ดํฐ ๋ถ๋ฌ๋ค์ด๊ธฐ
### ๋ฐ์ดํฐ ๋ถ๋ฌ๋ค์ด๊ธฐ
# ์ฌ์ฉํ ๋ฐ์ดํฐํ๋ ์ ๋ณ์ : df
import pandas as pd
df = pd.read_csv("./data/03_๋์ด์_๊ธธ์ด_๋์ด_๋๊ป_๋ฐ์ดํฐ.csv")
df.info()
df.head()
df.describe()
๋์ด์ ๊ธธ์ด, ๋๊ป, ๋์ด ๊ฐ์ ์ด์ฉํด์ -> ๋ฌด๊ฒ ์์ธกํ๊ธฐ
- ๋
๋ฆฝ๋ณ์ : ๊ธธ์ด, ๋๊ป, ๋์ด
- ์ข
์๋ณ์ : ๋ฌด๊ฒ
๋ ๋ฆฝ๋ณ์ ์์ฑํ๊ธฐ
"""
๋
๋ฆฝ๋ณ์ ์์ฑํ๊ธฐ
- ๋ฐ์ดํฐํ๋ ์์ ํน์ฑ ์ค์ ๋
๋ฆฝ๋ณ์๋ก ์ฌ์ฉํ ํน์ฑ๋ค์
- 2์ฐจ์์ ๋ฆฌ์คํธ ๋๋ ๋ฐฐ์ด ํํ๋ก ๋ง๋ค์ด์ผ ํฉ๋๋ค.
"""
perch_full = df.to_numpy()
perch_full.shape
์ข ์๋ณ์ ์์ฑํ๊ธฐ
"""
์ข
์๋ณ์ ์์ฑํ๊ธฐ
"""
import numpy as np
### ๋์ด ๋ฌด๊ฒ
perch_weight = np.array(
[5.9, 32.0, 40.0, 51.5, 70.0, 100.0, 78.0, 80.0, 85.0, 85.0,
110.0, 115.0, 125.0, 130.0, 120.0, 120.0, 130.0, 135.0, 110.0,
130.0, 150.0, 145.0, 150.0, 170.0, 225.0, 145.0, 188.0, 180.0,
197.0, 218.0, 300.0, 260.0, 265.0, 250.0, 250.0, 300.0, 320.0,
514.0, 556.0, 840.0, 685.0, 700.0, 700.0, 690.0, 900.0, 650.0,
820.0, 850.0, 900.0, 1015.0, 820.0, 1100.0, 1000.0, 1100.0,
1000.0, 1000.0]
)
perch_weight.shape
ํ๋ จ ๋ฐ ํ ์คํธ ๋ฐ์ดํฐ๋ก ๋ถ๋ฅํ๊ธฐ
"""
ํ๋ จ ๋ฐ ํ
์คํธ ๋ฐ์ดํฐ๋ก ๋ถ๋ฅํ๊ธฐ
- ๋ถ๋ฅ ๊ธฐ์ค : ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ 30%๋ก, ๋๋ค๊ท์น์ 42๋ฒ
"""
from sklearn.model_selection import train_test_split
train_input, test_input, train_target, test_target = train_test_split(perch_full,
perch_weight,
test_size=0.3,
random_state=42)
print(f"{train_input.shape}, {train_target.shape}")
print(f"{test_input.shape}, {test_target.shape}")
๋ชจ๋ธ ์์ฑํ๊ธฐ
""" ๋ชจ๋ธ ์์ฑํ๊ธฐ """
### ๋ถ๋ฅ๋ชจ๋ธ(ํด๋์ค) ์์ฑ์ํค๊ธฐ
lr = LinearRegression()
lr
""" ๋ชจ๋ธ ํ๋ จ ์ํค๊ธฐ """
### ๋ชจ๋ธ ํ๋ จ(ํ์ต) ์ํค๊ธฐ
# - KNN์ ์ง๋ํ์ต ๋ชจ๋ธ : ๋
๋ฆฝ๋ณ์์ ์ข
์๋ณ์ ๋ชจ๋ ์ฌ์ฉ
# - ํ๋ จ(ํ์ต)์ํค๋ ํจ์ : fit()
lr.fit(train_input, train_target)
""" ํ๋ จ์ ํ๋ ๋ฐ ๊ฒ์ฆ(ํ
์คํธ) ์ ํ๋ ํ์ธํ๊ธฐ """
train_r2 = lr.score(train_input, train_target)
test_r2 = lr.score(test_input, test_target)
train_r2, test_r2
"""๊ณผ์ ํฉ ์ฌ๋ถ ํ๋จํ๊ธฐ
- ํ๋ จ๊ณผ ๊ฒ์ฆ(ํ
์คํธ) ๊ฒฐ์ ๊ณ์์ ๊ฒฐ๊ณผ๋ก ๋ณผ ๋ ๊ณผ์์ ํฉ์ ๋ฐ์ํ์ง ์์์ผ๋ฉฐ,
๋ํ, 0.07~0.08 ์ ๋๋ก ๊ณผ๋์ ํฉ ๋ํ ์ผ์ด๋์ง ์์ ์ผ๋ฐํ๋ ๋ชจ๋ธ๋ก ๋ณผ ์ ์์
- ๋ค๋ง, ๊ฒ์ฆ(ํ
์คํธ) ์ ํ๋๊ฐ 0.8๋์์ 0.9๋๋ก ์ฌ๋ฆด ์ ์์์ง ๊ณ ๋ฏผํด ๋ด
๋๋ค.
- ํน์ฑ๊ณตํ์ ์ ์ฉํ์ฌ ํน์ฑ ๋๋ฆฌ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ง์ค๋๋ฅผ ๊ฐํํ๋ ๋ฐฉ์์ ์ฌ์ฉํด์ ์ฑ๋ฅ ํฅ์์ด ๋๋์ง ํ์ธ
"""
ํน์ฑ์ ์์ฑํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์ฌ์ฉ ํจํค์ง : sklearn.preprocessing
- ์ฌ์ฉ ํด๋์ค : PolynomialFeatures(๋ณํ๊ธฐ๋ผ๊ณ ๋ณดํต ์นญํฉ๋๋ค.)
- ์ฌ์ฉ ํจ์ : fit (ํ๋ จ ๋
๋ฆฝ๋ณ์์์ ์์ฑํ ํน์ฑ์ ํจํด ์ฐพ๊ธฐ), transform (์ฐพ์ ํจํด์ผ๋ก ํน์ฑ ์์ฑํ๊ธฐ)
- ์ข
์๋ณ์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
"""ํ
์คํธ ๋ฐ์ดํฐ๋ก ์์ธกํ๊ธฐ"""
test_pred = lr.predict(test_input)
test_pred
"""ํ๊ท ์ ๋์ค์ฐจ(MAE) ํ์ธํ๊ธฐ"""
from sklearn.metrics import mean_absolute_error
mean_absolute_error(test_target, test_pred)
PolynomialFeatures(๋ณํ๊ธฐ๋ผ๊ณ ๋ณดํต ์นญํฉ๋๋ค.)
### ํจํค์ง ์ ์ํ๊ธฐ
from sklearn.preprocessing import PolynomialFeatures
### ํด๋์ค ์์ฑํ๊ธฐ
# - ํน์ฑ์ ์์ฑ์ํฌ ๋ y์ ํธ๊ฐ๋ ์์ฑ์ ํจ๊ป ์ํต๋๋ค.
# - ํน์ฑ๋ง ์์ผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ y์ ํธ์ ์์ฑ์์ ์ ์ธ์ํค๊ธฐ ์ํด์
# -> include_bias = False๋ก ์ค์ ํฉ๋๋ค.
poly = PolynomialFeatures()
poly
sample ๋ฐ์ดํฐ๋ก ์ด๋ค ํน์ฑ๋ค์ด ๋ง๋ค์ด์ง๋์ง ํ์ธ ๋จผ์
### sample ๋ฐ์ดํฐ๋ก ์ด๋ค ํน์ฑ๋ค์ด ๋ง๋ค์ด์ง๋์ง ํ์ธ ๋จผ์
temp_data = [[2, 3, 4]]
temp_data
ํน์ฑ์ ๋ง๋ค ํจํด ์ฐพ๊ธฐ
### ํน์ฑ์ ๋ง๋ค ํจํด ์ฐพ๊ธฐ
poly.fit(temp_data)
์ฐพ์ ํจํด์ผ๋ก ํน์ฑ ์์ฑํ๊ธฐ
### ์ฐพ์ ํจํด์ผ๋ก ํน์ฑ ์์ฑํ๊ธฐ
poly.transform(temp_data)
์ค์ ๋ ๋ฆฝ๋ณ์๋ฅผ ์ด์ฉํด์ ํน์ฑ ์์ฑํ๊ธฐ
### ํด๋์ค ์์ฑํ๊ธฐ
# - degree=2 : ์ฐจ์์ ์๋ฏธํ๋ฉฐ 2๋ ์ ๊ณฑ์น์ ์๋ฏธํจ
# : 3์ ๋ฃ์ผ๋ฉด 2์ ์ ๊ณฑ, 3์ ์ ๊ณฑ์ ์ํ
# : 4๋ฅผ ๋ฃ์ผ๋ฉด 2์ ์ ๊ณฑ, 3์ ์ ๊ณฑ, 4์ ์ ๊ณฑ์น์ ์ํํจ
# : ๊ธฐ๋ณธ๊ฐ์ 2 (์๋ตํ๋ฉด 2์ ์ ๊ณฑ์น์ด ์ ์ฉ๋จ)
poly = PolynomialFeatures(degree=2, include_bias=False)
poly
### ํจํด ์ฐพ๊ธฐ
# - ํ๋ จ ๋
๋ฆฝ๋ณ์ ์ฌ์ฉ
poly.fit(train_input)
ํน์ฑ ์์ฑํ๊ธฐ
### ํน์ฑ ์์ฑํ๊ธฐ
### ํ๋ จ ๋
๋ฆฝ๋ณ์์ ํน์ฑ ์ถ๊ฐํ๊ธฐ
train_poly = poly.transform(train_input)
### ํ
์คํธ ๋
๋ฆฝ๋ณ์์ ํน์ฑ ์ถ๊ฐํ๊ธฐ
test_poly = poly.transform(test_input)
train_poly.shape, test_poly.shape
์ฌ์ฉ๋ ํจํด ํ์ธํ๊ธฐ
### ์ฌ์ฉ๋ ํจํด ํ์ธํ๊ธฐ
poly.get_feature_names_out()
### ๋ชจ๋ธ ์์ฑํ๊ธฐ
lr = LinearRegression()
lr
### ๋ชจ๋ธ ํ๋ จ์ํค๊ธฐ
lr.fit(train_poly, train_target)
### ํ๋ จ ์ ํ๋ ๋ฐ ํ
์คํธ (๊ฒ์ฆ) ์ ํ๋ ํ์ธ
train_r2 = lr.score(train_poly, train_target)
test_r2 = lr.score(test_poly, test_target)
### ์์ธกํ๊ธฐ
test_pred = lr.predict(test_poly)
### ๋ชจ๋ธ ํ๊ฐํ๊ธฐ(MAE)
mae = mean_absolute_error(test_target, test_pred)
train_r2, test_r2, mae
"""
(ํด์)
- ํน์ฑ๊ณตํ์ ์ ์ฉํ์ง ์์ ๋ชจ๋ธ์ ๊ฒ์ฆ(ํ
์คํธ) ์ ํ๋๊ฐ ๋ค์ ๋ฎ์์ผ๋ฉฐ, ์ค์ฐจ๊ฐ 50g ์ ๋์์ผ๋,
- ํน์ฑ๊ณตํ์ ์ ์ฉํ์ฌ ํน์ฑ์ ์ถ๊ฐํ์ฌ ํ๋ จ ์ง์ค๋๋ฅผ ๋์์ ๋๋
-> ํ๋ จ ๋ฐ ๊ฒ์ฆ(ํ
์คํธ) ์ ํ๋ ๋ชจ๋ ๋์์ก์ผ๋ฉฐ, ๊ณผ์ ํฉ์ด ๋ฐ์ํ์ง ์์ ์ผ๋ฐํ ๋ชจ๋ธ๋ก
-> ์ค์ฐจ๋ 30g ์ ๋์ ๋งค์ฐ ์ฐ์ํ ๋ชจ๋ธ๋ก ํ๋จ๋จ
- ์ด ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ค๋ฉด, ๋
๋ฆฝ๋ณ์์ ํน์ฑ ๊ธธ์ด, ๋๊ป, ๋์ด, ๋๊ป 3๊ฐ์ ํน์ฑ์ ์ฌ์ฉํด์ผ ํ๋ฉฐ, ํน์ฑ ์์ฑ ์ degree 2 ๋ฅผ ์ ์ฉํ ํน์ฑ์ ์ฌ์ฉํด์ผ ํจ
"""
ํด์
- ํน์ฑ๊ณตํ์ ์ ์ฉํ์ง ์์ ๋ชจ๋ธ์ ๊ฒ์ฆ(ํ
์คํธ) ์ ํ๋๊ฐ ๋ค์ ๋ฎ์์ผ๋ฉฐ, ์ค์ฐจ๊ฐ 50g ์ ๋์์ผ๋,
- ํน์ฑ๊ณตํ์ ์ ์ฉํ์ฌ ํน์ฑ์ ์ถ๊ฐํ์ฌ ํ๋ จ ์ง์ค๋๋ฅผ ๋์์ ๋๋
-> ํ๋ จ ๋ฐ ๊ฒ์ฆ(ํ
์คํธ) ์ ํ๋ ๋ชจ๋ ๋์์ก์ผ๋ฉฐ, ๊ณผ์ ํฉ์ด ๋ฐ์ํ์ง ์์ ์ผ๋ฐํ ๋ชจ๋ธ๋ก
-> ์ค์ฐจ๋ 30g ์ ๋์ ๋งค์ฐ ์ฐ์ํ ๋ชจ๋ธ๋ก ํ๋จ๋จ
- ์ด ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ค๋ฉด, ๋
๋ฆฝ๋ณ์์ ํน์ฑ ๊ธธ์ด, ๋๊ป, ๋์ด, ๋๊ป 3๊ฐ์ ํน์ฑ์ ์ฌ์ฉํด์ผ ํ๋ฉฐ, ํน์ฑ ์์ฑ ์ degree 2 ๋ฅผ ์ ์ฉํ ํน์ฑ์ ์ฌ์ฉํด์ผ ํจ
degree 3์ผ๋ก ๋ณ๊ฒฝํ์ ๋
### ์ฌ์ฉ๋ ํจํด ํ์ธํ๊ธฐ
poly.get_feature_names_out()
### ๋ชจ๋ธ ์์ฑํ๊ธฐ
lr = LinearRegression()
lr
### ๋ชจ๋ธ ํ๋ จ์ํค๊ธฐ
lr.fit(train_poly, train_target)
### ํ๋ จ ์ ํ๋ ๋ฐ ํ
์คํธ (๊ฒ์ฆ) ์ ํ๋ ํ์ธ
train_r2 = lr.score(train_poly, train_target)
test_r2 = lr.score(test_poly, test_target)
### ์์ธกํ๊ธฐ
test_pred = lr.predict(test_poly)
### ๋ชจ๋ธ ํ๊ฐํ๊ธฐ(MAE)
mae = mean_absolute_error(test_target, test_pred)
train_r2, test_r2, mae
๊ท์
- ๊ณผ๋ ๋๋ ๊ณผ์ ์ ํฉ ์ค์ ์ฃผ๋ก ๊ณผ๋์ ํฉ์ด ๋ฐ์ํ์ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
- ํ๋ จ์ ์ ํ๋๊ฐ ๋ค์ ๋ฎ์์ง๋ ๊ฒฝํฅ์ด ์์ผ๋, ๊ฒ์ฆ(ํ
์คํธ) ์ ํ๋๋ฅผ ๋์ด๋ ํจ๊ณผ๊ฐ ์์
- ํ๋ จ๋ชจ๋ธ์ ์ผ๋ฐํํ๋ ๋ฐ ์ฃผ๋ก ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์
- ๊ท์ ๊ฐ๋
์ ์ ์ฉํ ํฅ์๋ ๋ชจ๋ธ : ๋ฆฟ์ง(Ridge)์ ๋ผ์๊ฐ ์์ต๋๋ค.
๊ท์ ์์
1. ์ ๊ทํ(๋จ์(์ค์ผ์ผ)์ ํ์คํ ์ํค๋ ๋ฐฉ์)
2. ๊ท์ ๊ฐ ์ ์ฉ๋ ๋ชจ๋ธ ํ๋ จ/๊ฒ์ฆ
ํ๋ จ ๋ฐ ํ ์คํธ ๋ ๋ฆฝ๋ณ์ ์ ๊ทํํ๊ธฐ
### ํ์ฌ ์ฌ์ฉ๋๋ ๋
๋ฆฝ๋ณ์
train_poly.shape, test_poly.shape
"""์ ๊ทํ๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ"""
from sklearn.preprocessing import StandardScaler
์ ๊ทํ ์์
1. ์ ๊ทํ ํด๋์ค ์์ฑ
2. fit() : ์ ๊ทํ ํจํด ์ฐพ๊ธฐ (ํ๋ จ ๋
๋ฆฝ๋ณ์ ์ฌ์ฉ)
3. transform() : ์ฐพ์ ํจํด์ผ๋ก ์ ๊ทํ ๋ฐ์ดํฐ๋ก ๋ณํ (ํ๋ จ ๋ฐ ํ
์คํธ ๋
๋ฆฝ๋ณ์ ๋ณํ)
### ์ ๊ทํ ํด๋์ค ์์ฑํ๊ธฐ
ss = StandardScaler()
ss
### ์ ๊ทํ ํจํด ์ฐพ๊ธฐ
ss.fit(train_poly)
### ์ฐพ์ ํจํด์ผ๋ก ํ๋ จ ๋ฐ ํ
์คํธ ๋
๋ฆฝ๋ณ์ ๋ณํ ์์ฑํ๊ธฐ
train_scaled = ss.transform(train_poly)
test_scaled = ss.transform(test_poly)
print(f"{train_scaled.shape} / {test_scaled.shape}")
๋ฆฟ์ง(Ridge) ๋ชจ๋ธ
### ๋ชจ๋ธ ์์ฑํ๊ธฐ
from sklearn.linear_model import Ridge
ridge = Ridge()
ridge
### ๋ชจ๋ธ ํ๋ จ ์ํค๊ธฐ
ridge.fit(train_scaled, train_target)
### ํ๋ จ ๋ฐ ๊ฒ์ฆ(ํ
์คํธ) ์ ํ๋ ํ์ธํ๊ธฐ
train_r2 = ridge.score(train_scaled, train_target)
test_r2 = ridge.score(test_scaled, test_target)
train_r2, test_r2
### ์์ธกํ๊ธฐ
test_pred = ridge.predict(test_scaled)
### ํ๊ฐํ๊ธฐ(MAE)
mae = mean_absolute_error(test_target, test_pred)
train_r2, test_r2, mae
ํด์
- ๊ณผ์ ํฉ ์ฌ๋ถ๋ฅผ ํ์ธํ ๊ฒฐ๊ณผ, ๊ณผ์์ ํฉ์ ๋ฐ์ํ์ง ์์์ผ๋ฉฐ,
- ๊ธฐ์กด ํน์ฑ๊ณตํ์ ์ ์ฉํ ์ฐ์ํ ๋ชจ๋ธ๋ณด๋ค๋ ํ๋ จ์ ํ๋๋ 0.005์ ๋ ๋ฎ์์ก์ง๋ง,
๊ฒ์ฆ(ํ
์คํธ) ์ ํ๋๋ 0.013์ ๋ ๋์์ก์
- ๋ํ, ํ๊ท ์ ๋์ค์ฐจ(MAE)๋ 1g ๋ฎ์์ก์
- ๋ฐ๋ผ์, ์ผ๋ฐํ๋๊ณ ์ค์ฐจ๊ฐ ์์ Ridge(๋ฆฟ์ง)๋ชจ๋ธ์ ๋งค์ฐ ์ฐ์ํ ๋ชจ๋ธ๋ก ํ๋จ๋จ
๋ผ์ (Lasso) ๋ชจ๋ธ
### ์ฌ์ฉํ ํจํค์ง
from sklearn.linear_model import Lasso
### ๋ชจ๋ธ ์์ฑํ๊ธฐ
lasso = Lasso()
lasso
### ๋ชจ๋ธ ํ๋ จ์ํค๊ธฐ
lasso.fit(train_scaled, train_target)
### ํ๋ จ ๋ฐ ๊ฒ์ฆ(ํ
์คํธ) ์ ํ๋ ํ์ธํ๊ธฐ
train_r2 = lasso.score(train_scaled, train_target)
test_r2 = lasso.score(test_scaled, test_target)
train_r2, test_r2
"""์์ธกํ๊ธฐ"""
test_pred = lasso.predict(test_scaled)
"""ํ๊ฐํ๊ธฐ"""
mae = mean_absolute_error(test_target, test_pred)
train_r2, test_r2, mae
ํด์
- 0.0002 ์ ๋์ ๊ณผ์์ ํฉ์ด ์๋ ๊ฒ์ผ๋ก ๋ณด์
- ์ค์ฐจ๊ฐ๋ 3g์ ๋ ์์์ก์
- ๊ณผ์์ ํฉ์ด ๋ฏธ์ธํ ์ฐจ์ด๊ธฐ ๋๋ฌธ์ ๋ฆฟ์ง ๋ชจ๋ธ๊ณผ ๋น๊ตํ์ ๋ ๋์ ๋ชจ๋ธ์ ์๋์ง๋ง,
์ฌ์ฉํ๊ธฐ์๋ ๋ฏธํกํ ๋ถ๋ถ์ผ๋ก ํ๋จ๋จ
ํ์ดํผํ๋ผ๋ฉํฐ ํ๋ํ๊ธฐ (๊ท์ ์ ์ฉ)
๋ฆฟ์ง(Ridge) ๋ชจ๋ธ ๊ท์ ํ๋ํ๊ธฐ
- alpha : ๊ท์ ๊ฐ๋ ๊ฐ
- ๊ฐ์ ๋ฒ์ 0.001 ~ 100 ์ฌ์ด์ ๊ฐ
- ๊ฐ์ด ์์์๋ก ํ๋ จ ์ ํ๋๋ ๋ฎ์์ง๋ฉด์, ๊ณผ์ ํฉ์ ๋์์ ์ฃผ๊ฒ ๋จ
- ๊ฐ์ด ์ปค์ง์๋ก ํ๋ จ ์ ํ๋๋ ๋์์ง. ๊ณผ์ ํฉ์๋ ๋์์ด ๋์ง ์์ ์ ์์.
"""
๋ฆฟ์ง(Ridge) ๋ชจ๋ธ ๊ท์ ํ๋ํ๊ธฐ
- alpha : ๊ท์ ๊ฐ๋ ๊ฐ
- ๊ฐ์ ๋ฒ์ 0.001 ~ 100 ์ฌ์ด์ ๊ฐ
- ๊ฐ์ด ์์์๋ก ํ๋ จ ์ ํ๋๋ ๋ฎ์์ง๋ฉด์, ๊ณผ์ ํฉ์ ๋์์ ์ฃผ๊ฒ ๋จ
- ๊ฐ์ด ์ปค์ง์๋ก ํ๋ จ ์ ํ๋๋ ๋์์ง. ๊ณผ์ ํฉ์๋ ๋์์ด ๋์ง ์์ ์ ์์.
- ๊ธฐ๋ณธ ๊ฐ = 1
"""
ridge = Ridge(alpha = 0.1)
ridge.fit(train_scaled, train_target)
ridge.score(train_scaled, train_target), ridge.score(test_scaled, test_target)
# 1 = (0.9849041294689239, 0.9845173591615219)
# 0.1 = (0.9882780161390031, 0.9868237771849514)
'IT > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ์๊ณ์ด๋ถ์_์ฃผ์๋ฐ์ดํฐ_์ฃผ๊ฐ์์ธก (0) | 2024.01.17 |
---|---|
[Python] ๋จธ์ ๋ฌ๋ 04_์ ํํ๊ท๋ชจ๋ธ, ๋คํญํ๊ท๋ชจ๋ธ(๊ณก์ ) (2) | 2023.12.25 |
[Python] ๋จธ์ ๋ฌ๋ 03_KNN ํ๊ท๋ชจ๋ธ (3) | 2023.12.22 |
[Python] ๋จธ์ ๋ฌ๋ 02_ํ๋ จ ๋ฐ ํ ์คํธ๋ฐ์ดํฐ ๋ถ๋ฅํ๊ธฐ (5) | 2023.12.21 |
[Python] ๋จธ์ ๋ฌ๋ 01_์์ ๊ตฌ๋ถํ๊ธฐ_K์ต๊ทผ์ ์ด์๋ชจ๋ธ (6) | 2023.12.20 |