다중 레이블 분류 (Multi-label Classification)
다중 레이블 분류는 하나의 입력 데이터에 대해 여러 개의 클래스를 동시에 할당할 수 있는 문제를 말합니다. 예를 들어, 하나의 영화가 여러 장르(예: 액션, 드라마, 코미디)로 분류될 수 있습니다. 여기서는 각 데이터가 여러 클래스에 동시에 속할 수 있습니다.
예시 1
- 데이터: 영화 장르 정보 등
- 클래스: 액션, 드라마, 코미디, 로맨스, SF
- 설명: 하나의 영화가 주어졌을 때 이 영화가 액션, 드라마, 코미디, 로맨스, SF 중 어떤 장르들에 해당하는지를 동시에 분류하는 것
예를들어, 하나의 영화가 액션이면서 코미디일 수 있습니다.
예시 2
- 데이터: 한명 이상의 얼굴들을 포함한 사진
- 클래스: 얼굴1, 얼굴2, 얼굴3 •••
- 설명: 사진에서 여러 사람이 등장했을 때 인식된 사람마다 각각 분류할 수 있는 것
예를들어, A,D가 인식되도록 모델을 훈련시켰을 때 사진속에 A,B,C,D,E 사람들이 존재하면 [1,0,0,1,0]가 출력될 것입니다.
코드 예시
다음은 y_train_large 는 숫가자 (7,8,9)인지 나타내고 y_train_odd 는 홀수인지를 나타냅니다.
이후 KNeighborsClassifier 분류기를 사용하여 위에서 만든 조건을 정답으로 설정하고 X_train 를 훈련셋으로
knn_clf.fit(X_train, y_multilabel) 코드를 사용하여 원하는 (여러 조건)값을 예측하도록 만들 수 있습니다.
import numpy as np
from sklearn.neighbors import KNeighborsClassifier
y_train_large = (y_train >= '7')
y_train_odd = (y_train.astype('int8') % 2 == 1)
y_multilabel = np.c_[y_train_large, y_train_odd]
knn_clf = KNeighborsClassifier()
knn_clf.fit(X_train, y_multilabel)
'AI > Machine Learning' 카테고리의 다른 글
머신러닝 - 로지스틱 회귀 (0) | 2024.08.14 |
---|---|
사이킷런 scikit-learn 이란? (0) | 2024.07.09 |
머신러닝 분류 (숫자 예측) (0) | 2024.07.07 |
머신러닝 모델 튜닝하기 (0) | 2024.06.28 |
머신러닝 회귀 (집값 예측하기) (0) | 2024.06.27 |