Візуалізація високовимірних даних за допомогою t-SNE

Зменшення розмірності в Python

Jeroen Boeye

Head of Machine Learning, Faktion

t-SNE на наборі даних IRIS

кластери iris

Зменшення розмірності в Python

t-SNE на наборі даних IRIS

кластери iris 1 з примітками

Зменшення розмірності в Python

t-SNE на наборі даних IRIS

кластери iris 3 з примітками

Зменшення розмірності в Python

t-SNE на жіночому наборі даних ANSUR

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)
Зменшення розмірності в Python

Навчання 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)
Зменшення розмірності в Python

Додавання ознак t-SNE до нашого набору даних

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]
Зменшення розмірності в Python

Побудова графіка t-SNE

import seaborn as sns

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

plt.show()
Зменшення розмірності в Python

Побудова графіка t-SNE

хмара точок ANSUR

Зменшення розмірності в Python

Розфарбування точок за категорією BMI

import seaborn as sns
import matplotlib.pyplot as plt

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

plt.show()
Зменшення розмірності в Python

Розфарбування точок за категорією BMI

хмара точок ANSUR за BMI

Зменшення розмірності в Python

Розфарбування точок за категорією BMI

хмара точок ANSUR за BMI з позначками

Зменшення розмірності в Python

Розфарбування точок за категорією зросту

import seaborn as sns

import matplotlib.pyplot as plt

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

plt.show()
Зменшення розмірності в Python

Розфарбування точок за категорією зросту

хмара точок ANSUR за зростом

Зменшення розмірності в Python

Розфарбування точок за категорією зросту

хмара точок ANSUR з подвійними позначками

Зменшення розмірності в Python

Давайте потренуємось!

Зменшення розмірності в Python

Preparing Video For Download...