【发布时间】:2017-06-02 14:52:46
【问题描述】:
我正在使用 Python SciKit OneClass SVM 分类器来检测文本行中的异常值。首先使用词袋和 TF-IDF 将文本转换为数字特征。
当我训练(拟合)在我的计算机上运行的分类器时,时间似乎随着训练集中项目的数量呈指数增长:
训练数据中的项目数和花费的训练时间: 10K:1 秒、15K:2 秒、20K:8 秒、25K:12 秒、30K:16 秒、45K:44 秒。
我能做些什么来减少训练所花费的时间,并避免当训练数据量增加到几十万项时这会变得太长?
【问题讨论】:
-
Kernel-SVM 介于 O(n^2) 和 O(n^3) 之间(取决于时间/内存权衡)。你无能为力。非线性 SVM 不适用于大数据!线性 SVM 可以,但似乎底层实现只是 libsvm(并且不能使用 liblinear 或 SGD)。
标签: python scikit-learn svm