8*8の手書きデータに対してt-sneを使って次元圧縮しているサイトがあったので、参考にしたやってみた。
from sklearn.datasets import load_digits
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
# データ準備
digits = load_digits()
X = digits.data
y = digits.target
# t-SNEの実行
tsne = TSNE(n_components=2)
X_tsne = tsne.fit_transform(X)
# 可視化
x_max, x_min = X_tsne[:, 0].max() * 1.05, X_tsne[:, 0].min() * 1.05
y_max, y_min = X_tsne[:, 1].max() * 1.05, X_tsne[:, 1].min() * 1.05
fig = plt.figure(figsize=(10, 10))
ax = fig.add_subplot(1, 1, 1, xlim=(x_min, x_max), ylim=(y_min, y_max))
ax.set_title("t-SNE")
for i, target in enumerate(y):
ax.text(X_tsne[i, 0], X_tsne[i, 1], target)
plt.show()
参考リンク(sklearn.maniforld.TSNE)
0 件のコメント:
コメントを投稿