Pythonで20万以上のデータポイントを持つ1000次元データのアルゴリズムを実装しようとしています。numpy、scipy、sklearn、networkx、およびその他の便利なライブラリを使用したい。すべてのポイント間のペアワイズ距離などの操作を実行し、すべてのポイントでクラスタリングを実行したいと考えています。合理的な複雑さで必要なことを実行する実用的なアルゴリズムを実装しましたが、それらをすべてのデータにスケーリングしようとすると、RAM が不足します。もちろん、200k 以上のデータのペアごとの距離の行列を作成するには、多くのメモリが必要です。
ここに問題があります。RAM の量が少ない粗悪なコンピューターでこれを実行したいのです。
低RAMの制約なしでこれを機能させる実行可能な方法はありますか? 必要な時間が無限大にならない限り、それよりもはるかに長い時間がかかることは実際には問題ではありません!
アルゴリズムを機能させてから、1 時間か 5 時間後に戻ってきて、RAM が不足したためにスタックしないようにしたいと考えています。これを Python で実装し、numpy、scipy、sklearn、および networkx ライブラリを使用できるようにしたいと考えています。すべてのポイントなどへのペアごとの距離を計算できるようにしたい
これは実現可能ですか?そして、どうすればいいのでしょうか、何を読み始めることができますか?