Notice
Recent Posts
Today
Total
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
관리 메뉴

나름개발블로그

Hands-On ML 3장 본문

A/ML

Hands-On ML 3장

성남개발자 2020. 9. 11. 18:10

MNIST

머신러닝계의 "Hello World"

이진 분류기 훈련(Binary classifier)

두가지중 하나로 분류 (Y or N)

  • SGDClassifier
  • 여기서 SGD란 (Stochastic Gradient Descent) 확률적 경사 하강법

성능측정

교차 검증을 사용한 정확도측정

cross_val_score (sklearn)

정확도(accuracy)는 분류기 성능 측정지표로 선호하지 않는다. 특흐 불균형한 데이터 셋을 다룰때

오차행렬(confusion matrix)

cross_val_predict (sklearn) : cross_val_score 와 다르게 평가 점수를 반환 하는게 아니라 예측을 반환 한다.

confusion_matrix (sklearn)

from sklearn.metrics import precision_score , recall_score 

정밀도와 재현율을 F1 이라고 표현, 정밀도와 재현율의 조화 평균 !

$$F_1 = \cfrac{TP}{TP + \cfrac{FN + FP} {2}}$$

from sklearn.metrics import f1_score

상황에 따라서 재현율이 중요 할수도 있고 정밀도가 중요 할 수도 있다.

정밀도/재현율 트레이드 오프 (precision / recall Trade-off )

from sklearn.metrics import percison_reall_curve

precisions,recalls,thresholds = precision_recall_curve(y_train, y_scores)

ROC 곡선

수신기 조작 특성 (receiver operation characteristic) 이진 분류에 널리 사용된다 함

거짓 양성 비율 (false positive rate)에 대한 진짜 양성 비율(true positive rate)의 곡선

왼쪽 모서리위쪽으로 갈수록 좋은거임!

민감도(재현율)에 대한 1- 특이도 그래프!

from sklearn.metrics import roc_curve

fpr,tpr,thresholds =roc_curve(y_train,y_scores)

TPR 이 오를수록 FPR이 늘어난다!

곡선 아래의 면적 (area under the curve) (AUC)

완벽한 classifier는 ROC의 AUC 가 1이고 , 완전한 랜덤 classifier 는 0.5

from sklearn.metrics import roc_auc_score

다중 분류 (multiclasss classifier)

둘 이상의 클래스 분류!

이진 분류기를 여러개 사용해서 다중분류를 할수도 있다.

OvR(one-versus-the-rest) 또는 OvA (one-versus-all)

  • 각 분류기의 점수중에서 가장 높은 것을 선택

OvO(one-versus-one)

  • 각 숫자 조합마다 이진 분류기를 훈련시킨다.

에러 분석

오차행렬을 그림으로 보면 보기 편할때가 많다.

conf_mx = confusion_matrix(y_train,y_pred)
plt.matshow(conf_mx,cmap=plt.cm.gray)
plt.show

다중 레이블 분류 (multilabel classification)

여러개의 이진 꼬리표를 출력하는 분류 시스템이 다중 레이블 분류

다중 출력 분류

다중 레이블 분류에서 한레이블이 다중 클래스가 될수 있도록 일반화 한것

'A > ML' 카테고리의 다른 글

Hands-On ML 6장  (0) 2020.09.14
Hands-On ML 5장  (0) 2020.09.13
Hands-On ML 4장  (0) 2020.09.12
Hands-On ML 2장  (0) 2020.09.10
Hands-on ML 1장  (0) 2020.09.09
Comments