기술과 산업/AI

AI 모델 만들기 시리즈 6화 – Scikit-learn으로 첫 번째 분류 모델 만들기

B컷개발자 2025. 5. 7. 00:59
728x90

이전 회차까지 우리는 AI 모델 개발의 전체 구조와 핵심 전처리 과정을 학습했습니다.

이제는 이 지식을 실제 코드와 함께 첫 AI 모델 구현으로 연결할 차례입니다.

 

이번 회차에서는 **Scikit-learn의 로지스틱 회귀(Logistic Regression)**를 활용하여

간단한 이진 분류 문제를 해결해보겠습니다.

 


 

실습 목적

 

  • Scikit-learn 기반의 분류 모델 구현 흐름 익히기
  • 전처리된 데이터를 학습에 연결하는 방법 학습
  • 분류 모델의 평가 지표 확인

 


 

사용 데이터셋: 타이타닉 생존자 예측

 

Kaggle의 유명한 타이타닉 생존자 데이터셋을 사용합니다.

각 승객의 정보(나이, 성별, 선실 등)를 통해 생존 여부를 예측하는 이진 분류 문제입니다.

변수명설명

Pclass 선실 등급 (1~3)
Sex 성별
Age 나이
SibSp 형제/배우자 수
Parch 부모/자녀 수
Fare 요금
Embarked 탑승 항구
Survived 생존 여부 (0=사망, 1=생존, 타겟)

 

 


 

코드 실습 – 단계별 구현

 

 

1. 데이터 불러오기

import pandas as pd

# 타이타닉 데이터 로딩
df = pd.read_csv('https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv')
df = df[['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare', 'Embarked', 'Survived']]

 

 


 

2. 전처리

# 결측치 처리
df['Age'].fillna(df['Age'].median(), inplace=True)
df['Embarked'].fillna(df['Embarked'].mode()[0], inplace=True)

# 범주형 변수 인코딩
df = pd.get_dummies(df, columns=['Sex', 'Embarked'], drop_first=True)

# 입력값과 정답 분리
X = df.drop('Survived', axis=1)
y = df['Survived']

 

 


 

3. 데이터 분할

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42, stratify=y
)

 

 


 

4. 모델 학습

from sklearn.linear_model import LogisticRegression

model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)

 

 


 

5. 예측 및 평가

from sklearn.metrics import accuracy_score, confusion_matrix, classification_report

y_pred = model.predict(X_test)

print("정확도:", accuracy_score(y_test, y_pred))
print("혼동 행렬:\n", confusion_matrix(y_test, y_pred))
print("분류 리포트:\n", classification_report(y_test, y_pred))

 

 


 

결과 해석

 

  • 정확도(Accuracy): 전체 테스트 샘플 중 맞춘 비율
  • 혼동 행렬(Confusion Matrix): 정답과 예측의 상세 대응
  • Precision / Recall / F1-score: 정밀도, 재현율, 조화 평균 지표

 

이렇게 간단한 모델이라도, 올바른 데이터 흐름과 전처리를 거치면 실제 예측이 가능한 모델로 작동하게 됩니다.

 


 

정리: 첫 AI 모델 구현의 의미

항목내용

알고리즘 로지스틱 회귀 (이진 분류용 선형 모델)
입력 데이터 전처리된 승객 정보
타겟 변수 생존 여부 (0 또는 1)
핵심 흐름 전처리 → 분할 → 학습 → 예측 → 평가

이번 실습은 단순한 ‘로지스틱 회귀’를 넘어서

AI 모델을 학습시키는 실질적인 전체 흐름을 경험하는 데 의의가 있습니다.

 

728x90