1. 用TSNE 降维
import numpy as np
import matplotlib.pyplot as plt
from sklearn import manifold
import pickle
import time
import pandas as pd
def visual(X):
tsne = manifold.TSNE(n_components=2,init='pca', random_state=501)
X_tsne = tsne.fit_transform(X)
print("Org data dimension is {}. Embedded data dimension is {}".format(X.shape[-1], X_tsne.shape[-1]))
#'''嵌入空间可视化'''
x_min, x_max = X_tsne.min(0), X_tsne.max(0)
X_norm = (X_tsne - x_min) / (x_max - x_min)
return X_norm
-
n_components=2 控制降维后的维度
-
init=‘pca’ 用PCA 方法降维
-
random_state=501 代表随机种子
-
输入:需要降维的矩阵 X shape=(m,n) m:代表样本数量,n:代表样本长度
-
返回:降维后的矩阵X_norm shape=(m,2)
2.画图
import numpy as np
import matplotlib.pyplot as plt
from sklearn import manifold
import pandas as pd
S_X1=np.random.random((200,200))#原始特征
class_num=10