😎강사님 mbti가 궁금해요
이장래 강사님의 mbti는 istj
🤔metrics랑 matrix랑 왜 철자가 다른가요?
metrics[ ˈmetrɪks ]는 계량적 분석, matrix[ ˈmeɪtrɪks ]는 행렬[매트릭스]을 의미합니다.
😥최빈값을 어떻게 구했었죠?
df['columns'].mode()[0]
→ 오로지 최빈값만을 추출합니다!
df['columns'].value_counts().idxmax()
😥가변수화가 기억이 안 나요
# 가변수화 대상: col1, col2, col3
dum_col = ['col1', 'col2', 'col3']
# 가변수화
x = pd.get_dummies(x, columns=dum_col, drop_first=True)
# 확인
x.head()
drop_first=True 가변수화 할 때 0과 1 값이 나오는데 꼭 0 , 1 이 함께 나올 필요가 없으니 첫 번째 열을 삭제하는 겁니다!
😥e가 대체 뭐죠?
지수 표기법(Exponential notaion)입니다!
다음과 같이 표기됩니다
e-1 → 0.1, 1/10
e-2 → 0.01, 1/100
e+2 → 100
1.2e+02 → 1.2 * 100 --> 120
실제값 |
- 목푯값 - 이 값과 비교해 머신러닝 알고리즘 성능을 평가 |
예측값 |
- 새롭게 예측한 값 - 적어도 평균값보다 좋아야 함 |
평균값 |
- 기존에 예측한 값 - 예측값이 평균값보다 오차를 얼마나 줄였는지 평가 |
분류 모델 성능 평가
⭐혼동 행렬
정확도 (Accuracy) |
1과 0을 정확히 예측한 비율 |
정밀도 (Precision) |
1이라 예측한 것 중에서 정말 1인 비율 |
⭐재현율 (Recall) |
실제 1인 것을 1이라고 예측한 비율
- 민간도라고 부르는 경우가 많음 - 현실에서 빈도가 낮은 현상에 대해서 예측의 일치도가 중요하다! |
특이도 (Specificity) |
0을 0이라고 예측한 비율 |
F1-Score |
Recall과 Precision을 조화평균 낸 것 |
가중치 평균
Accuravy
# 모듈 불러오기
from sklearn.metrics import accuracy_score
# 성능 평가
print(accuracy_score(y_test, y_pred))
Precision
# 모듈 불러오기
from sklearn.metrics import precision_score
# 성능 평가
print(precision_score(y_test, y_pred))
print(precision_score(y_test, y_pred, average=None)) # 0과 1대해
print(precision_score(y_test, y_pred, average='macro')) # 산술평균
print(precision_score(y_test, y_pred, average='weighted')) # 가중평균
print(precision_score(y_test, y_pred, average='binary')) # default 값
Recall
# 모듈 불러오기
from sklearn.metrics import recall_score
# 성능 평가
print(recall_score(y_test, y_pred, average=None))
F1-Score
# 모듈 불러오기
from sklearn.metrics import f1_score
# 성능 평가
print(f1_score(y_test, y_pred, average=None))
Classification Report
# 모듈 불러오기
from sklearn.metrics import classification_report
# 성능 평가
# print로 출력하지 않으면 이상하게 출력 됨
print(classification_report(y_test, y_pred))