
152
1
부
머신러닝
3.6
다중 레이블 분류
지금까지는 각 샘플이 하나의 클래스에만 할당되었습니다. 하지만 분류기가 샘플마다 여러 개
의 클래스를 출력해야 할 때도 있습니다. 얼굴 인식 분류기를 한번 생각해봅시다. 같은 사진에
여러 사람이 등장한다면 어떻게 해야 할까요? 인식된 사람마다 하나씩 꼬리표
tag
를 붙여야 합니
다. 분류기가 앨리스, 밥, 찰리 세 얼굴을 인식하도록 훈련되었다고 가정해봅시다. 분류기가 앨
리스와 찰리가 있는 사진을 본다면 [
1
,
0
,
1
]을 출력해야 할 것입니다 (즉, ‘앨리스 있음, 밥 없
음, 찰리 있음’ ). 이처럼 여러 개의 이진 꼬리표를 출력하는 분류 시스템을
다중 레이블 분류
multilabel
classification
시스템이라고 합니다.
여기서는 얼굴 인식 시스템을 만들려는 것이 아니므로 학습을 위해 조금 더 간단한 예를 살펴
보겠습니다.
from sklearn.neighbors import KNeighborsClassifier
y_train_large = (y_train >= 7)
y_train_odd = (y_train % 2 == 1)
y_multilabel = np.c_[y_train_large, y_train_odd]
knn_clf = KNeighborsClassifier()
knn_clf.fit(X_train, y_multilabel ...