파이썬으로 머신러닝 교차검증

Beginner

This tutorial is from open-source community. Access the source code

소개

머신 러닝에서 교차 검증 (cross-validation) 은 독립적인 데이터 세트에서 모델의 성능을 평가하는 기술입니다. 이는 모델이 새로운, 미지의 데이터에 얼마나 잘 일반화될지에 대한 더 나은 추정치를 제공하여 과적합을 방지하는 데 도움이 됩니다.

이 실습에서는 교차 검증의 개념과 Python 의 scikit-learn 라이브러리를 사용하여 구현하는 방법을 살펴볼 것입니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 연습을 위한 Jupyter Notebook에 접근할 수 있습니다.

때때로 Jupyter Notebook 이 완전히 로드되기까지 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사를 자동화할 수 없습니다.

학습 중 문제가 발생하면 Labby 에게 문의하십시오. 세션 후 피드백을 제공하면 문제를 신속하게 해결해 드리겠습니다.

필요한 라이브러리 가져오기

먼저, 이 실습에 필요한 라이브러리를 가져옵니다.

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn import datasets
from sklearn import svm

데이터셋 로드

다음으로, 모델을 학습시킬 데이터셋을 로드합니다. 이 예제에서는 분류 작업에 널리 사용되는 아이리스 (Iris) 데이터셋을 사용합니다.

X, y = datasets.load_iris(return_X_y=True)

데이터셋을 학습 및 테스트 데이터로 분할

모델의 성능을 평가하기 위해 데이터셋을 학습 데이터와 테스트 데이터로 분할해야 합니다. train_test_split 함수를 사용하여 이 작업을 수행합니다.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=0)

모델 학습 및 평가

이제 학습 데이터셋으로 서포트 벡터 머신 (SVM) 분류기를 학습하고 테스트 데이터셋으로 성능을 평가해 보겠습니다.

clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)
score = clf.score(X_test, y_test)
print("Accuracy: ", score)

요약

이 실습에서는 Python 의 scikit-learn 라이브러리를 사용하여 교차검증을 구현하는 방법을 배웠습니다. 데이터셋을 학습 및 테스트 데이터로 분할하고, 학습 데이터로 모델을 학습시킨 후, 테스트 데이터로 모델의 성능을 평가했습니다. 교차검증은 과적합을 방지하고 모델이 새로운, 미지의 데이터에 얼마나 잘 일반화될지에 대한 더 나은 추정치를 제공합니다.