博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习 分类模型的评估
阅读量:4105 次
发布时间:2019-05-25

本文共 1230 字,大约阅读时间需要 4 分钟。

分类模型的评估

精确率(Precision)召回率(Recall)

estimator.score()

  • 一般最常见使用的时精确率,即预测结果正确的百分比

混淆矩阵

在分类任务下,预测结果与正确标记之间存在四种不同的组合,构成混淆矩阵(适用于多分类)

在这里插入图片描述

在这里插入图片描述

猫:混淆矩阵
狗:混淆矩阵

评估标准:准确率:精确率和召回率。

精确率:

预测结果为正例样本中真实为正例的比例(查的准)
在这里插入图片描述

召回率:

真实为正例的样本中预测结果为正例的比例(查的对,对正样本的区分能力)

在这里插入图片描述

其他的分类标准,F1-score,反映了模型的稳健性

在这里插入图片描述

分类模型评估API

  • sklearn.metrics.classfication_report

sklearn.metrics.classfication_report(t_true,y_target,target_names=None)

  • y_true: 真实目标值
  • y_pred: 估计器预测目标值
  • target_names: 目标类别名称
  • return: 买个类别精确率与召回率

交叉验证和网格搜索对k-近邻算法调优

交叉验证:为了让被评估的模型更加准确可信。

交叉验证:所有数据分成n等分,将拿到的训练数据,分成训练和验证集。

(4折交叉验证)

在这里插入图片描述

把这四个准确率求平均值模型结果。

网格搜索(超参数搜索):调参数 K-近邻

通常情况下,有很多参数是需要手动指定的(如K-近邻算法中的K值),这种叫超参数。但是手动过程繁杂,所以需要对模型预设几种超参数组合。每组超参数都采用交叉验证来进行评估。最后选出最优参数组合建立模型。

在这里插入图片描述

要是有两组数据,就两两组合。
在这里插入图片描述

超参数搜索-网格搜索API

  • sklearn.model_selection.GridSearchCV

在这里插入图片描述

在这里插入图片描述

源代码:

from sklearn.model_selection import GridSearchCVdef knncls():    #进行算法流程 超参数    knn= KNeightborsClassifier(n_neighbors=)    #构造一些参数的值进行搜索    param={
"n_neighbors":[3,5,10]} #进行网格搜索 gc=GridSearchCV(knn,param_grid=param,cy=2) gc.fit(x_train,y_train) #预测准确率 print("在测试及上准确率:",gc.score(x_test,y_test)) print("在交叉验证当中最好的结果:",gc.best_score_) print("选择最好的模型是:",gc.best_estimator_) print("每个超参数每次交叉验证的结果:",gc.cv_results_) return Noneif __name__=="__main": knncls()

结果:

在这里插入图片描述

转载地址:http://gvcsi.baihongyu.com/

你可能感兴趣的文章