Slide 53
Slide 53 text
PCAの使い方
色分け表示するにはseabornのscatterplotが便利
座標データをデータフレーム化し、各サンプルのグループ名を
3列目にして、hueでその列名を指定する。
from sklearn.decomposition import PCA
model = PCA(n_components=2) # PCAオブジェクトを用意
score = model.fit_transform(df.T) # スコア行列の計算
pos_df = pd.DataFrame(score, columns=list('xy')) # データフレーム化
pos_df['group'] = group_list # 各サンプルのグループ名を追加
perc1, perc2 = 100 * model.explained_variance_ratio_ # 寄与率
fig, ax = plt.subplots() # 図を用意
sns.scatterplot(data=pos_df, x='x', y='y', hue='group',
ax=ax) # 散布図の描画、色はグループ別
ax.set_xlabel(f'PC1 ({perc1:.1f} %)') # x軸のラベル、寄与率込み
ax.set_ylabel(f'PC2 ({perc2:.1f} %)') # y軸のラベル、寄与率込み
ax.legend(bbox_to_anchor=(1,1)) # 凡例の位置を枠外に移動
fig.show() # 図の表示
53 / 60