• Python之算法评估-4


      一、评估算法的方式分两种,一种是分类算法的评估,一种是回归算法的评估。为什么要分两种呢,因为分类算法中可以通过准确率、精准率、召回率、混淆矩阵、AUC来评估算法的准确度。但是在预测值的时候是没有办法去获得这个准确值(比如分类对了,那就对了,错了就是错了,可以通过对错来统计准确率),那么回归算法的方式,就通过均方误差来确认算法的准确度。

      二、分类算法的评估(以K-近邻算法来说)

        knn = KNeighborsClassifier(n_neighbors=5)
        knn.fit(x_train, y_train)
        y_predict = knn.predict(x_test)
        print("预测值:", y_predict)
    
        # 5、评估
        # 评估
        score = knn.score(x_test, y_test)
        print("准确率:", score)

      说明:可以通过predict()函数来预测结果

            source()来出来预测准确率(理解为真实预测数据/所有数据)

      其中还有其他的值的算法过程,和进准率差不多。 

      数据:
             预测值 0  预测值 1
      真实值 0   TN          FP
      真实值 1   FN          TP
      精准率(precision):
                        TP
          precision = ——————   
                      TP + FP
      召回率(recall):
                     TP
          recall = ———————
                   TP + FN
      模型的稳定性:
                    2TP        2precision * recall
          F1 = ————————————— = ———————————————————
               2TP + FN + FP    precision + recall

      三、均方误差

    from sklearn.metrics import mean_squared_error
    
    def mean_squared_error(y_true, y_pred,
                           sample_weight=None,
                           multioutput='uniform_average'):
        ...

      主要参数,y_true,y_pred:真实值,预测值

      公式:

                       1  m      _
                MSE = ——— ∑(yi - y)^2
                       m i=1
                          _
                yi:预测值 y:真实值
                一定要标准化之前的值

      四、统一说明:在分类算法中准确率只是其中的一项,以越接近100%,越准确。回归算法中以MSE(均方误差值越小,越准确)

  • 相关阅读:
    ionic环境搭建
    C# Enum Type
    【IOS】3. OC 类声明和实现
    【IOS】2.基础
    【IOS】1.学前准备
    win8, VS2013 .NET 4.5在哪找svcutil.exe?
    【你吐吧c#每日学习】11.10 C# Data Type conversion
    【你吐吧c#每日学习】10.30 C#Nullable Types
    【你吐吧c#每日学习】10.29 C#字符串类型&Common operators
    给三个int,判断是否可构成三角形算法
  • 原文地址:https://www.cnblogs.com/ll409546297/p/11213700.html
Copyright © 2020-2023  润新知