혼동 행렬 계산하기
영상에서 보셨듯이, 혼동 행렬은 모델의 출력을 보정하고 예측의 모든 가능한 결과(진짜 양성, 진짜 음성, 거짓 양성, 거짓 음성)를 살펴보는 데 매우 유용한 도구입니다.
혼동 행렬을 만들기 전에, 주어진 임곗값에서 예측 확률을 “컷”하여 확률을 범주형 클래스 예측으로 바꿔야 합니다. ifelse()와 factor()를 다음과 같이 결합하세요:
pos_or_neg <- ifelse(probability_prediction > threshold, positive_class, negative_class)
p_class <- factor(pos_or_neg, levels = levels(test_values))
caret의 confusionMatrix()는 기본 R의 table()에 유용한 보조 통계를 다수 추가하여 표의 기본 비율 외에도 더 많은 정보를 제공합니다. 예측된 결과와 실제 결과를 사용하여 혼동 행렬(및 관련 통계)을 다음과 같이 계산할 수 있습니다:
confusionMatrix(p_class, test_values)
이 연습은 강의의 일부입니다
R의 caret로 배우는 Machine Learning
연습 안내
ifelse()를 사용해 문자 벡터m_or_r를 만드세요. 여기서p가 0.5보다 크면 양성 클래스"M", 그렇지 않으면 음성 클래스"R"가 되도록 합니다.m_or_r를 팩터p_class로 변환하세요. 수준은test[["Class"]]의 수준과 동일하게 맞추세요.confusionMatrix()로 혼동 행렬을 만드세요. 인수로p_class와test데이터셋의"Class"열을 전달합니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# If p exceeds threshold of 0.5, M else R: m_or_r
# Convert to factor: p_class
# Create confusion matrix