일대일 다중 클래스

이 문서에서는 Azure Machine Learning 디자이너에서 일대일 다중 클래스 구성 요소를 사용하는 방법을 설명합니다. 목표는 일대일 접근 방식을 사용하여 여러 클래스를 예측할 수 있는 분류 모델을 만드는 것입니다.

이 구성 요소는 결과가 연속 또는 범주 예측 변수에 의존하는 경우 세 개 이상의 가능한 결과를 예측하는 모델을 만드는 데 유용합니다. 이 메서드를 사용하면 여러 출력 클래스가 필요한 문제에 대해서도 이진 분류 방법을 사용할 수 있습니다.

일대일 모델에 대한 자세한 정보

일부 분류 알고리즘은 디자인에 따라 두 개 이상의 클래스를 사용할 수 있도록 허용합니다. 기타 값은 두 값(이진 또는 2 클래스 모델) 중 하나로 가능한 결과를 제한합니다. 하지만 다양한 전략을 통해 다중 클래스 분류 작업에 대한 이진 분류 알고리즘을 적용할 수도 있습니다.

이 구성 요소에서는 클래스 쌍별로 이진 모델이 만들어지는 일대일 메서드를 구현합니다. 예측 시에는 가장 많은 표를 받은 클래스가 선택됩니다. n_classes * (n_classes - 1) / 2 분류자를 맞춰야 하므로 이 메서드는 O(n_classes^2) 복잡성 때문에 일반적으로 일대다에 비해 느립니다. 그러나 이 메서드는 n_samples로 잘 확장되지 않는 커널 알고리즘과 같은 알고리즘에 유리할 수 있습니다. 각 개별 학습 문제에는 데이터의 작은 하위 집합만 포함되는 반면, 일대다에서는 전체 데이터 세트가 n_classes회 사용되기 때문입니다.

기본적으로 이 구성 요소는 개별 모델의 앙상블을 만든 다음 결과를 병합하여 모든 클래스를 예측하는 단일 모델을 만듭니다. 모든 이진 분류자는 일대일 모델에 대한 기준으로 사용할 수 있습니다.

예를 들어 2 클래스 지원 벡터 컴퓨터 모델을 구성하고 이를 일대일 다중 클래스 구성 요소에 대한 입력으로 제공한다고 가정해 보겠습니다. 구성 요소는 출력 클래스의 모든 멤버에 대해 2 클래스 지원 벡터 컴퓨터 모델을 만듭니다. 그런 다음, 일대일 메서드를 적용하여 모든 클래스에 대한 결과를 결합합니다.

이 구성 요소는 sklearn의 OneVsOneClassifier를 사용하며 여기에서 세부 정보를 알아볼 수 있습니다.

일대일 다중 클래스 분류자 구성 방법

이 구성 요소는 여러 클래스를 분석하는 이진 분류 모델의 앙상블을 만듭니다. 이 구성 요소를 사용하려면 먼저 이진 분류 모델을 구성하고 학습시켜야 합니다.

이진 모델을 일대일 다중 클래스 구성 요소에 연결합니다. 그런 다음 레이블이 있는 학습 데이터 세트와 함께 모델 학습을 사용하여 모델 앙상블을 학습합니다.

모델을 결합하면 일대일 다중 클래스는 여러 이진 분류 모델을 만들고 각 클래스에 대한 알고리즘을 최적화한 다음 모델을 병합합니다. 학습 데이터 세트에 여러 클래스 값이 있을 수 있더라도 구성 요소는 이러한 작업을 수행합니다.

  1. 디자이너에서 일대일 다중 클래스 구성 요소를 파이프라인에 추가합니다. 이 구성 요소는 분류 범주의 기계 학습 - 초기화에서 찾을 수 있습니다.

    일대일 다중 클래스 분류자는 자체적으로 구성 가능한 매개 변수가 없습니다. 모든 사용자 지정은 입력으로 제공되는 이진 분류 모델에서 수행해야 합니다.

  2. 파이프라인에 이진 분류 모델을 추가하고 해당 모델을 구성합니다. 예를 들어 2 클래스 지원 벡터 컴퓨터 또는 2 클래스 고급 의사 결정 트리를 사용할 수 있습니다.

  3. 파이프라인에 모델 학습 구성 요소를 추가합니다. 일대일 다중 클래스 출력인, 학습되지 않은 분류자를 연결합니다.

  4. 학습 모델의 기타 입력에서 여러 클래스 값이 있는 레이블이 있는 학습 데이터 세트를 연결합니다.

  5. 파이프라인을 제출합니다.

결과

학습을 완료한 후에는 모델을 사용하여 다중 클래스 예측을 만들 수 있습니다.

또는 레이블이 지정한 유효성 검사 데이터 세트에 대한 교차 유효성 검사를 위해 학습되지 않은 분류자를 교차 유효성 검사 모델에 전달할 수 있습니다.

다음 단계

Azure Machine Learning에서 사용 가능한 구성 요소 집합을 참조하세요.