私は、N
という異なるユーザーによって実行されるデータを含むlist
を持っていますので、ユーザーの番号はi=0,1,....,N-1
です。各エントリXi
の長さは異なります。 グローバルデータセットX
で各ユーザの値をXi
に正規化します。Python:正規化アルゴリズムを改善する方法は?
これは私がやっていることです。まず第一に私は、すべてのデータを含む1D
リストを作成します。
tmp = list()
for i in range(0,len(X)):
tmp.extend(X[i])
はその後、私は配列に変換し、私は外れ値とNaN
を削除します。
A = np.array(tmp)
A = A[~np.isnan(A)] #remove NaN
tr = np.percentile(A,95)
A = A[A < tr] #remove outliers
、その後、私はこのデータセットのヒストグラム
p, x = np.histogram(A, bins=10) # bin it into n = N/10 bins
最終的に私はそう、私が作成したヒストグラムの上に各ユーザーの値を正規化作成:
Xn = list()
for i in range(0,len(X)):
tmp = np.array(X[i])
tmp = tmp[tmp < tr]
tmp = np.histogram(tmp, x)
Xn.append(append(tmp[0]/sum(tmp[0]))
私のデータセットがあるが非常に大きく、このプロセスにはしばらく時間がかかる可能性があります。私はそれが良いかどうか、またはパッケージがあるかどうか疑問に思っています。