対戦ゲームデータ分析甲子園

目指せ"Another" バトル優勝!

賞金: 100,000 参加ユーザー数: 606 3年以上前に終了

Simple Pytorchの続き、中間層の出力を次元削減してプロットしてみる。

https://prob.space/competitions/game_winner/discussions/hirayuki-Post8dd695aec240936d2ae8
の続きです。
どうしてもNNの中間層を特徴量として出力すると言うのをやってみたかったので、実際にやってみて記録しました。

やり方は上記URLのコードの最後に下記コードを加えるだけです。

print(cats.shape)
embeddings = []
for i, emded in enumerate(model.embeds):
    embeddings.append(emded(cats[:,i]))
embeddings = torch.cat(embeddings, 1)

print(embeddings.shape)
from sklearn.decomposition import PCA 
pca = PCA()
embeddings = embeddings.detach().numpy().copy()
pca.fit(embeddings)
feature = pca.transform(embeddings)

df = pd.DataFrame(feature).head()
plt.figure(figsize=(6, 6))
plt.scatter(feature[:, 0], feature[:, 1], alpha=0.8, c=y)
plt.grid()
plt.xlabel("PC1")
plt.ylabel("PC2")
plt.show()

結果は以下のように、なんの役にも立たない結果となりました。。。
2f4e9daa-a3f7-4f24-ba9f-732cae5171e3.png

9a6b7dc4-6dd9-4689-a68d-1405fdcf54de.png

そもそもaccuracyが5.5くらいのデータを可視化しすること自体、難しかったのだと反省していますが、
もし何かご提案があればいただけると嬉しいです。

詳細はブログにも載せています。
https://hirasakanai.hatenablog.com/entry/2020/08/30/180233?_ga=2.203780496.1212057073.1598778157-371923226.1598778157

Favicon
new user
コメントするには 新規登録 もしくは ログイン が必要です。