参考書に記載されている方法でがんの遺伝子発現量のPCAを試しにやっています。
下記のコードを実行すると
python
1import math 2import numpy as np 3import pandas as pd 4import matplotlib.pyplot as plt 5from sklearn.decomposition import PCA 6from sklearn.preprocessing import scale 7 8df = pd.read_table('all_FPKMs_remove_zero.txt',index_col=0) 9df_scale = scale(df.T) 10 11pca = PCA() 12pca.fit(df_scale) 13 14print('主成分',pca.components_.round(4)) 15print('平均',pca.mean_) 16print('共分散',pca.get_covariance()) 17print('各次元の寄与率',pca.explained_variance_ratio_) 18print('累積寄与率',sum(pca.explained_variance_ratio_)) 19print('標準偏差',[math.sqrt(u) for u in pca.explained_variance_]) 20 21fuka = pca.components_*np.c_[np.sqrt(pca.explained_variance_)].T 22print('負荷\n',fuka.round(4)) 23 24transformed = pca.fit_transform(df_scale) 25plt.scatter( [u[0] for u in transformed], [u[1] for u in transformed] ) 26plt.title('PCA of RNA seq') 27plt.grid() 28plt.xlabel('pc1') 29plt.ylabel('pc2') 30plt.show() 31 32下記の様なエラーが出ます 33 34ValueError: Input contains NaN, infinity or a value too large for dtype('float64'). 35
エラーの内容と対処法について教えて下さい。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/29 07:03
2020/03/29 08:15
2020/03/30 15:58
2020/03/30 16:02 編集
2020/03/30 16:17
2020/03/30 18:37
2020/03/31 11:34