Python

# t-SNE Sklearn

“A statistical technique called t-distributed stochastic neighbor embedding places each data point on a two- or three-dimensional map to visualize high-dimensional data. This operation is performed similarly by principal component analysis (PCA) methods, which are also used to project to lower dimensions from high dimensional. This article will discuss t-SNE, how it differs from PCA, and how it works in sklearn.”

## What is Dimensionality Reduction?

Dimensionality reduction encodes multidimensional (n-dimensions) data with abundant features in 2 or 3 dimensions. Many entity features that need to be categorized are used in machine learning classification problems. Data visualization training would be more complex, and storage requirements would increase as more features were used. These characteristics are frequently connected. As a result, the number of features can be scaled back. The number of features can be lowered if it turns out that the three used features are connected. If only one feature is needed, the data spread across 3D space can be projected into a line to produce 1D data or onto a 2D plane if two features are needed.

## What is t-SNE?

High dimensional data are projected into lower dimensions using the unsupervised machine learning approach known as t-distributed Stochastic Neighbor Embedding (t-SNE), created in 2008 by Laurens van der Maaten and Geoffery Hinton. It is mostly employed for data exploration and high-dimensional data visualization. t-SNE helps you understand the organization of data in a high-dimensional space.

## How Does t-SNE Work?

The probability distribution of neighbors surrounding each point is modeled using the t-SNE algorithm. The group of points that are nearest to each point in this context is referred to as the neighbors. The model for this in the original, high-dimensional space is a Gaussian distribution.

A t-distribution is used to simulate this in the 2-dimensional output space. The aim of this technique is to find a mapping onto the 2-D space that minimizes the disparities between these two distributions’ overall points. The primary factor influencing the fitting is known as confusion. The number of nearest neighbors considered while matching the original and fitted distributions for each point is generally equivalent to the complexity.

How is PCA different from t-SNE

 PCA t-SNE It is a linear technique for dimension reduction. It is a non-linear technique for dimension reduction. It makes an effort to maintain the data’s overall structure. It makes an effort to maintain the data’s local structure No hyperparameters are involved This involves hyperparameters such as perplexity, learning rate, and the number of steps. Does not handle outliers well It can handle outliers.

Implementing t-SNE in sklearn

# importing libraries
import numpy as np
from sklearn.manifold import TSNE

# creating the dataset
X = np.array([[0, 0, 0, 1], [0, 1, 1, 1], [1, 0, 1, 0], [1, 1, 1, 0]])

# projecting the data to lower dimensions
X_projected = TSNE(n_components=2, learning_rate='auto', init='random', perplexity=3).fit_transform(X)

print("New shape of the data is", X_projected.shape)

Output

The new shape of the data is (4, 2)

## Conclusion

We learned about the t-SNE algorithm, which is used to convert high-dimensional data into lower and ultimately visualize it easily. We also saw why we need dimensionality reduction algorithms and how t-SNE is different from its alternative algorithms: PCA. We also implemented t-SNE in sklearn using the “manifold” module and projected 4-dimensional data into 2 dimensions. 