분류와 회귀를 한 모델로

Keras로 배우는 Advanced Deep Learning

Zach Deane-Mayer

Data Scientist

단순 회귀/분류기 만들기

from tensorflow.keras.layers import Input, Dense
input_tensor = Input(shape=(1,))
output_tensor_reg = Dense(1)(input_tensor)
output_tensor_class = Dense(1, activation='sigmoid')(output_tensor_reg)

Keras로 배우는 Advanced Deep Learning

회귀/분류 모델 구성

from tensorflow.keras.models import Model
model = Model(input_tensor, [output_tensor_reg, output_tensor_class])
model.compile(loss=['mean_absolute_error', 'binary_crossentropy'],
              optimizer='adam')

Keras로 배우는 Advanced Deep Learning

결합 분류기/회귀기 학습

X = games_tourney_train[['seed_diff']]
y_reg = games_tourney_train[['score_diff']]
y_class = games_tourney_train[['won']]
model.fit(X, [y_reg, y_class], epochs=100)

Keras로 배우는 Advanced Deep Learning

모델 가중치 살펴보기

model.get_weights()

[array([[1.2371823]], dtype=float32), array([-0.05451894], dtype=float32), array([[0.13870609]], dtype=float32), array([0.00734114], dtype=float32)]

Keras로 배우는 Advanced Deep Learning

모델 가중치 살펴보기

model.get_weights()

[array([[1.2371823]], dtype=float32), array([-0.05451894], dtype=float32), array([[0.13870609]], dtype=float32), array([0.00734114], dtype=float32)]
from scipy.special import expit as sigmoid
print(sigmoid(1 * 0.13870609 + 0.00734114))
0.5364470465211318
Keras로 배우는 Advanced Deep Learning

새 데이터로 모델 평가

X = games_tourney_test[['seed_diff']]
y_reg = games_tourney_test[['score_diff']]
y_class = games_tourney_test[['won']]
model.evaluate(X, [y_reg, y_class])
[9.866300069455413, 9.281179495657208, 0.585120575627864]
Keras로 배우는 Advanced Deep Learning

이제 직접 해 보세요!

Keras로 배우는 Advanced Deep Learning

Preparing Video For Download...