Ahm*_*tan 4 python svm scikit-learn
我正在尝试优化 SVR 模型并因过度拟合而面临问题,为了克服这个问题,我尝试减少迭代次数而不是将其保留到收敛。
为了比较这两种模型,我需要两种情况下的迭代次数。在打开(max_iter=-1)的情况下,如何知道收敛所需的迭代次数?
这是我的代码:
model_1=SVR(kernel='rbf', C=316, epsilon=0, gamma=0.003162,max_iter=2500)
model_1.fit(tr_sets[:,:2],tr_sets[:,2])
print(model_1.score)
model_2=SVR(kernel='rbf', C=316, epsilon=0, gamma=0.003162,max_iter=-1)
model_2.fit(tr_sets[:,:2],tr_sets[:,2])
print(model_2.score)
Run Code Online (Sandbox Code Playgroud)
编辑:现在通过设置解决了 IPython IDE 的问题,verbose=2
但仍需要在 Jupyter notebook、spyder 中查看或写入外部文件,因为详细选项似乎仅适用于 IPython IDE
如果您想查看 SVR 的进度,请进入 SVRverbose=2
的构造函数 - 请注意这会使进度变慢一个数量级
from sklearn.svm import SVR
import numpy as np
n_samples, n_features = 10, 5
np.random.seed(0)
y = np.random.randn(n_samples)
X = np.random.randn(n_samples, n_features)
clf = SVR(C=1.0, epsilon=0.2,verbose=2)
clf.fit(X, y)
Run Code Online (Sandbox Code Playgroud)
输出将是
optimization finished, #iter = 4
obj = -4.366801, rho = -0.910470
nSV = 7, nBSV = 5
Run Code Online (Sandbox Code Playgroud)
#iter
你要找的东西在哪里
归档时间: |
|
查看次数: |
7060 次 |
最近记录: |