Machine Learning Studio에서 모델 성능 평가(클래식)
적용 대상: Machine Learning Studio(클래식) Azure Machine Learning
Important
Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.
2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.
- ML Studio(클래식)에서 Azure Machine Learning으로 기계 학습 프로젝트 이동에 대한 정보를 참조하세요.
- Azure Machine Learning에 대해 자세히 알아보세요.
ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.
이 문서에서는 Machine Learning Studio(클래식)에서 모델 성능을 모니터링하는 데 사용할 수 있는 메트릭에 대해 알아볼 수 있습니다. 모델의 성능을 평가하는 것은 데이터 과학 프로세스의 핵심 단계 중 하나입니다. 이는 학습된 모델에서 데이터 세트 점수 매기기(예측)에 성공한 정도를 나타냅니다. Machine Learning Studio(클래식)는 다음 두 가지 주요 기계 학습 모듈을 통해 모델 평가를 지원합니다.
이러한 모듈을 사용하면 기계 학습 및 통계에 일반적으로 사용되는 여러 메트릭 측면에서 모델이 어떻게 작동하는지 확인할 수 있습니다.
모델 평가는 다음을 함께 고려해야 합니다.
다음과 같은 세 가지 일반적인 감독 학습 시나리오가 제공됩니다.
- 회귀
- 이진 분류
- 다중 클래스 분류
평가 및 교차 유효성 검사
평가 및 교차 유효성 검사는 모델의 성능을 측정하는 표준 방법입니다. 둘 다 다른 모델의 메트릭을 검사하거나 비교할 수 있는 평가 메트릭을 생성합니다.
모델 평가에서는 점수가 매겨진 데이터 세트를 입력으로 사용해야 합니다(또는 두 가지 모델의 성능을 비교하려는 경우 2개의 데이터 세트 필요). 따라서 모델 학습 모듈을 사용하여 모델을 학습시키고 모델 점수 매기기 모듈을 사용하여 일부 데이터 세트에 대한 예측을 수행해야 결과를 평가할 수 있습니다. 평가는 실제 레이블과 함께 점수가 매표된 레이블/확률을 기반으로 하며, 모두 모델 점수 매기기 모듈에서 출력됩니다.
또는 교차 유효성 검사를 사용하여 입력 데이터의 여러 하위 집합에서 여러 학습-점수 매기기-평가 작업(접기 수 10)을 수행할 수 있습니다. 입력 데이터는 테스트용으로 예약된 10개 부분과 학습을 위해 다른 9부로 분할됩니다. 이 프로세스는 10번 반복되며 평가 메트릭은 평균입니다. 이는 모델이 새 데이터 세트에 얼마나 잘 일반화되는지를 결정하는 데 도움이 됩니다. 모델 교차 유효성 검사 모듈은 학습되지 않은 모델과 레이블이 지정된 일부 데이터 세트를 사용하여 평균 결과 외에도 각 10개의 접기의 평가 결과를 출력합니다.
다음 섹션에서는 모델 평가 및 모델 교차 유효성 검사 모듈을 사용하여 간단한 회귀 및 분류 모델을 빌드하고 성능을 평가합니다.
회귀 모델 평가
차원, 마력, 엔진 사양 등의 기능을 사용하여 자동차 가격을 예측하려고 합니다. 이는 대상 변수(가격)가 연속 숫자 값인 일반적인 회귀 문제입니다. 특정 자동차의 기능 값을 감안할 때 해당 자동차의 가격을 예측할 수 있는 선형 회귀 모델을 맞출 수 있습니다. 이 회귀 모델은 학습한 것과 동일한 데이터 세트의 점수를 매기는 데 사용할 수 있습니다. 예측된 자동차 가격이 있으면 예측이 실제 가격에서 평균으로 얼마나 벗어나는지 확인하여 모델 성능을 평가할 수 있습니다. 이를 설명하기 위해 Machine Learning Studio(클래식)의 저장된 데이터 세트 섹션에 있는 '자동차 가격 데이터(원시) 데이터 세트'를 사용합니다.
실험 만들기
다음 모듈을 Machine Learning 스튜디오(클래식)의 작업 영역에 추가합니다.
그림 1에서 아래와 같이 포트를 연결하고 모델 학습 모듈의 레이블 열을 가격으로 설정합니다.
그림 1 회귀 모델 평가
평가 결과 검사
실험을 실행한 후 모델 평가 모듈의 출력 포트를 클릭하고 시각화를 선택하여 평가 결과를 볼 수 있습니다. 회귀 모델에 사용할 수 있는 평가 메트릭은 평균 절대 오차, 루트 평균 절대 오차, 상대 절대 오차, 상대 제곱 오차 및 결정 계수입니다.
여기서 "오차"는 예측 값과 실제 값 간의 차이를 나타냅니다. 예측 값과 실제 값의 차이는 경우에 따라 음수일 수 있으므로 모든 인스턴스에서 오차의 총 크기를 캡처하기 위해 일반적으로 이 차이의 절대값 또는 제곱이 컴퓨팅됩니다. 오류 메트릭은 실제 값에서 예측의 평균 편차 측면에서 회귀 모델의 예측 성능을 측정합니다. 오류 값이 낮을수록 모델이 예측을 보다 정확하게 할 수 있습니다. 전체 오류 메트릭이 0이면 모델이 데이터에 완벽하게 맞습니다.
R 제곱이라고도 하는 결정 계수는 모델이 데이터에 얼마나 잘 맞는지 측정하는 표준 방법이기도 합니다. 모델에서 설명하는 변형의 비율로 해석할 수 있습니다. 이 경우 비율이 더 높아집니다. 여기서 1은 완벽한 적합을 나타냅니다.
그림 2. 선형 회귀 평가 메트릭입니다.
교차 유효성 검사 사용
앞에서 설명한 것처럼 모델 교차 유효성 검사 모듈을 사용하여 반복 학습, 점수 매기기 및 평가를 자동으로 수행할 수 있습니다. 이 경우 데이터 세트, 학습되지 않은 모델 및 모델 간 유효성 검사 모듈만 있으면 됩니다(아래 그림 참조). 모델 교차 유효성 검사 모듈의 속성에서 레이블 열을 가격으로 설정해야 합니다.
그림 3. 회귀 모델의 교차 유효성 검사
실험을 실행한 후 모델 교차 유효성 검사 모듈의 오른쪽 출력 포트를 클릭하여 평가 결과를 검사할 수 있습니다. 각 반복(접기)에 대한 메트릭과 각 메트릭의 평균 결과에 대한 상세 보기가 제공됩니다(그림 4).
그림 4. 회귀 모델의 교차 유효성 검사 결과입니다.
이진 분류 모델 평가
이진 분류 시나리오에서 대상 변수에는 {0, 1} 또는 {false, true}, {negative, positive}의 두 가지 가능한 결과만 있습니다. 일부 인구 통계 및 고용 변수가 있는 성인 직원의 데이터 세트에서 값이 {“<=50K”, “>50K”}인 이진 변수로 소득 수준을 예측해 보겠습니다. 즉, 부정 클래스는 소득이 연간 50K 이하인 직원을 나타내고, 긍정 클래스는 다른 모든 직원을 나타냅니다. 회귀 시나리오와 마찬가지로 모델을 학습시키고, 일부 데이터를 채점하고, 결과를 평가합니다. 여기서 주요 차이점은 Machine Learning Studio(클래식) 컴퓨팅 및 출력 메트릭의 선택입니다. 소득 수준 예측 시나리오를 설명하기 위해 성인 데이터 세트를 사용하여 Studio(클래식) 실험을 만들고 일반적으로 사용되는 이진 분류자인 2클래스 로지스틱 회귀 모델의 성능을 평가합니다.
실험 만들기
다음 모듈을 Machine Learning 스튜디오(클래식)의 작업 영역에 추가합니다.
- 성인 인구 조사 소득 이진 분류 데이터 세트
- 2클래스 로지스틱 회귀
- 모델 학습
- 모델 채점
- 모델 평가
아래 그림 5에 표시된 대로 포트를 연결하고 모델 학습 모듈의 레이블 열을 income으로 설정합니다.
그림 5. 이진 분류 모델 평가
평가 결과 검사
실험을 실행한 후 모델 평가 모듈의 출력 포트를 클릭하고 시각화를 선택하여 평가 결과를 확인할 수 있습니다(그림 7). 이진 분류 모델에 사용할 수 있는 평가 메트릭은 정확도, 정밀도, 재현율, F1 점수 및 AUC입니다. 또한 이 모듈은 ROC, 전체 자릿수/재현율 및 양력 곡선뿐만 아니라 참 긍정, 거짓 부정, 거짓 긍정 및 참 부정 수를 보여 주는 혼동 행렬을 출력합니다.
정확도는 올바르게 분류된 인스턴스의 비율일 뿐입니다. 일반적으로 분류자를 평가할 때 확인하는 첫 번째 메트릭입니다. 그러나 테스트 데이터의 균형이 맞지 않거나(대부분의 인스턴스가 클래스 중 하나에 속하는 경우) 클래스 중 하나의 성능에 더 관심이 있는 경우 정확도는 분류자의 효과를 실제로 포착하지 않습니다. 소득 수준 분류 시나리오에서 인스턴스의 99%가 연간 50K 미만의 수익을 올리는 사람을 나타내는 일부 데이터를 테스트한다고 가정합니다. 0.99의 정확도는 모든 인스턴스에 대해 “<=50K” 클래스를 예측하여 달성할 수 있습니다. 이 경우 분류자는 전반적으로 좋은 일을하고있는 것처럼 보이지만 실제로는 고소득 개인 (1 %)을 올바르게 분류하지 못합니다.
이러한 이유로 평가의 보다 구체적인 측면을 캡처하는 추가 메트릭을 계산하는 것이 유용합니다. 이러한 메트릭의 세부 정보를 파악하기 전에 이진 분류 평가의 혼동 행렬을 이해하는 것이 중요합니다. 학습 집합의 클래스 레이블은 일반적으로 양수 또는 음수라고 하는 두 개의 가능한 값만 사용할 수 있습니다. 분류자에서 올바르게 예측하는 양수 및 음수 인스턴스를 각각 TP(참 긍정) 및 TN(true 부정)이라고 합니다. 마찬가지로 잘못 분류된 인스턴스는 FP(거짓 긍정) 및 FN(거짓 부정)이라고 합니다. 혼동 행렬은 이 네 가지 범주 각각에 속하는 인스턴스 수를 보여 주는 테이블입니다. Machine Learning Studio(클래식)는 데이터 세트의 두 클래스 중 양수 클래스를 자동으로 결정합니다. 클래스 레이블이 부울 또는 정수이면 'true' 또는 '1' 레이블이 지정된 인스턴스에 양수 클래스가 할당됩니다. 레이블이 소득 데이터 세트와 같은 문자열인 경우 레이블은 사전순으로 정렬되고 첫 번째 수준은 음수 클래스로 선택되고 두 번째 수준은 양수 클래스입니다.
그림 6. 이진 분류 혼동 행렬
소득 분류 문제로 돌아가서 사용된 분류자의 성능을 이해하는 데 도움이 되는 몇 가지 평가 질문을 하고 싶습니다. 자연스럽게 나오게 되는 질문은 ‘모델에서 소득이 >50K(TP+FP)인 것으로 예측한 개인 중 올바르게 분류된(TP) 개인은 몇 명인가?’입니다. TP/(TP+FP)와 같이 올바르게 분류된 긍정의 비율인 모델의 정밀도를 살펴보면 이 질문에 답할 수 있습니다. 또 다른 일반적인 질문은 ‘소득이 >50k(TP+FN)인 모든 고소득 직원 중 분류자가 올바르게 분류한(TP) 직원은 몇 명인가?’입니다. 이는 실제로 분류자의 회수율 또는 실제 양수 비율(TP/(TP+FN)입니다. 정밀도와 재현율 사이에 명백한 장차가 있음을 알 수 있습니다. 예를 들어 상대적으로 균형이 잡힌 데이터 세트를 고려할 때 대부분 양수 인스턴스를 예측하는 분류자는 회수율이 높지만, 음수 인스턴스가 많이 잘못 분류되어 많은 가양성이 발생하므로 정밀도가 다소 낮습니다. 이러한 두 메트릭이 어떻게 다른지 보여 주려면 평가 결과 출력 페이지에서 PRECISION/RECALL 곡선을 클릭할 수 있습니다(그림 7의 왼쪽 위 부분).
그림 7. 이진 분류 평가 결과입니다.
자주 사용되는 또 다른 관련 메트릭은 정확도와 재현율을 둘 다 고려하는 F1 점수입니다. 이 두 메트릭의 조화 평균이며 F1 = 2(전체 자릿수 x 재현율) / (정밀도 + 회수)와 같이 계산됩니다. F1 점수는 평가를 단일 숫자로 요약하는 좋은 방법이지만 분류자의 동작 방식을 더 잘 이해하기 위해 정밀도와 재현율을 함께 살펴보는 것이 좋습니다.
또한 ROC(수신자 작동 특성) 곡선 및 AUC(곡선 아래의 해당 영역) 값에서 실제 양수 비율과 가양성 비율을 검사할 수 있습니다. 이 곡선이 왼쪽 위 모서리에 가까울수록 분류자의 성능이 향상됩니다(가양성 비율을 최소화하면서 참 긍정 비율을 최대화). 플롯의 대각선에 가까운 곡선은 임의 추측에 가까운 예측을 하는 경향이 있는 분류자에서 발생합니다.
교차 유효성 검사 사용
회귀 예제와 마찬가지로 교차 유효성 검사를 수행하여 데이터의 여러 하위 집합을 반복적으로 학습, 점수 매기기 및 평가할 수 있습니다. 마찬가지로 모델 간 유효성 검사 모듈, 학습되지 않은 로지스틱 회귀 모델 및 데이터 세트를 사용할 수 있습니다. 모델 교차 유효성 검사 모듈의 속성에서 레이블 열을 수입으로 설정해야 합니다. 실험을 실행하고 모델 교차 유효성 검사 모듈의 오른쪽 출력 포트를 클릭하면 각 접기의 이진 분류 메트릭 값과 각 모듈의 평균 및 표준 편차를 확인할 수 있습니다.
그림 8. 이진 분류 모델의 교차 유효성 검사
그림 9. 이진 분류자의 교차 유효성 검사 결과입니다.
다중 클래스 분류 모델 평가
이 실험에서는 붓꽃 공장의 세 가지 유형(클래스)의 인스턴스를 포함하는 인기 있는 아이리스 데이터 세트를 사용합니다. 각 인스턴스에 대해 네 가지 기능 값(sepal 길이/너비 및 꽃잎 길이/너비)이 있습니다. 이전 실험에서 동일한 데이터 세트를 사용하여 모델을 학습하고 테스트했습니다. 여기서는 데이터 분할 모듈을 사용하여 데이터의 하위 집합 2개를 만들고 첫 번째 하위 집합을 학습한 후 두 번째 하위 집합의 점수를 매기고 평가합니다. Iris 데이터 세트는 UCI Machine Learning 리포지토리에서 공개적으로 사용할 수 있으며, 데이터 가져오기 모듈을 사용하여 다운로드할 수 있습니다.
실험 만들기
다음 모듈을 Machine Learning 스튜디오(클래식)의 작업 영역에 추가합니다.
아래의 그림 10과 같이 포트를 연결합니다.
모델 학습 모듈의 레이블 열 인덱스 값을 5로 설정합니다. 데이터 세트에는 머리글 행이 없지만 클래스 레이블이 다섯 번째 열에 있다는 것을 알고 있습니다.
데이터 가져오기 모듈을 클릭하고 HTTP를 통해 데이터 원본 속성을 웹 URL로 설정하고 URL을 로 http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data설정합니다.
데이터 분할 모듈에서 학습에 사용할 인스턴스의 비율을 설정합니다(예: 0.7).
그림 10. 다중 클래스 분류자 평가
평가 결과 검사
실험을 실행하고 모델 평가의 출력 포트를 클릭합니다. 이 경우 평가 결과가 혼동 행렬 형식으로 표시됩니다. 행렬은 세 클래스 모두에 대한 실제 인스턴스와 예측된 인스턴스를 보여 줍니다.
그림 11. 다중 클래스 분류 평가 결과입니다.
교차 유효성 검사 사용
앞에서 설명한 것처럼 모델 교차 유효성 검사 모듈을 사용하여 반복 학습, 점수 매기기 및 평가를 자동으로 수행할 수 있습니다. 데이터 세트, 학습되지 않은 모델 및 모델 교차 유효성 검사 모듈이 필요합니다(아래 그림 참조). 다시 모델 교차 유효성 검사 모듈의 레이블 열을 설정해야 합니다(이 경우 열 인덱스 5). 실험을 실행하고 교차 유효성 검사 모델의 오른쪽 출력 포트를 클릭한 후 각 접기의 메트릭 값과 평균 및 표준 편차를 검사할 수 있습니다. 여기에 표시된 메트릭은 이진 분류 사례에 설명된 메트릭과 유사합니다. 그러나 다중 클래스 분류에서는 전반적인 양수 또는 음수 클래스가 없으므로 클래스별로 계산하여 진정한 긍정/부정 및 가양성/부정을 계산합니다. 예를 들어 'Iris-setosa' 클래스의 정밀도 또는 재현율을 계산할 때는 이것이 양수 클래스이고 다른 모든 클래스는 음수라고 가정합니다.
그림 12. 다중 클래스 분류 모델 교차 유효성 검사
그림 13. 다중 클래스 분류 모델의 교차 유효성 검사 결과입니다.