Visualização t-SNE de dados de alta dimensão

Redução de Dimensionalidade em Python

Jeroen Boeye

Head of Machine Learning, Faktion

t-SNE no conjunto IRIS

grupos de iris

Redução de Dimensionalidade em Python

t-SNE no conjunto IRIS

grupos de iris 1 anotados

Redução de Dimensionalidade em Python

t-SNE no conjunto IRIS

grupos de iris 3 anotados

Redução de Dimensionalidade em Python

t-SNE no conjunto ANSUR feminino

df.shape
(1986, 99)
non_numeric = ['BMI_class', 'Height_class', 
               'Gender',  'Component', 'Branch']

df_numeric = df.drop(non_numeric, axis=1)

df_numeric.shape
(1986, 94)
Redução de Dimensionalidade em Python

Ajustando o t-SNE

from sklearn.manifold import TSNE

m = TSNE(learning_rate=50)
tsne_features = m.fit_transform(df_numeric)

tsne_features[1:4,:]
array([[-37.962185,  15.066088],
       [-21.873512,  26.334448],
       [ 13.97476 ,  22.590828]], dtype=float32)
Redução de Dimensionalidade em Python

Atribuindo features do t-SNE ao conjunto de dados

tsne_features[1:4,:]
array([[-37.962185,  15.066088],
       [-21.873512,  26.334448],
       [ 13.97476 ,  22.590828]], dtype=float32)
df['x'] = tsne_features[:,0]

df['y'] = tsne_features[:,1]
Redução de Dimensionalidade em Python

Plotando o t-SNE

import seaborn as sns

sns.scatterplot(x="x", y="y", data=df)

plt.show()
Redução de Dimensionalidade em Python

Plotando o t-SNE

nuvem de pontos ANSUR

Redução de Dimensionalidade em Python

Colorindo pontos por categoria de IMC

import seaborn as sns
import matplotlib.pyplot as plt

sns.scatterplot(x="x", y="y", hue='BMI_class', data=df)

plt.show()
Redução de Dimensionalidade em Python

Colorindo pontos por categoria de IMC

nuvem de pontos ANSUR IMC

Redução de Dimensionalidade em Python

Colorindo pontos por categoria de IMC

nuvem de pontos ANSUR IMC anotada

Redução de Dimensionalidade em Python

Colorindo pontos por categoria de altura

import seaborn as sns

import matplotlib.pyplot as plt

sns.scatterplot(x="x", y="y", hue='Height_class', data=df)

plt.show()
Redução de Dimensionalidade em Python

Colorindo pontos por categoria de altura

nuvem de pontos ANSUR altura

Redução de Dimensionalidade em Python

Colorindo pontos por categoria de altura

nuvem de pontos ANSUR dupla anotação

Redução de Dimensionalidade em Python

Vamos praticar!

Redução de Dimensionalidade em Python

Preparing Video For Download...