Pythonでsklearnsvrパッケージを使用してSVRを実装しています。私のスパース行列のサイズは146860x10202です。サイズ2500x10202のさまざまなサブ行列に分割しました。各サブ行列について、SVRフィッティングには約10分かかります。プロセスをスピードアップする方法は何でしょうか?同じための別のアプローチまたは別のPythonパッケージを提案してください。ありがとう!
4486 次
1 に答える
7
SVR サブモデルの予測を平均化できます。
または、 Nystroem 法で計算されたカーネル展開の出力に線形回帰モデルを当てはめることができます。
または、ランダム化されたツリーのアンサンブルや勾配ブースト回帰ツリーなど、他の非線形回帰モデルを試すこともできます。
編集:言い忘れました:カーネルSVRモデル自体は、その複雑さが二次以上であるため、スケーラブルではなく、「高速化」する方法はありません。
編集 2 : 実際には、多くの場合、入力変数を単位分散または単位分散[0, 1]
にスケーリングすると、収束がかなり高速化されます。[-1, 1]
StandardScaler
また、デフォルトのパラメーターで良い結果が得られる可能性はほとんどありgamma
ませんepsilon
。大規模なモデルに適合させる前に、(最適なパラメーターの安定性を確認するために) サイズが増加するサブサンプルの最適値をグリッド検索する必要があります。
于 2013-03-23T06:23:44.583 に答える