了解 SVR scikit-learn 中收敛所需的迭代次数

2024-02-24

我正在尝试优化 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)

Edit:现在,通过设置 IPython IDE 的问题已解决verbose=2但仍然需要在 Jupyter Notebook、spyder 中查看或写入外部文件,因为详细选项似乎仅适用于 IPython IDE


如果您想查看 SVR 的进度,请输入verbose=2到 SVR 的构造函数 -请注意,这可能会使进度减慢一个数量级

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)

输出将是

optimization finished, #iter = 4
obj = -4.366801, rho = -0.910470
nSV = 7, nBSV = 5

Where #iter就是你正在寻找的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

了解 SVR scikit-learn 中收敛所需的迭代次数 的相关文章

随机推荐