1. 케라스로 구현하는 로지스틱 회귀
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.')
: x값이 5와 10사이의 어떤 값일 때 y값이 0.5가 넘기 시작
: x값이 5일 때는 y값이 0.5보다 작고, x값이 10일 때는 y값이 0.5를 넘을 것
print(model.predict([1, 2, 3, 4, 4.5]))
print(model.predict([11, 21, 31, 41, 500]))
[[0.21071826]
[0.26909265]
[0.33673897]
[0.41180944]
[0.45120454]]
[[0.86910886]
[0.99398106]
[0.99975663]
[0.9999902 ]
[1. ]]