目标效果:
代码:
import numpy as np
from sklearn.manifold import TSNE
from time import time
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sklearn import manifold, datasets
"""获取数据点"""
n_points = 1000
# high是一个(1000, 3)的2维数据,color是一个(1000,)的1维数据
high, color = datasets.samples_generator.make_s_curve(n_points, random_state=0) #生成一个s曲线,第一个参数为s曲线上的采样点个数,返回一个high矩阵,包含三维坐标信息,和一个color矩阵,包含颜色信息
n_neighbors = 10 #我们搜索的样本的近邻个数
n_components = 2 #要降到的维度
"""设置画布"""
fig = plt.figure(figsize=(8, 8)) #设置8*8的画布
plt.suptitle("Manifold Learning with %i points, %i neighbors"% (1000, n_neighbors), fontsize=14)
'''绘制S曲线的3D图像'