Overview

데이터 전처리StandardScaler() → 데이터를 분할train_test_split() → 모델을 fit() → 예측 결과를 predict() | predict_proba()

뭔가 여기는 머신러닝 과정에 대한 설명을 하면 좋을듯

Scikit-learn

Scikit-learn(sklearn)은 머신러닝을 위한 다양한 기능을 제공하는 범용 라이브러리이다.

import sklearn

Model Selection

Model Selection은 훈련 데이터 성능이 아닌 새로운 데이터에서도 잘 작동하도록 주어진 데이터에 대해 가장 일반화 성능이 좋은 모델을 선택하는 과정이다.

Hold-Out Validation

Hold-Out Validation은 데이터를 한 번만 분할하여 모델을 평가하는 방법이다.

sklearn.model_selection .train_test_split(*arrays, test_size=None, random_state=None, shuffle=True, stratify=None)

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=54, stratify=y)

[Option] K-fold Cross Validation

K-fold Cross Validation은 데이터를 K개로 분할하여 모델을 평가하고, 평균 성능으로 일반화 성능을 추정하는 방법이다.

sklearn.model_selection.cross_val_score(estimator, X, y=None, scoring=None, cv=None)

# 5-fold Cross Validation
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression

model = LogisticRegression()  # 로지스틱 회귀모형
scores = cross_val_score(model, X, y, cv=5, scoring="accuracy")

# Fold별 Accuracy
print(scores)

# 평균 Accuracy
print(scores.mean())

Data Preprocessing

Data Preprocessing(데이터 전처리)은 원시 데이터를 분석이나 머신러닝 모델에 사용할 수 있는 형태로 정리하는 과정이다.