Lecture

스팸 이메일을 분류하는 머신러닝 모델 만들기

이번 수업에서는 이메일 내용을 바탕으로 해당 이메일이 스팸인지 정상인지 분류하는 머신러닝 모델을 직접 만들어봅니다.

각 코드 셀을 Shift + Enter로 실행해 머신러닝 모델을 학습시키고 새로운 이메일에 대한 스팸 여부를 예측해 볼 수 있습니다.

머신러닝 모델이 만들어지는 과정은 다음과 같습니다.


1. 데이터 준비

우선 간단한 이메일 데이터 10개를 문자열 형태의 CSV로 불러옵니다.

CSV는 Comma-Separated Values의 약자로, 데이터를 쉼표로 구분하여 저장하는 파일 형식입니다.


CSV 파일은 엑셀과 같은 스프레드시트 프로그램에서 쉽게 열 수 있으며, 데이터 분석 및 머신러닝 모델 학습에 자주 사용됩니다.

CSV 파일 예시
email_text,label "Free money now!!! Click here",spam "Limited offer just for you",spam "Meeting schedule attached",normal "Please review the project proposal",normal "Win a free iPhone by answering this",spam "Lunch meeting confirmed for tomorrow",normal "Urgent: Your account has been suspended",spam

각각의 이메일은 email_text 컬럼에 본문이 담겨 있고, label 컬럼에는 해당 이메일이 spam인지 normal인지 표시되어 있습니다.


2. 텍스트 벡터화 (TF-IDF)

머신러닝 모델은 텍스트 데이터를 직접 이해할 수 없습니다. 따라서 문장을 숫자로 바꿔주는 과정이 필요합니다.

여기서는 TF-IDF 방식으로 벡터화를 진행합니다. 이 방법은 단어의 등장 빈도와 문서 간 희귀도를 함께 고려하여 각 단어의 중요도를 계산합니다.


3. 모델 학습 및 평가

이제 벡터화된 데이터로 머신러닝 모델을 학습시킵니다.

텍스트 분류에 잘 맞는 Multinomial Naive Bayes 알고리즘을 사용합니다.


4. 새로운 이메일 예측

마지막으로 학습된 모델을 사용해 새로운 이메일이 스팸인지 아닌지 예측해봅니다.


이처럼 머신러닝 모델은 간단한 데이터와 코드만으로도 텍스트를 자동 분류하는 기능을 구현할 수 있습니다.

다음 수업부터는 머신러닝과 딥러닝을 배우기 위해 반드시 필요한 파이썬 라이브러리에 대해 배워보겠습니다.

Lecture

AI Tutor

Design

Upload

Notes

Favorites

Help