在scikit-learn中没有详细的Nu_SVR

问题描述 投票:1回答:1

我在scikit学习中使用SVM,并且需要详细了解我的模型在训练时的表现。但是我无法在SVM中获得详细信息并且我不断获得以下输出:*

 begin training ....
 [LibSVM]

这是我写的代码:

print("begin training ....")
svm = NuSVR(kernel="rbf",C=20, nu=0.9,verbose=True)
svm.fit(trX,trY)
print(".... training ended")

那么为什么我得到[LibSVM]而不是冗长?我应该怎么做才能得到一个详细的?

scikit-learn svm libsvm
1个回答
2
投票

您可能在Jupyter笔记本或其他重定向标准输出(stdout)流的环境中使用它。

NuSVR的fit方法将任务推送到用C ++(source here)编写的LibSVM。已编译的C ++代码将信息性消息写入stdout。当在NuSVR中设置verbose=True时,它将尝试从stdout中获取这些消息,但如果某些笔记本环境阻碍,则这不一定有效。

在普通的Python控制台中测试相同的(或者像pythonanywhere.com一样正常)会产生一个冗长的消息:

*
optimization finished, #iter = 260
epsilon = -0.000005
obj = -255.403240, rho = -1.521151
nSV = 30, nBSV = 12
[LibSVM]NuSVR(C=20, cache_size=200, coef0=0.0, degree=3, gamma='auto', kernel='rbf',
   max_iter=-1, nu=0.9, shrinking=True, tol=0.001, verbose=True)

LibSVM不是很冗长:除非迭代出现问题,否则它不会在整个迭代过程中提供逐步消息。

© www.soinside.com 2019 - 2024. All rights reserved.