データを圧縮する手段として疎行列を使用していますが、もちろん損失があります。指定されたしきい値を超えるすべての値から疎な辞書を作成することです。圧縮データのサイズを、ユーザーが選択できる変数にしたいと思います。
私の問題は、ゼロに近い値がたくさんあるスパース行列があり、スパース辞書が特定のサイズになるように (または最終的に再構築エラーが特定の割合になるように) しきい値を選択することです。辞書の作成方法(stackoverflowから取得したと思います >.< ):
n = abs(smat) > treshold #smat is flattened(1D)
i = mega_range[n] #mega range is numpy.arange(smat.shape[0])
v = smat[n]
sparse_dict = dict(izip(i,v))
配列 (smat) の n 番目に大きい値と等しくなるようにしきい値を見つけるにはどうすればよいですか?