Python之算法评估-4

匿名 (未验证) 提交于 2019-12-02 22:51:30

  一、评估算法的方式分两种,一种是分类算法的评估,一种是回归算法的评估。为什么要分两种呢,因为分类算法中可以通过准确率、精准率、召回率、混淆矩阵、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(均方误差值越小,越准确)

转载请标明出处:Python之算法评估-4
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!