used to generate more than two new features some of themincluding -snecompute new representation of the training databut don' allow transformations of new data this means these algorithms cannot be applied to test setratherthey can only transform the data they were trained for manifold learning can be useful for exploratory data analysisbut is rarely used if the final goal is supervised learning the idea behind -sne is to find two-dimensional representation of the data that preserves the distances between points as best as possible -sne starts with random twodimensional representation for each data pointand then tries to make points that are close in the original feature space closerand points that are far apart in the original feature space farther apart -sne puts more emphasis on points that are close byrather than preserving distances between far-apart points in other wordsit tries to preserve the information indicating which points are neighbors to each other we will apply the -sne manifold learning algorithm on dataset of handwritten digits that is included in scikit-learn each data point in this dataset is an grayscale image of handwritten digit between and figure - shows an example image for each classin[ ]from sklearn datasets import load_digits digits load_digits(figaxes plt subplots( figsize=( )subplot_kw={'xticks':()'yticks'()}for aximg in zip(axes ravel()digits images)ax imshow(img not to be confused with the much larger mnist dataset unsupervised learning and preprocessing