나는 어떻게 기계 학습을 배웠는가--10주째:scikit learn에서 평가 모델(제2부분)
7902 단어 aimachinelearningpython
디렉토리:
Regression model evaluators
혼동 행렬
혼동 행렬은 기계가 예측한 내용과 예측해야 할 내용을 비교하는 방법이다. 이 이름이 있는 이유는 모델이 어디에서 혼동되었는지 알고 다른 라벨이 아닌 라벨을 예측하기 때문이다.동일한 추정치를 사용하여 우리는 이미 우리가 필요로 하는 것을 가져올 수 있다.
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
X = iris_df.drop('target', axis = 1)
y = iris_df['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = .15)
clf = SVC()
clf.fit(X_train, y_train)
y_preds = clf.predict(X_test)
이제 함수를 가져와 행렬을 혼동할 수 있습니다.그러나 이것은 무엇을 의미하는가?그것은 우리가 지난 글에서 본 가짜 양성률 (fpr) 과 진양성률 (tpr) 을 바탕으로 한다.행렬의 모든 칸은 모델이 클래스를 정확하게 예측했는지 표시합니다.pandas 함수 교차 테이블을 빠르게 탐색할 수 있습니다.
0, 1, 2가 우리의 라벨인 Setosa, Version Color, Virginica라는 것을 알고 우리는 모델이 예측한 라벨이 정확하고 예측한 라벨이 틀렸다는 것을 알 수 있다.
confusion_matrix
함수의 결과를 conf_mat
에 저장한 후에 우리는 seaborn 라이브러리를 가져와 완전히 유행하는 방식으로 그것을 그릴 수 있다.회귀 모델 평가자
지금까지 우리는 분류 모델을 어떻게 평가하고 이진 분류 평가기를 어떻게 사용하여 여러 종류의 분류를 하는지 이해했다.비록 기계 학습에 있어서 매우 중요하지만, 평가 회귀 모델은 우리가 이미 한 것보다 훨씬 간단하다
결정 계수
결정 계수 또는 R^2(R제곱)는 우리가 시리즈부터 본
score
방법이지만, 어떻게 작동하는지 알아보자.회귀 데이터 세트 가져오기를 시작합니다.당신은 데이터를 찾을 수 있습니다here
이 데이터를 보면 헝가리의 모든 수두 병례는 현별로 구분되어 있다는 것을 알 수 있다.우리는 각 현의 병례 수량에 근거하여 총 병례 수를 예측하고 싶다.매일의 전체 사례를 포함하는 열을 만들 것입니다. 이를 위해 코드가 필요합니다.
chickenpox['total'] = chickenpox.sum(axis = 1)
이렇게 하면 각 행에 있는 모든 사례의 합계를 포함하는 추가 열이 생성됩니다.이제 우리는 우리의 모형을 조정하고 훈련할 수 있다.
결과는 우리가 이미 수천 번 본 결과와 같다. 0.0과 1.0 사이의 숫자가 백분율에 대응한다.확정 계수는 모든 예측과 테스트 라벨을 비교한다.라이브러리의 특수 함수를 사용하여 계산할 수 있습니다.
R제곱 점수는 두 개의 다차원 그룹을 비교하기 때문에 만약에 우리가 자신과 비교를 한다면 우리는 100%의 점수를 얻을 것이다. 1.0
평균 절대 오차(MAE)
평균 절대 오차 점수는 각 실제 값과 각 예측 값 사이의 절대 차이를 계산한다.
모든 숫자가 양수라는 것을 절대 의미하기 때문에 데이터 프레임을 완성하는 완전한 방법은 다음과 같다.
이 평가를 완성하려면
difference
열의 평균값만 계산하면 됩니다.Calc와 특수 함수를 비교합니다.우리가 본 상황을 보면 우리가 한 모든 것이 옳다.
MAE는 모델의 오차 범위를 알려준다. 이 평가를 통해 우리는 현재 우리 모델의 오차 범위가 74에서 74 사이라는 것을 알 수 있다.
균일 오차(MSE)
균일 오차는 MAE와 같지만
difference
열의 각 값은 제곱입니다.언제 사용합니까?
이 경우 200명의 환자가 100명의 두 배 이상 상태가 되면 MAE를 사용할 수 있지만, 한 질병의 전파율이 매우 높다면 200명의 환자가 100명의 두 배 이상 상태가 될 수 있으므로 MSE에 더 관심을 가져야 한다.
채점 매개변수 사용
교차 평가 함수와 채점 매개변수를 변경하여 동일한 결과를 얻을 수 있습니다.
전체 목록을 보려면 here
마지막 생각
우리는 기계 학습 모델을 평가하는 모든 가장 중요한 방법을 보았고 도량 함수를 맹목적으로 사용해서 그들의 역할을 알지 못하도록 했다.만약 당신에게 어떤 의문이 있으면 언제든지 평론을 발표하세요.
Reference
이 문제에 관하여(나는 어떻게 기계 학습을 배웠는가--10주째:scikit learn에서 평가 모델(제2부분)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/gabrieleboccarusso/how-i-am-learning-machine-learning-week-10-evaluating-a-model-in-scikit-learn-part-2-idg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)