問題タブ [sparse-matrix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - sparse_vector テンプレート クラス: どうすればクリーンアップできますか?
これが良い質問かどうかわかりませんが、そうでない場合は閉じてください。
ベクトルに似たインターフェイスを効率的に実装するテンプレート クラスを(boost::coordinate_vector
出発点として使用して) 書き始めましたが、スパースです。sparse_vector
通常のすべてのベクトル操作と、セット要素を反復処理する高速スパース反復子を実装します。の高速バージョンもありrotate
ます。このクラスが必要なのは、write-once-read-many のユース ケースがあり、これらの多くを使用しているためsparse_vectors
です。
私はテンプレート クラスを書いた経験がないので、改善できる点があることはわかっています。このクラスを改善するにはどうすればよいですか?
sorting - PCG ソルバーを実行するときに疎行列の行を並べ替える必要がありますか?
私は、疎な行列とベクトルの乗算を行うソフトウェアに取り組んでいます。行列は座標形式で格納されます (ゼロ以外の行と列のインデックス)。
それらは、その行の順序で列インデックスをソートするソート操作を実行しています (これは、この FEM 問題のいくつかの境界条件のためです)。これが起こる必要がある必要性はありますか?
r - スパース特徴行列を使用したRの大規模回帰
多くの(たとえば100k)機能を使用してRで大規模な回帰(線形/ロジスティック)を実行したいと思います。各例は機能空間で比較的まばらです。たとえば、例ごとに最大1,000の非ゼロ機能があります。
SparseMパッケージslm
でこれを行う必要があるようですが、このsparseMatrix
形式から使いやすい形式に変換するのに問題がslm
あります。
y
ラベルとsparseMatrix
機能の数値ベクトルX
\in{0,1}があります。やってみると
次のエラーが発生します。
おそらく、の代わりにオブジェクトslm
が必要なためです。SparseM
sparseMatrix
SparseM
a)オブジェクトに直接データを入力する、またはb)asparseMatrix
をオブジェクトに変換する簡単な方法はありSparseM
ますか?それとも、これを行うためのより良い/より簡単な方法がありますか?
X
(とを使用して線形回帰のソリューションを明示的にコーディングできると思いますが、機能y
していると便利ですslm
。)
matrix - 非常に大きな疎行列でのクラスタリング?
非常に大きな行列で (k-means) クラスタリングを実行しようとしています。
マトリックスは約 500000 行 x 4000 列ですが、非常にまばらです (行ごとに "1" の値が 2 つだけ)。約2000個のクラスターを取得したい。
2 つの質問があります。- アルゴリズムが終了するのに必要な時間をどのように見積もればよいですか? 一度 weka を試してみましたが、どれくらいの時間がかかるかわからなかったので、数日後に作業を中止しました。
ありがとう!
python - 疎行列で n 個の最大数を見つける
データを圧縮する手段として疎行列を使用していますが、もちろん損失があります。指定されたしきい値を超えるすべての値から疎な辞書を作成することです。圧縮データのサイズを、ユーザーが選択できる変数にしたいと思います。
私の問題は、ゼロに近い値がたくさんあるスパース行列があり、スパース辞書が特定のサイズになるように (または最終的に再構築エラーが特定の割合になるように) しきい値を選択することです。辞書の作成方法(stackoverflowから取得したと思います >.< ):
配列 (smat) の n 番目に大きい値と等しくなるようにしきい値を見つけるにはどうすればよいですか?
python - Pythonの疎行列svd
Pythonで疎行列に対してsvd操作を実行する方法を知っている人はいますか? scipy.sparse.linalg にはそのような機能は提供されていないようです。
python - scipy.sparse行列をブロードキャストされた密な1次元配列で要素ごとに乗算する方法は?
2次元の疎配列があるとします。私の実際のユースケースでは、行数と列数の両方がはるかに大きい (たとえば 20000 と 50000) ため、密な表現を使用するとメモリに収まりません。
ここで、サイズが 3 (または実際のケースでは 50000) のすべての非ゼロ コンポーネントを含む密な 1 次元配列があるとします。
numpy の通常のブロードキャスト セマンティクスを使用して、a と d の要素ごとの乗算を計算したいと思います。ただし、scipy のスパース行列は np.matrix のものです。「*」演算子は、要素ごとの乗算ではなく行列乗算のように動作するようにオーバーロードされています。
1 つの解決策は、'a' を '*' 演算子の配列セマンティクスに切り替えることです。これにより、期待される結果が得られます。
しかし、 toarray() への呼び出しは、メモリに収まらない「a」の密なバージョンを具体化するため、それを行うことはできません (結果も密になります):
まばらなデータ構造のみを保持しながら、「a」の列で非効率的な python ループを実行する必要なく、これを構築する方法はありますか?
matlab - スパース配列と通常配列 Matlab
Matlab では、まだ多くの計算を行う必要があり、配列の約 25% が非ゼロである場合、スパース配列が通常の配列よりも優れているのはどの時点ですか?
sparse-matrix - C#でスパースデータを格納するテーブルを実装する最も効率的な方法は何ですか?
次のような非常にまばらなデータを格納する DataTable があります。
行数と列数が 10^8 を超える場合があります。
このデータをより効率的な方法で保存するにはどうすればよいですか?
c++ - std :: vector>スパース行列構造または他の何かのために?
圧縮された行形式でスパース行列クラスを実装しています。これは、行の数が固定されており、各行がいくつかの要素で構成されていることを意味します(この数は行ごとに異なる可能性がありますが、マトリックスが初期化された後は変更されません。
ベクトルのベクトルを介してこれを実装するのは適切ですか、それともこれはどういうわけかメモリを断片化しますか?
これの割り当てをどのように実装すれば、1つの大きなメモリチャンクができますか?
あなたの知恵を共有してくれてありがとう!ダーク