一场precision引发的血案

Accelerated C++ 中文版中 第三章 3.1那个示例代码

 

#include <iomanip>
#include <ios>
#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::precision;
 

int main()
{
    cout<< "please enter your first name: ";
    string name;
    cin>>name;
    cout<<"Hello, "<<name<<"!"<<endl;

    cout<< "please enter your midterm and final exam grades: ";
    double midterm, final;
    cin>>midterm>>final;

    cout<<"Enter all your homework grades, "
        "followed by end of file: ";

    int count = 0;
    double sum = 0;
    double x;

    while (cin>>x)
    {
        ++count;
        sum += x;
    }
    streamsize prec = cout.precision();
    cout<<"your final grade is "<<setprecision(3)<<0.2*midterm+0.4*final+0.4*sum/count<<setprecision(prec)<<endl;
    return 0;
}

 

编译后报错

百度后发现 原来是原书中的错误 中文版未纠正.

把using std::precision这句注释 可以修正其中一个错误,但是还是不解,为啥去掉才行呢?这句干嘛呢?

又百度之,发现是设定浮点数精度的....但是 因为precision是COUT的一个方法吧,所以 当你using cout时候 已经附带他了.

其他错误雷同此问题.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,关于计算recall和precision,我们需要先定义一些概念。在二分类问题中,我们通常将样本分为正样本和负样本,而分类器的预测结果也可以分为正、负两类。根据预测结果和真实类别分别组成四个情况:True Positive(真正例)、False Positive(假正例)、True Negative(真负例)和False Negative(假负例)。 其中,真正例指模型正确地预测出了正样本,假正例指模型错误地将负样本预测成了正样本,真负例指模型正确地将负样本预测成了负样本,假负例指模型错误地将正样本预测成了负样本。 那么,recall指的是在所有真正例中,模型预测出真正例的比例,也就是TPR(True Positive Rate),公式为:recall = TP / (TP + FN) 而precision指的是在所有预测为正例的样本中,真正例的比例,公式为:precision = TP / (TP + FP) 举一个例子:假设有一个二分类模型,我们用它来预测病人是否患有某种疾病。我们从一批100个病人样本中,取出80个正样本和20个负样本,用模型进行预测,结果为:预测出70个正样本和30个负样本。 则: TP = 65(模型正确预测出的正样本数,即真正例) FN = 15(模型未能预测出的正样本数,即假负例) FP = 25(模型误判为正样本的负样本数,即假正例) TN = 5(模型正确预测出的负样本数,即真负例) 于是,recall = 65 / (65 + 15) = 0.8125,precision = 65 / (65 + 25) = 0.7222 希望这个例子能够帮助你理解recall和precision的计算方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值