๐Ÿ’ฟ Data/์ด๋ชจ์ €๋ชจ

[๋”ฅ๋Ÿฌ๋‹]๊ฐ„๋‹จ ์‹ ๊ฒฝ๋ง ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ๋ง, ์„ฑ๋Šฅ ๋น„๊ต

Jayden1116 2022. 2. 26. 16:12

0) ๋ฐ์ดํ„ฐ ํ™•์ธ ๋ฐ ์ „์ฒ˜๋ฆฌ

# ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
import tensorflow as tf
boston_housing = tf.keras.datasets.boston_housing
(X_train, y_train), (X_test, y_test) = boston_housing.load_data()

# ๋ฐ์ดํ„ฐ ์…‹ shape ํ™•์ธ
X_train.shape 

# ๋ฐ์ดํ„ฐ ํŠน์„ฑ scale ๋งž์ถ”๊ธฐ
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()

X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

1) ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(32, activation='relu'))
model.add(tf.keras.layers.Dense(16, activation='relu'))
model.add(tf.keras.layers.Dense(1))

model.compile(optimizer='sgd',
              loss='mean_squared_error',
              metrics='mae')

model.fit(X_train_scaled, y_train, epochs=300)

model.evaluate(X_test_scaled, y_test, verbose=2)

 

image

2) ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ

from sklearn.linear_model import LinearRegression

model2 = LinearRegression()

model2.fit(X_train_scaled, y_train)

y_pred_test = model2.predict(X_test_scaled)

from sklearn.metrics import mean_squared_error as mse, mean_absolute_error as mae, r2_score as r2

print(f'mse : {mse(y_test, y_pred_test)}')
print(f'mae : {mae(y_test, y_pred_test)}')
print(f'r2 : {r2(y_test, y_pred_test)}')

 

image

์‹ ๊ฒฝ๋ง ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์ •๋ง ๋‹จ์ˆœํ•˜๊ฒŒ ๊ตฌ์„ฑํ•ด๋ณด์•˜๋Š”๋ฐ, ์•„์ฃผ ํฐ ์ฐจ์ด๋Š” ์•„๋‹ˆ์ง€๋งŒ ์‹ ๊ฒฝ๋ง์˜ ์„ฑ๋Šฅ์ด ์šฐ์ˆ˜ํ•˜๊ฒŒ ๋‚˜์˜จ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. :)