scikit-learn 中 Nu_SVR 没有冗长
No verbose for Nu_SVR in scikit-learn
我在 scikit learn 中使用 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] 而不是冗长的?我应该怎么做才能变得冗长?
您可能在 Jupyter 笔记本或其他重定向标准输出 (stdout) 流的环境中使用它。
NuSVR的fit方法将任务推给了用C++编写的LibSVM(source here)。编译后的 C++ 代码将信息性消息写入标准输出。当在 NuSVR 中设置 verbose=True
时,它会尝试从标准输出中获取这些消息,但如果某些笔记本环境阻碍了它,这不一定会起作用。
在正常的 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 并不非常冗长:它不会在整个迭代过程中给出逐步的消息,除非迭代出现问题。
我在 scikit learn 中使用 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] 而不是冗长的?我应该怎么做才能变得冗长?
您可能在 Jupyter 笔记本或其他重定向标准输出 (stdout) 流的环境中使用它。
NuSVR的fit方法将任务推给了用C++编写的LibSVM(source here)。编译后的 C++ 代码将信息性消息写入标准输出。当在 NuSVR 中设置 verbose=True
时,它会尝试从标准输出中获取这些消息,但如果某些笔记本环境阻碍了它,这不一定会起作用。
在正常的 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 并不非常冗长:它不会在整个迭代过程中给出逐步的消息,除非迭代出现问题。