10000x1000 (1000 個の機能を持つ 10000 個のオブジェクト) の大規模なデータセットで scikit-learn の SVC を使用しています。SVMLIB が ~10000 オブジェクトを超えて拡張されないことを他のソースで既に見ましたが、実際にこれを観察しています。
training time for 10000 objects: 18.9s
training time for 12000 objects: 44.2s
training time for 14000 objects: 92.7s
80000 にしようとするとどうなるか想像できます。しかし、非常に驚くべきことは、SVM の predict() がトレーニングの fit() よりもさらに時間がかかるという事実です。
prediction time for 10000 objects (model was also trained on those objects): 49.0s
prediction time for 12000 objects (model was also trained on those objects): 91.5s
prediction time for 14000 objects (model was also trained on those objects): 141.84s
予測を線形時間で実行するのは簡単で (ここでは線形に近いかもしれませんが)、通常はトレーニングよりもはるかに高速です。それで、ここで何が起こっているのですか?