zoukankan      html  css  js  c++  java
  • sklearn中回归器性能评估方法

    • explained_variance_score()
    • mean_absolute_error()
    • mean_squared_error()
    • r2_score() 

    以上四个函数的相同点:

    • 这些函数都有一个参数“multioutput”,用来指定在多目标回归问题中,若干单个目标变量的损失或得分以什么样的方式被平均起来
    • 它的默认值是“uniform_average”,他就是将所有预测目标值的损失以等权重的方式平均起来
    • 如果你传入了一个shape为(n_oupputs,)的ndarray,那么数组内的数将被视为是对每个输出预测损失(或得分)的加权值,所以最终的损失就是按照你锁指定的加权方式来计算的
    • 如果multioutput是“raw_values”,那么所有的回归目标的预测损失或预测得分都会被单独返回一个shape是(n_output)的数组中

    explained_variance_score

    复制代码
    #explained_variance_score
    from sklearn.metrics import explained_variance_score
    y_true=[3,-0.5,2,7]
    y_pred=[2.5,0.0,2,8]
    print(explained_variance_score(y_true,y_pred))
    y_true=[[0.5,1],[-1,1],[7,-6]]
    y_pred=[[0,2],[-1,2],[8,-5]]
    print(explained_variance_score(y_true,y_pred,multioutput="raw_values"))
    print(explained_variance_score(y_true,y_pred,multioutput=[0.3,0.7]))
    
    #结果
    #0.957173447537 #[ 0.96774194 1. ] #0.990322580645
    复制代码

    mean_absolute_error

    复制代码
    #mean_absolute_error
    from sklearn.metrics import mean_absolute_error
    y_true=[3,0.5,2,7]
    y_pred=[2.5,0.0,2,8]
    print(mean_absolute_error(y_true,y_pred))
    
    y_true=[[0.5,1],[-1,1],[7,-6]]
    y_pred=[[0,2],[-1,2],[8,-5]]
    print(mean_absolute_error(y_true,y_pred))
    print(mean_absolute_error(y_true,y_pred,multioutput="raw_values"))
    print(mean_absolute_error(y_true,y_pred,multioutput=[0.3,0.7]))
    
    #结果
    #0.5
    #0.75
    #[ 0.5  1. ]
    #0.85
    复制代码

    mean_squared_error

    复制代码
    #mean_squared_error
    from sklearn.metrics import mean_squared_error
    y_true=[3,-0.5,2,7]
    y_pred=[2.5,0.0,2,8]
    print(mean_squared_error(y_true,y_pred))
    y_true=[[0.5,1],[-1,1],[7,-6]]
    y_pred=[[0,2],[-1,2],[8,-5]]
    print(mean_squared_error(y_true,y_pred))
    
    #结果
    #0.375
    #0.708333333333
    复制代码

    median_absolute_error

    复制代码
    #median_absolute_error
    from sklearn.metrics import median_absolute_error
    y_true=[3,-0.5,2,7]
    y_pred=[2.5,0.0,2,8]
    print(median_absolute_error(y_true,y_pred))
    
    #结果
    #0.5
    复制代码

    r2_score

     

    复制代码
    #r2_score
    from sklearn.metrics import r2_score
    y_true=[3,-0.5,2,7]
    y_pred=[2.5,0.0,2,8]
    print(r2_score(y_true,y_pred))
    
    y_true=[[0.5,1],[-1,1],[7,-6]]
    y_pred=[[0,2],[-1,2],[8,-5]]
    print(r2_score(y_true,y_pred,multioutput="variance_weighted"))
    
    y_true=[[0.5,1],[-1,1],[7,-6]]
    y_pred=[[0,2],[-1,2],[8,-5]]
    print(r2_score(y_true,y_pred,multioutput="uniform_average"))
    print(r2_score(y_true,y_pred,multioutput="raw_values"))
    print(r2_score(y_true,y_pred,multioutput=[0.3,0.7]))
    
    #结果
    #0.948608137045
    #0.938256658596
    #0.936800526662
    #[ 0.96543779  0.90816327]
    #0.92534562212
    复制代码
  • 相关阅读:
    【故障处理】ORA-12162: TNS:net service name is incorrectly specified (转)
    android studio 编程中用到的快捷键
    java时间格式串
    android Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.
    linux安装vmware
    x1c 2017 安装mint18的坑——grub2
    x1c2017 8G版 win linux的取舍纠结记录
    python的try finally (还真不简单)
    kafka+docker+python
    json文件不能有注释
  • 原文地址:https://www.cnblogs.com/cmybky/p/11772678.html
Copyright © 2011-2022 走看看