🚀 "[AI 개발 2단계] 머신러닝 초보 가이드: 개념 이해부터 첫 모델 만들기까지"
AI 개발 & 프로그래밍 초보자 가이드: 2단계 - 머신러닝 기초 & 첫 모델 만들기
AI 개발 환경을 설정했다면, 이제 머신러닝의 개념을 익히고 간단한 모델을 만들어볼 차례입니다. 이번 포스팅에서는 머신러닝의 기본 개념과 첫 번째 모델을 구축하는 방법을 쉽게 설명하겠습니다.
1. 머신러닝이란?
머신러닝(Machine Learning)은 컴퓨터가 데이터를 학습하여 패턴을 찾아내고, 이를 기반으로 예측을 수행하는 기술입니다. 쉽게 말해, 사람이 직접 명령어를 입력하지 않아도 컴퓨터가 스스로 데이터를 분석하고 결론을 도출하는 기술입니다. 머신러닝은 크게 세 가지 유형으로 나뉩니다.
1️⃣ 지도학습 (Supervised Learning)
✔️ 정답(레이블)이 있는 데이터를 학습하여 새로운 입력에 대한 예측을 수행합니다.
✔️ 예제: 이메일 스팸 필터링, 이미지 분류, 주가 예측
2️⃣ 비지도학습 (Unsupervised Learning)
✔️ 정답이 없는 데이터를 분석하여 숨겨진 패턴을 찾습니다.
✔️ 예제: 고객 군집 분석, 차원 축소, 이상 탐지
3️⃣ 강화학습 (Reinforcement Learning)
✔️ 보상을 최대화하는 방향으로 행동을 학습하는 방식입니다.
✔️ 예제: 게임 AI, 로봇 제어, 알파고
2. 머신러닝 프로젝트 기본 흐름
머신러닝 프로젝트는 데이터를 활용하여 모델을 개발하는 과정으로, 다음과 같은 4단계로 진행됩니다.
1️⃣ 데이터 수집 및 전처리: 데이터를 불러오고 정리하기
2️⃣ 모델 선택 및 학습: 적절한 머신러닝 알고리즘을 선택하고 학습하기
3️⃣ 성능 평가: 모델의 성능을 검증하고 개선하기
4️⃣ 예측 및 실전 적용: 실제 데이터에 모델을 적용하여 예측 수행하기
3. 첫 번째 머신러닝 모델 만들기
이제 간단한 머신러닝 모델을 직접 만들어보겠습니다. 실습을 통해 데이터 전처리, 모델 학습, 평가 과정까지 하나씩 따라가면서 이해할 수 있도록 구성했습니다. 이번 예제에서는 Scikit-learn 라이브러리를 사용하여 타이타닉 생존자 예측 모델을 구축해보겠습니다.
1️⃣ 라이브러리 설치
✅ Windows 명령 프롬프트(CMD) 또는 PowerShell 실행 방법
- Win + R을 눌러 '실행' 창을 엽니다.
- cmd를 입력하고 Enter 키를 누르면 명령 프롬프트가 실행됩니다.
- 또는 '시작' 메뉴에서 cmd 또는 PowerShell을 검색하여 실행할 수도 있습니다.
✅ Mac/Linux 터미널 실행 방법
- Command + Space를 눌러 Spotlight 검색을 엽니다.
- '터미널'을 입력한 후 실행합니다.
- 또는 Ctrl + Alt + T를 눌러 바로 터미널을 실행할 수 있습니다.
✅ 필요한 라이브러리 설치
pip install numpy pandas matplotlib scikit-learn
✅ 설치 확인 방법
아래 명령어를 실행하여 라이브러리가 정상적으로 설치되었는지 확인하세요.
python -c "import numpy, pandas, matplotlib, sklearn; print('설치 완료!')"
✅ Python 코드 실행 방법
- Jupyter Notebook 사용 (추천)
- 터미널 또는 명령 프롬프트에서 jupyter notebook 입력 후 실행
- 새 Python 노트북을 열고 아래 코드를 셀에 입력 후 실행
- Python 스크립트 실행
- 메모장에서 ml_model.py 파일을 생성한 후 아래 코드를 복사하여 저장
- 터미널 또는 명령 프롬프트에서 python ml_model.py 입력 후 실행
✅ Python 코드: 머신러닝 모델 구현
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
# 1. 데이터 불러오기
data = pd.read_csv("https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv")
# 2. 필요한 컬럼 선택 및 결측치 처리
data = data[['Pclass', 'Sex', 'Age', 'Survived']].dropna()
data['Sex'] = data['Sex'].map({'male': 0, 'female': 1})
# 3. 데이터 분할
X = data[['Pclass', 'Sex', 'Age']]
y = data['Survived']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 4. 모델 학습
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
# 5. 예측 및 평가
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f'모델 정확도: {accuracy:.2f}')
✅ 코드 설명
- 데이터 불러오기: 타이타닉 데이터셋을 다운로드합니다.
- 데이터 전처리: 결측치를 제거하고, 성별 데이터를 숫자로 변환합니다.
- 데이터 분할: 훈련 데이터와 테스트 데이터로 나눕니다.
- 모델 학습: 랜덤 포레스트(Random Forest) 알고리즘을 사용하여 모델을 학습합니다.
- 성능 평가: 테스트 데이터로 모델을 평가하고 정확도를 출력합니다.
4. 머신러닝 모델 개선하기
기본 모델을 만들었으니, 이제 모델을 더욱 정교하게 개선하는 방법을 알아봅시다. 머신러닝 모델의 성능을 향상시키는 것은 실무에서 매우 중요한 과정이며, 다음과 같은 접근법이 효과적입니다.
✔️ 더 많은 데이터 사용: 데이터를 추가하여 모델의 일반화 성능을 향상시킵니다.
✔️ 특성 엔지니어링(Feature Engineering): 더 의미 있는 데이터를 추출하여 모델의 성능을 개선합니다.
✔️ 하이퍼파라미터 튜닝: 최적의 모델을 찾기 위해 파라미터를 조정합니다. (예: GridSearchCV 활용)
✔️ 다른 알고리즘 테스트: SVM, XGBoost 등 다양한 알고리즘을 적용해봅니다.
맺음말: 머신러닝 모델 만들기 첫걸음
이번 포스팅에서는 머신러닝의 개념을 익히고, 실제로 모델을 만들어보았습니다. 처음에는 어렵게 느껴질 수 있지만, 실습을 반복하면서 익숙해질 것입니다. 🚀
다음 단계에서는 딥러닝의 기본과 첫 신경망 구축을 다룰 예정이니 기대해주세요! 😊
질문이 있다면 댓글로 남겨주시고, 함께 머신러닝을 배워나갑시다!