私は現在、〜3万行の行列(すべての値が[0,1]の範囲内)の共分散行列を計算しようとしていますが、非常に長い時間がかかります(何時間も実行させましたが、まだ実行されていません完了していません)。
小さな例 (7k 行の行列) で気づいたことの 1 つは、出力された値の有効桁数がばかげていること (例: ~10^32) であり、速度が低下している (およびファイルサイズが増加している) 可能性があることです。これを制限するには?
私は単純なデータフレームで numpys 共分散法を使用してきました:
import numpy as np
import pandas as pd
import sklearn as sk
df = pd.read_csv('gene_data/genetic_data25.csv')
df = df.set_index('ID_REF')
df = (df-df.min(axis = 0))/(df.max(axis = 0)-df.min(axis = 0))
cov = np.cov(df)
cov = pd.DataFrame(cov)
cov.to_csv('/gemnetics/cov_matrix.csv')