matplotlib sklearn数据降维可视化
使用说明具体见官方的文档
https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html
这里挑选了一个简单的例子来重构成了一个方便调用的接口
%matplotlib inline
# Author: Jake Vanderplas -- <[email protected]>
print(__doc__)
from time import time
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.ticker import NullFormatter
from sklearn import manifold, datasets
# Next line to silence pyflakes. This import is needed.
Axes3D
def Comparison_of_Manifold_Learning_methods(X, color, n_neighbors=10):
"""
改写了官网的案例,接受高维数据X和其对应的color来进行流形降维
https://scikit-learn.org/stable/auto_examples/manifold/plot_compare_methods.html#sphx-glr-auto-examples-manifold-plot-compare-methods-py
n_components : int, optional (must be: 2)
Dimension of the embedded space.
"""
n_points = len(X)
n_neighbors = 10
n_components = 2
fig = plt.figure(figsize=(15, 8))
plt.suptitle("Manifold Learning with %i points, %i neighbors"
% (n_points, n_neighbors), fontsize=14)
if X[0].size == 3:
ax = fig.add_subplot(251, projection='3d')
ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=