머신러닝

머신러닝 / 로지스틱 회귀 케라스 구현

삼전동해커 2023. 1. 13. 15:49
import numpy as np
import matplotlib.pyplot as plt
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras import optimizers

x = np.array([-50, -40, -30, -20, -10, -5, 0, 5, 10, 20, 30, 40, 50])
y = np.array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1]) # 숫자 10부터 1

model = Sequential()
model.add(Dense(1, input_dim=1, activation='sigmoid'))

sgd = optimizers.SGD(lr=0.01)
model.compile(optimizer=sgd, loss='binary_crossentropy', metrics=['binary_accuracy'])

model.fit(x, y, epochs=200)

plt.plot(x, model.predict(x), 'b', x,y, 'k.')

케라스는 간단하게 activation과 손실함수, 메트릭스만 잘 설정해주면 된다.

 

예측값이 예상과 다르게 나오는데 초기 가중치 설정에 문제가 있는것 같다.