파이썬) 혼동행렬 그리고 정확도, 정밀도, 민감도, f1 score 등 계산하기 (+heatmap, confusion_matrix, classification_report)
#1. 혼동행렬은 무엇인가? 혼동행렬은 분류 모델의 성능을 평가하는 지표로서 영어로는 confusion matrix라고 하며 혼돈행렬, 정오행렬, 오분류표 등으로도 불린다. 지도학습을 통해 모델링한 "분류 모델이 예측한 값"과 레이블되어 있는 "원래의 값" 간의 관계를 표로 나타낸다. 이 표를 통해 해당 모델의 정확도(accuracy), 정밀도(precision), 민감도(sensitivity), f1 score 등을 파악할 수 있으며, 이 중에서도 특히 정확도를 통해 해당 모델이 정확하게 분류해 낼 수 있는 비율을 지 확인할 수 있다. 실제값(P-실제로 맞다) 실제값(N-실제로 틀리다) 모델의 예측값 (P로 예측-맞다고 예측) TP FP 모델의 예측값 (N로 예측-틀리다고 예측) FN TN 일반적으로 ..
2021. 7. 18.
파이썬) 이원분산분석 R과 파이썬 비교 (Anova table, Tukey HSD 사후분석)
#1. 이원분산분석이란 무엇일까? 종속변수가 1개, 독립변수가 2개이면서 독립변수 각각이 factor(요인)로서 factor내에 level(수준)을 가지고 있을 때, 각 집단의 평균의 유의미한 차이가 있는지 유무를 확인하기 위해 Two way Anova(ANalysis Of Variance) 즉, 이원분산분석을 진행한다. factor1 (level 1, 2, 3) + factor2 (level a, b)의 조합일 경우, 비교해야 하는 경우의 수는 아래와 같다. ----------------------------------------------------------------------------------------- factor1 내에서 3C2=3개 (1-2, 1-3, 2-3) factor2 내에서 2..
2021. 6. 24.
파이썬) 아노바 테이블에서 자유도 계산하는 방법 (+일원분산분석, 이원분산분석의 경우)
#1. 일원분산분석 아노바 테이블 자유도: 목화 함유량 15, 20, 25, 30, 35 5개 수준에 따라서 각각 5개의 섬유장력 값을 가진 데이터(전체 데이터 수는 25개)로 일원분산분석 아노바 테이블을 만들어보았다. 여기서 독립변수 목화함유량의 df 4, 자유도 4는 전체 수준 (15, 20, 25, 30, 35) 5개에서 1개를 뺀 값이다. ("1개 빼는 것은 항상 고정") 또한, Residual의 df 20은 전체데이터 수 25개에서 목화함유량의 자유도 4를 빼고 거기서 1개를 더 뺀 값이다. #2. 이원분산분석 아노바 테이블 자유도: 전공 (전공1, 전공2, 전공3) 3개 수준과 성별(남, 여) 2개 수준에 따라 각각 2개의 점수 값을 가진 데이터(전체 데이터수는 12개)로 이원분산분석 아노바 ..
2021. 6. 24.