자세히 보면 같은 데이터의 중복이다.
import tensorflow as tf
import pandas as pd
import numpy as np
# pandas 엑셀 읽기
data = pd.read_csv('score.csv')
# x데이터 (영어점수, 평점)
xData = []
for i,rows in data.iterrows():
xData.append( [ rows['eng_score'], rows['tot_score'] ] )
# y데이터(합불)
yData = data['yn'].values
# layer의 갯수 세팅
model = tf.keras.models.Sequential([
tf.keras.layers.Dense(64, activation='tanh'),
tf.keras.layers.Dense(128, activation='tanh'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'] )
1000번만 돌리자. 노트북 뜨거워진다...
model.fit( np.array(xData), np.array(yData), epochs=1000 )
# 영어점수와 학점으로 합불 예측
print(model.predict( [[9, 3.5]] ))
print(model.predict( [[9, 3.6]] ))
print(model.predict( [[9, 3.7]] ))
print(model.predict( [[9, 3.8]] ))
print(model.predict( [[9, 3.9]] ))
영어점수 9점, 평점 4는 있지만 3.5는 없다. 그러나 3.6~3.9 구간의 합격 확률이 높아지는 것을 볼 수 있다.
[[0.08848792]]
[[0.21077263]]
[[0.40116122]]
[[0.60247815]]
[[0.7551091]]