기계 학습 분류 모델 평가
개요
- 모델 평가의 목표는 무엇인가요?
- 모델 평가의 목적은 무엇이며, 어떤 것들이 있나요? 일반적인 평가 절차는 무엇인가요?
- 분류정확도의 사용법은 무엇이며, 그 의미는 무엇입니까? 제한이 있나요?
- 혼란 행렬은 성능을 어떻게 설명합니까? 분류기?
- 혼란 행렬에서 어떤 측정항목을 계산할 수 있나요?
T모델 평가의 목표는 질문에 답하는 것입니다.
다른 모델 중에서 어떻게 선택하나요?
기계 학습을 평가하는 과정은 모델이 적용에 얼마나 안정적이고 효과적인지 결정하는 데 도움이 됩니다. 여기에는 성능, 지표, 예측 또는 의사 결정의 정확성과 같은 다양한 요소를 평가하는 작업이 포함됩니다.
어떤 모델을 선택하든 다양한 모델 유형, 튜닝 매개변수, 기능 등 모델 중에서 선택할 수 있는 방법이 필요합니다. 또한 모델이 보이지 않는 데이터를 얼마나 잘 일반화할지 추정하려면 모델 평가 절차가 필요합니다. 마지막으로 모델 성능을 정량화하기 위해 다른 절차와 짝을 이루는 평가 절차가 필요합니다.
진행하기 전에 다양한 모델 평가 절차와 작동 방식을 살펴보겠습니다.
모델 평가 절차 및 작동 방식.
-
동일 데이터에 대한 학습과 테스트
- 훈련 데이터에 "과적 적합"하고 일반화할 필요가 없는 지나치게 복잡한 모델을 보상합니다
-
학습/테스트 분할
- 데이터 세트를 두 부분으로 분할하여 모델을 다양한 데이터에 대해 훈련하고 테스트할 수 있습니다
- 표본 외 성능에 대한 더 나은 추정치이지만 여전히 "높은 분산" 추정치입니다
- 속도, 단순성, 유연성으로 인해 유용함
-
K-겹 교차 검증
- 체계적으로 "K" 학습/테스트 분할을 생성하고 결과의 평균을 구합니다
- 표본 외 성능에 대한 더 나은 예측
- 학습/테스트 분할보다 "K"배 느리게 실행됩니다.
위에서 다음과 같이 추론할 수 있습니다.
동일한 데이터에 대한 훈련 및 테스트는 새 데이터에 일반화되지 않고 실제로 유용하지 않은 지나치게 복잡한 모델을 구축하는 과적합의 전형적인 원인입니다.
Train_Test_Split은 샘플 외부 성능에 대해 훨씬 더 나은 추정치를 제공합니다.
K-폴드 교차 검증은 체계적으로 K 열차 테스트를 분할하고 결과를 함께 평균화함으로써 더 나은 성능을 발휘합니다.
요약하자면, train_tests_split은 속도와 단순성으로 인해 교차 검증에 여전히 수익성이 있으며, 이것이 바로 이 튜토리얼 가이드에서 사용할 것입니다.
모델 평가 지표:
선택한 절차를 진행하려면 항상 평가 지표가 필요하며, 지표 선택은 해결하려는 문제에 따라 달라집니다. 분류 문제의 경우 분류 정확도를 사용할 수 있습니다. 하지만 이 가이드에서는 다른 중요한 분류 평가 지표에 중점을 둘 것입니다.
새로운 평가 지표를 알아보기 전에 분류 정확도를 검토하고, 장점과 단점에 대해 이야기해 보겠습니다.
분류 정확도
이 튜토리얼에서는 768명의 환자의 건강 데이터와 당뇨병 상태가 포함된 Pima Indians 당뇨병 데이터세트를 선택했습니다.
데이터를 읽고 데이터의 처음 5개 행을 인쇄해 보겠습니다. 라벨 열에는 환자에게 당뇨병이 있는 경우 1, 당뇨병이 없는 경우 0이 표시되며, 우리는 다음 질문에 답하려고 합니다.
질문: 환자의 건강 상태를 측정하여 당뇨병 상태를 예측할 수 있습니까?
우리는 기능 메트릭 X와 응답 벡터 Y를 정의합니다. train_test_split을 사용하여 X와 Y를 훈련 및 테스트 세트로 분할합니다.
다음으로 훈련 세트에서 로지스틱 회귀 모델을 훈련합니다. 그런 다음 맞춤 단계에서 logreg 모델 개체는 X_train과 Y_train 간의 관계를 학습합니다. 마지막으로 테스트 세트에 대한 클래스 예측을 수행합니다.
이제 테스트 세트에 대한 예측을 수행했으며 간단히 정확한 예측의 백분율인 분류 정확도를 계산할 수 있습니다.
그러나 분류 정확도를 평가 지표로 사용할 때마다 항상 가장 빈번한 클래스를 예측하여 달성할 수 있는 정확도인 Null 정확도와 이를 비교하는 것이 중요합니다.
무정확도가 질문에 답합니다. 내 모델이 지배적인 클래스를 100% 예측한다면 얼마나 자주 정확할까요? 위 시나리오에서 y_test의 32%는 1입니다. 즉, 환자에게 당뇨병이 있다고 예측하는 멍청한 모델은 68% 확률(0)이 맞습니다. 이는 로지스틱 회귀를 측정할 수 있는 기준선을 제공합니다. 모델입니다.
Null 정확도 68%와 모델 정확도 69%를 비교해 보면 우리 모델이 그다지 좋아 보이지는 않습니다. 이는 모델 평가 지표로서 분류 정확도의 한 가지 약점을 보여줍니다. 분류 정확도는 테스트 테스트의 기본 분포에 대해 아무 것도 알려주지 않습니다.
요약:
- 분류 정확도는 가장 이해하기 쉬운 분류 측정항목입니다.
- 그러나 반응값의 기본 분포 는 알려주지 않습니다.
- 그리고 분류자가 어떤 오류 "유형"을 하는지 알려주지 않습니다.
이제 혼동행렬을 살펴보겠습니다.
혼란 매트릭스
혼란행렬은 분류 모델의 성능을 설명하는 표입니다.
분류기의 성능을 이해하는 데 유용하지만 모델 평가 지표는 아닙니다. 따라서 scikit이 최고의 혼동 행렬을 사용하여 모델을 선택하도록 지시할 수 없습니다. 그러나 혼동 행렬에서 계산할 수 있는 측정항목이 많으며 모델을 선택하는 데 직접 사용할 수 있습니다.
- 테스트 세트의 모든 관찰은 정확히 하나의 상자에 표시됩니다.
- 2개의 응답 클래스가 있으므로 2x2 행렬입니다.
- 여기에 표시된 형식은 보편적이지
몇 가지 기본 용어를 설명하겠습니다.
- 참 긍정(TP): 우리는 정확하게 그들이 당뇨병에 걸렸다고 예측했습니다.
- 진음성(TN): 우리는 정확하게 그들이 당뇨병에 걸리지 라고 예측했습니다.
- 오탐지(FP): 우리는 잘못 그들이 당뇨병에 걸렸다고 예측했습니다("제1종 오류")
- 거짓 부정(FN): 당뇨병이 없다고 잘못 예측했습니다("제2형 오류")
측정항목을 어떻게 계산하는지 살펴보겠습니다.
결론:
- 혼동 행렬은 분류기의 성능에 대한 더 완전한 그림을 제공합니다
- 또한 다양한 분류 지표를 계산할 수 있으며 이러한 지표는 모델 선택을 안내할 수 있습니다
위 내용은 기계 학습 분류 모델 평가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

