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

标签 python scikit-learn svm

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

编辑: IPython IDE 现在通过设置 verbose=2 解决了这个问题,但仍然需要在 Jupyter notebook、spyder 中查看或写入外部文件作为详细选项似乎只适用于 IPython IDE

最佳答案

如果您想查看 SVR 的进度,请在 SVR 的构造函数中输入 verbose=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)

输出将是

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

#iter 就是你要找的东西

关于python - 了解 SVR scikit-learn 收敛所需的迭代次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41486610/

相关文章:

machine-learning - 为 libsvm-线性 内核选择优化参数

python - 亚马逊 (AWS) API 网关 - 身份验证

python - 将变量从 View 传递到表单

python - 同一算法 scikit 神经网络多次运行的不同预测

validation - 使用机器学习来验证电话号码

machine-learning - SVM分类中的特征选择——怪异行为

python - 计算属于巨型组件的节点的比例(python,networkx)

python - 使用不修改函数的参数创建装饰器

python - Google机器学习引擎deployment_uri错误

c++ - 是否有任何 SVM 库支持可与 Visual Studio C++ 一起使用的自定义内核?