sklearnのPCA(主成分分析)がやたら遅くて腹が立ちました。計算コストを下げるために次元削減してるのに、次元削減で計算コスト食ったら意味がありません。 とにかくこのPCAを高速化したかったので、svd_solverを変えてどうなるか試しました。なお、腹が立つくらい遅かった理由は最終的にちゃんとわかったので、この記事の最後に載せます。 目次 svd_solverとは 実験 結果 まとめ おまけ:腹が立った理由 スポンサーリンク svd_solverとは PCAは内部で特異値分解(SVD)を使っています。この特異値分解がコンピュータにやらせるにはそれなりに計算コストの高い処理で、とりあえずアルゴリズムが何種類かあるようです。 sklearnのPCAで使える(指定できる)アルゴリズムは次の4つです。 auto デフォルト値。500*500以下の入力データならfullを、それ以上ならrand