3.4.8.5. 数字を可視化する tSNE

ここでは、 sklearn.manifold.TSNE を使って数字データセットを可視化します。実際、数字は8*8=64次元空間のベクトルです。 それを2Dで投影して視覚化したいです。 tSNEは、データ点をその局所的な関係に基づいてグループ化し、分離するため、しばしば良い解決策となります。

アヤメの花データを読み込みます

from sklearn import datasets
digits = datasets.load_digits()
# Take the first 500 data points: it's hard to see 1500 points
X = digits.data[:500]
y = digits.target[:500]

TSNEでフィットとトランスフォーム

from sklearn.manifold import TSNE
tsne = TSNE(n_components=2, random_state=0)

データを2Dで投影します

データを視覚化します

target_ids = range(len(digits.target_names))
import matplotlib.pyplot as plt
plt.figure(figsize=(6, 5))
colors = "r", "g", "b", "c", "m", "y", "k", "w", "orange", "purple"
for i, c, label in zip(target_ids, colors, digits.target_names, strict=True):
plt.scatter(X_2d[y == i, 0], X_2d[y == i, 1], c=c, label=label)
plt.legend()
plt.show()
plot tsne

Total running time of the script: (0 minutes 0.988 seconds)

Gallery generated by Sphinx-Gallery