작고 귀여운 첫 번째 Neural Network

원민관·2026년 3월 18일

[TIL]

목록 보기
206/208

선 체험, 후 이론 전략. 이론만 주야장천 듣는 것이 답답해서, 무작정 구현해 봤습니다. 어디서, 어떻게, 왜 쓰는지 알아야 납득하는 타입입니다. 설명은 차후에 이론 파트에서 다루겠습니다.

코드와 학습 결과 ✍️

import keras
import pandas as pd
import numpy as np

# CSV 파일 읽기
data = pd.read_csv('gpascore.csv')

# 결측값 제거
data = data.dropna()

# 정답(y)과 입력(x) 데이터 분리
y_data = data['admit'].values
x_data = []

for idx, rows in data.iterrows():
    x_data.append([rows['gre'], rows['gpa'], rows['rank']])

# 모델 생성 (입력층 → 은닉층 → 출력층)
model = keras.models.Sequential([
    keras.layers.Dense(64, activation='tanh'),
    keras.layers.Dense(128, activation='tanh'),
    keras.layers.Dense(1, activation='sigmoid'),  
])

# 모델 컴파일
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

# 모델 학습
model.fit(np.array(x_data), np.array(y_data), epochs=1000)

# 예측 (gre, gpa, rank 순서)
predict = model.predict(np.array([[750, 3.70, 3], [400, 2.2, 1]]))
print(predict)

시각화 ✍️

profile
Write a little every day, without hope, without despair ✍️

0개의 댓글