了解拟合后的训练误差

我正在训练一个LinearSVC模型,我想知道它的训练误差。有没有办法在不手动评估的情况下获取这个误差?

谢谢


回答:

sklearn 使用 liblinear 来执行此任务。

你可以在这里快速查看源代码 这里

self.coef_, self.intercept_, self.n_iter_ = _fit_liblinear(    X, y, self.C, self.fit_intercept, self.intercept_scaling,    self.class_weight, self.penalty, self.dual, self.verbose,    self.max_iter, self.tol, self.random_state, self.multi_class,    self.loss, sample_weight=sample_weight)

这表明只有系数、截距和迭代次数被sklearn的Python-API处理。liblinear输出中可用的其他任何信息都没有被获取。你无法在不更改内部代码的情况下直接读取训练误差。

可能有一个变通方法,即开启详细模式,重定向输出并解析其中可用的额外信息。但这假设你所寻找的信息在那里可用,而且这也是一个临时解决方案,我不推荐这样做。

直接使用score方法。与拟合相比,这不会太耗费资源。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注