当前位置:  开发笔记 > 编程语言 > 正文

我该如何处理c ++中Liblinear的输出?

如何解决《我该如何处理c++中Liblinear的输出?》经验,为你挑选了0个好方法。

我试图liblinear在C ++中工作,但是对库的调用train(problem*, parameter*)将输出发送到终端。有时它说优化已完成,而其他时候似乎正在输出内部状态(为什么?)。此输出是什么意思,有可能抑制它或将其转移到某处的日志中吗?我boost::log在程序的其余部分中使用,并且我想控制程序显示的内容。我正在Ubuntu 12.10上运行它。

示例输出:

iter  1 act -6.742e-01 pre 1.191e-02 delta 3.443e-02 f 5.940e-02 |g| 1.730e-01 CG   1
cg reaches trust region boundary
iter  1 act -3.040e-02 pre 5.211e-03 delta 8.607e-03 f 5.940e-02 |g| 1.730e-01 CG   1
cg reaches trust region boundary
iter  1 act 5.453e-04 pre 1.442e-03 delta 6.791e-03 f 5.940e-02 |g| 1.730e-01 CG   1
cg reaches trust region boundary
iter  2 act 6.299e-04 pre 5.985e-04 delta 8.812e-03 f 5.886e-02 |g| 2.525e-01 CG   2
cg reaches trust region boundary
iter  3 act 2.610e-04 pre 2.449e-04 delta 1.583e-02 f 5.823e-02 |g| 4.313e-02 CG   2
iter  4 act 1.510e-04 pre 1.585e-04 delta 1.583e-02 f 5.796e-02 |g| 2.927e-02 CG   4

要么

..*
optimization finished, #iter = 25
Objective value = -0.332340
nSV = 173

对于train调用,我的参数是:

solver_type = L2R_L2LOSS_SVR
eps = 0.001
C = 0.02
nr_weight = 0
weight_label = nullptr
weight = nullptr
p = 0.005

我的输入数据有大约10,000〜100,000个数据点,每个数据点有62个特征。

另外,输出模型有124个权重。我假设正标记代表的集合的权重为62,负标记代表的权重是62?我怎么知道他们的顺序?model->labelNULL为了我的solver_type

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有