이진 분류 모델 학습하기

40 P
QUESTION 02 #343
Scikit-learn을 사용하여 스팸 메일 여부(0: 정상, 1: 스팸)를 분류하는 모델을 학습시키고 결과를 예측해 보세요.
main.py
from sklearn.linear_model import LogisticRegression
import numpy as np

# 특성(X): 메일 내 특정 단어 빈도, 정답(y): 스팸 여부
X = np.array([[1], [5], [10], [20]])
y = np.array([0, 0, 1, 1])

model = ()
model.(X, y)

# 단어 빈도가 15일 때의 결과 예측
prediction = model.predict([[15]])
print(f"예측 결과: {prediction[0]}") # 0 또는 1 출력
실행 결과 예시
LogisticRegression, fit
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

📧 스팸 필터의 원리

인공지능은 수많은 스팸 메일을 학습하며 특정 단어의 등장 횟수와 스팸 여부 사이의 관계를 파악합니다.

  • 데이터 구조: X는 입력 데이터(원인), y는 우리가 맞히려는 범주(결과)입니다.
  • 학습: fit 과정에서 모델은 "단어가 약 7~8개 이상이면 스팸일 확률이 높다"라는 결정 경계(Decision Boundary)를 찾아냅니다.