본문 바로가기

ML with SckitLearn

Estimator의 이해와 fit(), predict(), accuracy_score() Method

반응형

사이킷런은 ML Model 학습을 위해서 fit()을, 학습된 모델의 예측을 위해 predict()메서드를 제공합니다. 지도 학습의 두 축인 분류와 회귀의 다양한 알고리즘을 구현한 모든 사이킷런 클래스는 fit()과 predict()으로 학습과 예측결과를 반환합니다.

 

비지도학습인 차원축소, 클러스터링, 피처 추출등을 구현한 클래스 역시 fit()과 transform()을 적용합니다. 

 

사이킷런은 fit()과 transform()을 하나로 결합한 fit_transform()도 제공합니다.

 

  • Estimator
    • 학습: fit()
    • 예측: predict()
  • 분류 (Classifier)
    • DecisionTreeClassifier
    • RandomForestClassifier
    • GradientBoostingClassifier
    • SVC
  • 희귀 (Regressor)
    • LinearRegression
    • Ridge
    • Lasso
    • RandomForestRegressor
    • GradientBoostingRegressor

 

accuracy_score()의 경우 성능 평가 방법 중 정확도를 측정하기 위해 사용하는 함수로 실제 레이블 데이타 세트와 예측 레이블 데이터 세트를 반환하여 사용합니다.

 

from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.model_selection import cross_val_score
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
import pandas as pd
import numpy as np

iris = load_iris()
iris_data = iris.data
iris_label = iris.target

X_train, X_test, y_train, y_test = train_test_split(iris_data, iris_label, test_size=0.2, random_state=11)

dt_clf = DecisionTreeClassifier(random_state=11)
dt_clf.fit(X_train, y_train)
pred = dt_clf.predict(X_test)
print('예측 정확도: {0:.4f}'.format(accuracy_score(y_test, pred)))
반응형