【发布时间】:2020-03-24 12:56:04
【问题描述】:
我正在尝试为图像二进制分类问题训练线性 SVC 模型(使用 scikit-learn)。对于训练,我有大约 6 万张训练图像,每张都有 1800 像素。是的,我真的很想使用 SVM 相关的算法而不是深度学习,因为它是为了学习目的。但问题是,培训已经花费了几个小时,但并没有显示出任何进展。在训练之前,我通过除以 255 将像素值归一化为 0-1 范围。但是这里可能有什么问题?有什么我可以调整或注意的建议吗?
dataX = dataX/255.
dataY = np.ravel(dataY)
X_train, X_test, y_train, y_test = train_test_split(dataX, dataY, test_size=0.1, random_state=24, shuffle=True)
linear_classifier = svm.LinearSVR(random_state=0, tol=1e-5, verbose=1, max_iter=1000)
linear_classifier.fit(X_train, y_train)
【问题讨论】:
-
你能提供一个minimal, reproducible example吗?正如现在所说,问题完全取决于数据:如果数据,比如说,全是白噪声,那么这正是你所期望的行为。
-
我添加了一些代码,同时训练完成并警告模型在 1000 次迭代后无法收敛。这是否意味着,我可以简单地增加迭代次数?是否有任何其他选项/参数可以调整以便更快收敛?
标签: python machine-learning scikit-learn svm svc