반응형
# -*- coding: utf-8 -*-
import tensorflow as tf
import numpy as np
import pandas as pd

# 1. 데이터 프로세싱

data = pd.read_csv('gpascore.csv')

data = data.dropna()
 # print(data.isnull().sum())
 # data = data.dropna()  빈칸 제거
 # data = data.fillna(100)  빈칸 100으로 채움
 # exit()  # breakpoint임

ydata = data['admit'].values

xdata = []
for i,rows in data.iterrows():  # 판다스에서 쓰는 것으로 data라는 데이터프레임을 가로 한줄씩 출력
    xdata.append([rows['gre'], rows['gpa'], rows['rank']])

# 2. 모델 구현

model = tf.keras.models.Sequential([
    tf.keras.layers.Dense(120, activation = 'relu'),
    tf.keras.layers.Dense(300, activation = 'relu'),
    tf.keras.layers.Dense(1, activation = 'sigmoid')
])
 # binary_crossentropy는 0,1사이의 확률 문제에서 손실값을 보정해주는 함수로 자주 쓰임
 # adam은 그냥 대표적인 경사하강법 함수
model.compile(optimizer = 'adam', loss = 'binary_crossentropy' , metrics = ['accuracy'])

model.fit(np.array(xdata),np.array(ydata), epochs = 500)

# 3. 예측값 넣기

showme = model.predict([ [825,3.64,1], [0,4.01,1]])
print(showme)

 

반응형

+ Recent posts