더북(TheBook)

t-SNE에는 복잡도(perplexity) 및 학습률(엡실론(epsilon))과 같은 하이퍼파라미터가 있지만 이 예제에서는 생략했습니다(즉, 사이킷런 기본값을 사용했습니다). 실제로는 이런 매개변수도 살펴보는 것이 좋습니다. 이런 매개변수와 결과에 미치는 영향에 대한 자세한 내용을 Distill에 있는 훌륭한 글15에서 확인할 수 있습니다.

마지막으로 다음 코드를 사용하여 2D t-SNE 임베딩을 시각화해 보겠습니다.

>>> import matplotlib.patheffects as PathEffects
>>> def plot_projection(x, colors):
...     f = plt.figure(figsize=(8, 8))
...     ax = plt.subplot(aspect='equal')
...     for i in range(10):
...         plt.scatter(x[colors==i, 0],
...                     x[colors==i, 1])
...     for i in range(10):
...         xtext, ytext = np.median(x[colors==i, :], axis=0)
...         txt = ax.text(xtext, ytext, str(i), fontsize=24)
...         txt.set_path_effects([
...             PathEffects.Stroke(linewidth=5, foreground="w"),
...             PathEffects.Normal()])
>>> plot_projection(X_digits_tsne, y_digits)
>>> plt.show()
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.