Python은 게임 및 GUI 개발에서 탁월합니다. 1) 게임 개발은 Pygame을 사용하여 드로잉, 오디오 및 기타 기능을 제공하며 2D 게임을 만드는 데 적합합니다. 2) GUI 개발은 Tkinter 또는 PYQT를 선택할 수 있습니다. Tkinter는 간단하고 사용하기 쉽고 PYQT는 풍부한 기능을 가지고 있으며 전문 개발에 적합합니다.

Python은 배우고 사용하기 쉽고 C는 더 강력하지만 복잡합니다. 1. Python Syntax는 간결하며 초보자에게 적합합니다. 동적 타이핑 및 자동 메모리 관리를 사용하면 사용하기 쉽지만 런타임 오류가 발생할 수 있습니다. 2.C는 고성능 응용 프로그램에 적합한 저수준 제어 및 고급 기능을 제공하지만 학습 임계 값이 높고 수동 메모리 및 유형 안전 관리가 필요합니다.

제한된 시간에 Python 학습 효율을 극대화하려면 Python의 DateTime, Time 및 Schedule 모듈을 사용할 수 있습니다. 1. DateTime 모듈은 학습 시간을 기록하고 계획하는 데 사용됩니다. 2. 시간 모듈은 학습과 휴식 시간을 설정하는 데 도움이됩니다. 3. 일정 모듈은 주간 학습 작업을 자동으로 배열합니다.

Python은 개발 효율에서 C보다 낫지 만 C는 실행 성능이 높습니다. 1. Python의 간결한 구문 및 풍부한 라이브러리는 개발 효율성을 향상시킵니다. 2.C의 컴파일 유형 특성 및 하드웨어 제어는 실행 성능을 향상시킵니다. 선택할 때는 프로젝트 요구에 따라 개발 속도 및 실행 효율성을 평가해야합니다.

파이썬은 자동화, 스크립팅 및 작업 관리가 탁월합니다. 1) 자동화 : 파일 백업은 OS 및 Shutil과 같은 표준 라이브러리를 통해 실현됩니다. 2) 스크립트 쓰기 : PSUTIL 라이브러리를 사용하여 시스템 리소스를 모니터링합니다. 3) 작업 관리 : 일정 라이브러리를 사용하여 작업을 예약하십시오. Python의 사용 편의성과 풍부한 라이브러리 지원으로 인해 이러한 영역에서 선호하는 도구가됩니다.

Pythonlistsarepartoftsandardlardlibrary, whileraysarenot.listsarebuilt-in, 다재다능하고, 수집 할 수있는 반면, arraysarreprovidedByTearRaymoduledlesscommonlyusedDuetolimitedFunctionality.

하루에 2 시간 동안 파이썬을 배우는 것으로 충분합니까? 목표와 학습 방법에 따라 다릅니다. 1) 명확한 학습 계획을 개발, 2) 적절한 학습 자원 및 방법을 선택하고 3) 실습 연습 및 검토 및 통합 연습 및 검토 및 통합,이 기간 동안 Python의 기본 지식과 고급 기능을 점차적으로 마스터 할 수 있습니다.
