소개
이 실습에서는 아이리스 데이터셋의 첫 두 개 특징을 레이블을 기반으로 분류하기 위해 로지스틱 회귀 분류기를 사용합니다. scikit-learn 라이브러리를 사용하여 데이터셋을 로드하고 전처리하고, 로지스틱 회귀 분류기의 인스턴스를 생성하며 데이터를 맞출 것입니다. 마지막으로 산점도에 결정 경계를 표시할 것입니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 연습을 위한 Jupyter Notebook에 접근합니다.
때때로 Jupyter Notebook 이 로드되는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사를 자동화할 수 없습니다.
학습 중 문제가 발생하면 Labby 에게 문의하십시오. 세션 후 피드백을 제공하면 문제를 신속하게 해결해 드리겠습니다.
데이터셋 로드 및 전처리
scikit-learn 라이브러리를 사용하여 아이리스 데이터셋을 로드합니다. 이 데이터셋은 각각 50 개의 인스턴스를 가진 3 개의 클래스로 구성되어 있으며, 각 클래스는 아이리스 식물의 한 유형을 나타냅니다. 각 인스턴스는 꽃받침 길이, 꽃받침 너비, 꽃잎 길이, 꽃잎 너비의 4 개의 특징을 가지고 있습니다.
import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
from sklearn import datasets
from sklearn.inspection import DecisionBoundaryDisplay
## 아이리스 데이터셋 로드
iris = datasets.load_iris()
X = iris.data[:, :2] ## 첫 두 개의 특징만 사용합니다.
Y = iris.target
로지스틱 회귀 분류기 인스턴스 생성 및 데이터 적합
로지스틱 회귀 분류기의 인스턴스를 생성하고 데이터를 적합합니다.
## 로지스틱 회귀 분류기 인스턴스 생성 및 데이터 적합
logreg = LogisticRegression(C=1e5)
logreg.fit(X, Y)
산점도에 결정 경계 표시
scikit-learn 라이브러리의 DecisionBoundaryDisplay를 사용하여 산점도에 결정 경계를 표시합니다.
_, ax = plt.subplots(figsize=(4, 3))
DecisionBoundaryDisplay.from_estimator(
logreg,
X,
cmap=plt.cm.Paired,
ax=ax,
response_method="predict",
plot_method="pcolormesh",
shading="auto",
xlabel="꽃받침 길이",
ylabel="꽃받침 너비",
eps=0.5,
)
## 학습 데이터 포인트도 함께 표시
plt.scatter(X[:, 0], X[:, 1], c=Y, edgecolors="k", cmap=plt.cm.Paired)
plt.xticks(())
plt.yticks(())
plt.show()
요약
이 실습에서는 로지스틱 회귀 분류기를 사용하여 아이리스 데이터셋의 첫 두 특징을 레이블 기반으로 분류했습니다. scikit-learn 라이브러리를 사용하여 데이터를 로드하고 전처리한 후, 로지스틱 회귀 분류기의 인스턴스를 생성하고 데이터를 적합했습니다. 마지막으로, 산점도에 결정 경계를 표시했습니다.