我编写了以下代码并在小数据上进行测试:
classif = OneVsRestClassifier(svm.SVC(kernel='rbf'))
classif.fit(X, y)
X, y
(X - 30000x784矩阵,y - 30000x1)是numpy数组。小数据算法运行良好,给我正确的结果。
但我大约10个小时前运行我的程序......它仍然在进行中。
我想知道需要多长时间,或者它会以某种方式陷入困境? (笔记本电脑规格4 GB内存,酷睿i5-480M)
答案 0 :(得分:27)
SVM训练可以任意长,这取决于几十个参数:
C
参数 - 错误分类惩罚越大,进程越慢一般来说,基本的SMO算法是O(n^3)
,因此在30 000
数据点的情况下,它必须运行与2 700 000 000 000
成比例的操作数,这实际上是一个巨大的数字。你有什么选择?
C
参数