sklearn在机器学习中的应用-工程实践

  1. 模型评估指标
    1. 回归模型的指标
    2. 距离公式

[toc]

模型评估指标

回归模型的指标

  1. 绝对误差 mean_absolute_error
    1
    from sklearn.metrics import mean_absolute_error
    2
    mean_absolute_error(y_true,y_pred)
  2. 均方误差mean_squared_error
    1
    from sklearn.metrics import mean_squared_eror
    2
    mean_squared_error(y_true,y_pred)
    ### 分类模型的指标
  3. 准确率accuracy
    1
    from sklearn.metircs import accuracy_score
    2
    Accuracy=accuracy_score(y_true,y_pred,normalize=True)
    参数normalize选择输出结果的类型
    • True 输出为准确率
    • False 输出为验证集被正确分类的数目
  4. 精度precision
    1
    from sklearn.metrics import  precision_score
    2
    Precision=precision_score(y_true,y_pred,average=None)
    参数average计算方式
    • None 返回输出各个类别的精度列表
    • macro 直接计算各个类别的精度值的平均
    • weight 可通过对每个类别的score进行加权求得
    • micro 多标签问题中,大类将被忽略
  5. 召回率 recall 查全率
    1
    from sklearn.metrics import recall_score
    2
    Recall=recall_score(y_true,y_pred,average=None)
  6. F1值
    1
    from sklearn.metircs import f1_score
    2
    F1=f1_score(y_true,y_pred,pos_label=1,average=None)
  7. 输出precision、recall、f1-score
    1
    from sklearn.metrics import classification_report
    2
    classification_report(y_true,y_pred,target_names=None)
    参数target_names 字符列表形式,用来指定输出类别的名字
  8. ROC曲线
    1
    from sklearn import metrics
    2
    metircs.roc_curve(y_true,y_pred_prob,pos_label=1)
    参数y_pred_prob验证集样本的预测概率值
    pos_label 正例的类别
  9. AUC曲线
    1
    from sklearn.metircs import roc_auc_score
    2
    print roc_auc_score(y_true,y_pred_prob)
    返回ROC曲线下的面积
  10. 混淆矩阵confusion matrix
    1
    from sklearn.metircs import confusion_matricx
    2
    print confusion_matrix(y_true,y_pred,labels=None)
    参数 labels 是字符类别的形式,用来指定各个类别显示的名称

    距离公式

    设向量vector1,vector2
    曼哈顿距离
    1
    from numpy import *
    2
    vector1,vector2
    3
    print(sum(abs(vector1-vector2)))
    欧氏距离
    1
    numpy
    2
    print(sqrt((vector1-vector2)*(vector1-vector2).T))
    切比雪夫距离
    1
    numpy
    2
    print(abs(vector1-vector2).max)
    夹角余弦
    1
    numpy
    2
    print(vector1.dot(vector2)/(np.linalg.norm(vector1)*np.linalg.norm(vector2)))

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

文章标题:sklearn在机器学习中的应用-工程实践

本文作者:Espresso

发布时间:2019-12-02, 18:05:08

最后更新:2019-12-02, 19:32:40

原始链接:http://yoursite.com/2019/12/02/sklearn%E5%9C%A8%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8-%E5%B7%A5%E7%A8%8B%E5%AE%9E%E8%B7%B5/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
github