카테고리 없음

6주차 TIL - 머신러닝 오프닝 학습 요약

게임취업하고싶은 사람 2025. 1. 24. 20:51

1. 머신러닝의 기본 개념

1.1 머신러닝의 정의

  • 데이터를 사용해 모델을 학습시켜 예측, 분류, 군집 등의 작업을 수행하는 알고리즘.

1.2 머신러닝의 종류

  1. 지도 학습(Supervised Learning): 레이블(정답)이 있는 데이터 학습.
    • 예: 회귀(Regression), 분류(Classification).
  2. 비지도 학습(Unsupervised Learning): 레이블이 없는 데이터 학습.
    • 예: 군집화(Clustering), 차원 축소(Dimensionality Reduction).
  3. 강화 학습(Reinforcement Learning): 에이전트가 환경과 상호작용하며 학습.
    • 예: 자율주행, 게임 AI.

2. Python으로 머신러닝 준비

2.1 필수 라이브러리

  • 데이터 처리 및 분석:
    • numpy: 배열 및 수학 연산.
    • pandas: 데이터프레임으로 데이터 조작.
  • 시각화:
    • matplotlib: 그래프 그리기.
    • seaborn: 데이터 시각화.
  • 머신러닝 라이브러리:
    • scikit-learn: 머신러닝 모델 구현 및 평가.
    • tensorflow/keras: 딥러닝 모델 구현.
    • xgboost, lightgbm: 고성능 머신러닝 모델.
  • 환경:
    • jupyter: 대화형 Python 노트북 환경.

설치 명령:

bash
복사편집
pip install numpy pandas matplotlib seaborn scikit-learn

3. 머신러닝 워크플로우

3.1 데이터 준비

  1. 데이터 로드:
    • 파일 형식: CSV, Excel, SQL 등.
    • 예:
      python
      복사편집
      import pandas as pd data = pd.read_csv("data.csv")
  2. 결측치 처리:
    • 결측치 제거 또는 대체:
      python
      복사편집
      data.fillna(0, inplace=True)
  3. 데이터 시각화:
    • 분포, 상관관계, 이상치 탐색.
      python
      복사편집
      import seaborn as sns sns.pairplot(data)

3.2 데이터 전처리

  1. 특징(Feature) 스케일링:
    • 표준화(Standardization) 또는 정규화(Normalization).
      python
      복사편집
      from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaled_data = scaler.fit_transform(data)
  2. 데이터 분리:
    • 학습용과 테스트용 데이터로 분리.
      python
      복사편집
      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)

3.3 모델 학습 및 평가

  1. 모델 선택:
    • 지도 학습: LinearRegression, DecisionTreeClassifier 등.
    • 비지도 학습: KMeans, PCA 등.
      python
      복사편집
      from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier()
  2. 모델 학습:
    • 데이터를 모델에 학습.
      python
      복사편집
      model.fit(X_train, y_train)
  3. 예측:
    • 테스트 데이터에 대해 예측.
      python
      복사편집
      y_pred = model.predict(X_test)
  4. 평가:
    • 분류: 정확도, 정밀도, 재현율, F1-점수.
      python
      복사편집
      from sklearn.metrics import accuracy_score print(accuracy_score(y_test, y_pred))
    • 회귀: MSE, RMSE, R².
      python
      복사편집
      from sklearn.metrics import mean_squared_error print(mean_squared_error(y_test, y_pred))

3.4 모델 최적화

  1. 하이퍼파라미터 튜닝:
    • 그리드 서치(GridSearchCV) 또는 랜덤 서치(RandomizedSearchCV).
      python
      복사편집
      from sklearn.model_selection import GridSearchCV params = {'n_estimators': [50, 100, 200]} grid = GridSearchCV(model, param_grid=params, cv=5) grid.fit(X_train, y_train) print(grid.best_params_)
  2. 교차 검증:
    • 데이터를 나누어 학습 및 평가를 반복.
      python
      복사편집
      from sklearn.model_selection import cross_val_score scores = cross_val_score(model, X, y, cv=5) print(scores.mean())

4. 머신러닝 모델 종류

4.1 지도 학습

  1. 회귀(Regression):
    • 예: LinearRegression, Ridge, Lasso.
  2. 분류(Classification):
    • 예: LogisticRegression, SVM, RandomForestClassifier.

4.2 비지도 학습

  1. 군집화(Clustering):
    • 예: KMeans, DBSCAN.
  2. 차원 축소:
    • 예: PCA, t-SNE.

5. 실습 프로젝트 아이디어

  1. 회귀 분석: 주택 가격 예측 (Kaggle의 "Boston Housing Dataset").
  2. 분류: 손글씨 숫자 분류 (sklearn.datasets.load_digits).
  3. 군집화: 고객 세분화 분석 (Kaggle의 "Mall Customer Dataset").
  4. 추천 시스템: 영화 추천 시스템 제작 (Kaggle의 "MovieLens Dataset").

요약

Python 머신러닝을 시작하려면:

  1. 데이터 처리와 시각화를 위한 기본 라이브러리 사용법을 익히고.
  2. 데이터 전처리모델 학습 및 평가최적화 과정을 학습.
  3. 다양한 머신러닝 모델과 실제 데이터를 활용한 프로젝트를 진행