새소식

AIVLE School DX 3기

[에이블스쿨 6주차] 머신러닝2

  • -
728x90
반응형

 

😎강사님 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))
728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.