-
AI 모델 만들기 시리즈 6화 – Scikit-learn으로 첫 번째 분류 모델 만들기기술과 산업/AI 2025. 5. 7. 00:59728x90
이전 회차까지 우리는 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'기술과 산업 > AI' 카테고리의 다른 글
데이터 수집과 EDA 전략 시리즈 – 3화. 결측치와 이상치 탐지 전략: 데이터의 허점을 읽어내는 기술 (1) 2025.05.07 AI/ML 기반 데이터 분석 시리즈 6화 - 피처 엔지니어링과 스케일링 전략: 데이터의 본질을 꿰뚫는 변환 기법 (0) 2025.05.07 Whisper 시리즈 11화 – 팟캐스트를 텍스트로, Whisper 실전 변환 프로젝트 사례 (1) 2025.05.07 분야별 데이터 수집 전략 가이드 시리즈 - 2화. 공공데이터포털 완전 정복: API 인증부터 실전 수집까지 (1) 2025.05.05 데이터 수집과 EDA 전략 시리즈 – 2화. 탐색적 데이터 분석(EDA)의 정의와 철학 (0) 2025.05.05