Scikit-Learn 을 이용한 숫자 분류

Beginner

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

소개

이 실습은 scikit-learn 을 사용하여 Digits 데이터셋에 분류 기법을 적용하는 단계별 튜토리얼입니다. 이 실습에서는 데이터셋을 로드하고, 데이터를 전처리하며, 데이터셋을 학습 및 테스트 세트로 분할하고, 두 가지 다른 분류 기법 (K-최근접 이웃 및 로지스틱 회귀) 을 사용하여 숫자를 분류합니다. 마지막으로 두 기법의 정확도를 비교합니다.

VM 팁

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

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

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

Digits 데이터셋 로드

scikit-learn 의 load_digits 함수를 사용하여 Digits 데이터셋을 로드합니다. 이 함수는 입력 데이터를 포함하는 X_digits와 대상 레이블을 포함하는 y_digits 두 개의 배열을 반환합니다.

from sklearn import datasets

X_digits, y_digits = datasets.load_digits(return_X_y=True)

데이터 전처리

그런 다음 데이터의 최댓값을 사용하여 특징을 [0, 1] 범위로 조정하여 데이터를 전처리합니다. 이는 입력 데이터를 입력 데이터의 최댓값으로 나누어 수행할 수 있습니다.

X_digits = X_digits / X_digits.max()

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

다음으로, scikit-learn 의 train_test_split 함수를 사용하여 데이터셋을 학습 및 테스트 세트로 분할합니다. 학습에는 데이터의 90%, 테스트에는 10% 를 사용합니다.

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X_digits, y_digits, test_size=0.1, random_state=42)

K-최근접 이웃 분류기를 학습 및 테스트

이제 scikit-learn 의 KNeighborsClassifier 함수를 사용하여 K-최근접 이웃 (KNN) 분류기를 학습하고 테스트 세트에서 테스트합니다. 그런 다음 분류기의 정확도 점수를 출력합니다.

from sklearn.neighbors import KNeighborsClassifier

knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
knn_score = knn.score(X_test, y_test)

print("KNN score: %f" % knn_score)

로지스틱 회귀 분류기를 학습 및 테스트

이제 scikit-learn 의 LogisticRegression 함수를 사용하여 로지스틱 회귀 분류기를 학습하고 테스트 세트에서 테스트합니다. 그런 다음 분류기의 정확도 점수를 출력합니다.

from sklearn.linear_model import LogisticRegression

logistic = LogisticRegression(max_iter=1000)
logistic.fit(X_train, y_train)
logistic_score = logistic.score(X_test, y_test)

print("Logistic Regression score: %f" % logistic_score)

두 분류기의 정확도 비교

마지막으로, 두 분류기의 정확도 점수를 출력하여 두 분류기의 정확도를 비교합니다.

print("KNN score: %f" % knn_score)
print("Logistic Regression score: %f" % logistic_score)

요약

이 실습에서는 scikit-learn 을 사용하여 Digits 데이터 세트에 대한 분류 기술을 사용하는 방법을 배웠습니다. 데이터 세트를 로드하고, 데이터를 전처리하고, 데이터 세트를 학습 및 테스트 세트로 분할한 다음, 두 가지 다른 분류기 (K-최근접 이웃 및 로지스틱 회귀) 를 테스트 세트에서 학습 및 테스트했습니다. 마지막으로 두 분류기의 정확도를 비교했습니다.