본문 바로가기

ML&DATA/핸즈온 머신러닝12

3 - 에러분석 3.5 에러분석 적절한 모델을 찾았다면 이 모델의 성능을 향상시킬 방법을 찾아야 한다. 에러를 분석하여 통찰을 얻을 수 있다. cross_val_predict()함수로 모든 클래스에 대한 예측값을 만들어서 오차 행렬을 만들어 본다. (이진 분류기에서와 마찬가지로 행이 실제 값이고 열이 예측값이다.) (i행 j열 즉 $C_i,j$는 실제 클래스가 i인 것을 j로 예측한 것의 개수를 의미한다.) y_train_pred = cross_val_predict(sgd_clf, X_train_scaled, y_train, cv=3) conf_mx = confusion_matrix(y_train, y_train_pred) conf_mx #array([[5576, 0, 21, 6, 9, 43, 37, 6, 224, 1].. 2020. 8. 27.
3 - 다중분류 3.4 다중분류 다중분류는 여러 개의 클래스를 분류하는 것을 의미한다. SGD, randomforest, naive bayes 등의 분류기는 다중 분류가 가능하지만 로지스틱 회귀나 서포트 벡터 머신 분류기같은 알고리즘은 이진 분류만 가능하다. 여러 개의 이진 분류기를 사용해서 다중분류를 구현할 수도 있다. OvR(OvA) : one-versus-the rest, 클래스마다 이진 분류기를 만들어서 가장 높은 결정점수를 낸 클래스를 선택 OvO : one-versus-one, 모든 가능한 두 개의 클래스 조합($\frac{n(n-1)}{2}$)에 대해 이진 분류기를 만듦. 가장 많이 양성으로 분류된 클래스 선택 OvR : 대부분의 이진 분류 알고리즘이 선호함 OvO : SVM같은 일부 알고리즘은 훈련 세트의.. 2020. 8. 27.
3 - 분류기의 성능 측정 분류기(classifier)의 성능을 측정하기 위해 정확도측정, 오차행렬조사, 정밀도와 재현율측정, ROC 곡선 조사 등을 할 수 있다. https://velog.io/@skyepodium/K-Fold-%EA%B5%90%EC%B0%A8%EA%B2%80%EC%A6%9D (참고 블로그) mnist 손글씨 데이터셋에 대해 SGD분류기(확률적 경사 하강법 분류기)의 성능을 측정해보자. 데이터 가져오기 from sklearn.datasets import fetch_openml mnist = fetch_openml('mnist_784',version=1) mnist.keys() # dict_keys(['data', 'target', 'feature_names', 'DESCR', 'details', 'categori.. 2020. 8. 25.
개요 https://skasha.tistory.com/81 머신러닝 모델 성능 평가 (홀드아웃 및 k-겹 교차 검증) 모델이 너무 간단하면 과소적합(높은 편향)이 문제가 되기도하고, 모델이 너무 복잡하면 훈련 데이터에 과대적합(높은 분산)이 일어나 문제가 되곤 합니다. 이런 현상을 피해 적절한 편향-분산 t skasha.tistory.com 1.6절 검증부분은 책 내용이 직관적으로 이해되지 않아 위 블로그로 공부했음을 밝힙니다. 1.1 intro 머신러닝 : 어떤 작업 T에 대한 프로그램의 성능을 P라고 측정했을 떄, 경험 E로 인해 성능 P가 향상됐다면, 이 프로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것. 데이터 마이닝: 머신러닝을 적용해서 대용량의 데이터를 분석하여 보이지 않았던 패턴을 .. 2020. 7. 16.