【问题标题】:svm output error in python only sometimespython中的svm输出错误只是有时
【发布时间】:2014-02-05 06:33:50
【问题描述】:

我正在应用带有加权样本的支持向量机:

代码是:

clf=svm.SVC(kernel="rbf",gamma = gamma_current, C = 1)
clf.fit(x_train,y_train,weights)

一半的时间clf.fit 在控制台输出时运行良好:

clf.fit(x_train,y_train,weights)
SVC(C=1, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.5,
kernel='rbf', max_iter=-1, probability=False, random_state=None,
shrinking=True, tol=0.001, verbose=False)

而在其他时候:

clf.fit(x_train,y_train,weights)

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\sklearn\svm\base.py", line 178, in fit
 fit(X, y, sample_weight, solver_type, kernel, random_seed=seed)
File "C:\Python27\lib\site-packages\sklearn\svm\base.py", line 233, in _dense_fit
 max_iter=self.max_iter, random_seed=random_seed)
File "libsvm.pyx", line 220, in sklearn.svm.libsvm.fit (sklearn\svm\libsvm.c:2532)
MemoryError

如何解决这个问题。谢谢

【问题讨论】:

  • 好吧,显然你的内存已经用完了。您可以使用top 监控内存使用情况。

标签: python svm scikit-learn


【解决方案1】:

您可以通过使用 scipy.sparse 矩阵的 sparse() 优化 SVM,其内存效率比 numpy.ndarry 更高。

http://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html#sklearn.svm.LinearSVC.sparsify

如果您对错误提示背后的逻辑感到好奇,请参阅此处。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-06
    • 2016-05-17
    • 2018-08-22
    • 2016-08-21
    • 2013-10-16
    • 2021-04-08
    • 2014-02-17
    • 1970-01-01
    相关资源
    最近更新 更多