나는 어떻게 기계 학습을 배웠는가--10주째:scikit learn에서 평가 모델(제2부분)

지난주에 우리는 기계 학습 모델을 평가하는 방법을 보았지만, 그것들은 분류 문제에만 적용되었다.다른 평가 방법을 보고 회귀모델 평가에 주목합시다.
디렉토리:
  • Confusion matrix

  • Regression model evaluators
  • Coefficient of determination
  • The Mean Absolute Error (MAE)
  • The Mean Squared Error (MSE)
  • When to use them?
  • Using the scoring parameter
  • 혼동 행렬


    혼동 행렬은 기계가 예측한 내용과 예측해야 할 내용을 비교하는 방법이다. 이 이름이 있는 이유는 모델이 어디에서 혼동되었는지 알고 다른 라벨이 아닌 라벨을 예측하기 때문이다.동일한 추정치를 사용하여 우리는 이미 우리가 필요로 하는 것을 가져올 수 있다.
    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열의 각 값은 제곱입니다.

    언제 사용합니까?

  • R 제곱은 정밀도에 사용되지만 모델에 문제가 있는지 알려주지 않습니다.
  • MAE는 모델이 얼마나 잘못되었는지 잘 설명합니다
  • MSE가 MAE
  • 보다 크게 차이
    이 경우 200명의 환자가 100명의 두 배 이상 상태가 되면 MAE를 사용할 수 있지만, 한 질병의 전파율이 매우 높다면 200명의 환자가 100명의 두 배 이상 상태가 될 수 있으므로 MSE에 더 관심을 가져야 한다.

    채점 매개변수 사용


    교차 평가 함수와 채점 매개변수를 변경하여 동일한 결과를 얻을 수 있습니다.

    전체 목록을 보려면 here

    마지막 생각


    우리는 기계 학습 모델을 평가하는 모든 가장 중요한 방법을 보았고 도량 함수를 맹목적으로 사용해서 그들의 역할을 알지 못하도록 했다.만약 당신에게 어떤 의문이 있으면 언제든지 평론을 발표하세요.

    좋은 웹페이지 즐겨찾기