下面是使用PCA和t-SNE以及Matplotlib绘制数据图的示例代码:
使用PCA绘制数据图:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
# 创建示例数据
np.random.seed(0)
n_samples = 1000
n_features = 10
X = np.random.randn(n_samples, n_features)
# 使用PCA进行降维
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)
# 绘制数据图
plt.scatter(X_pca[:, 0], X_pca[:, 1])
plt.xlabel('PC1')
plt.ylabel('PC2')
plt.title('PCA')
plt.show()
使用t-SNE绘制数据图:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.manifold import TSNE
# 创建示例数据
np.random.seed(0)
n_samples = 1000
n_features = 10
X = np.random.randn(n_samples, n_features)
# 使用t-SNE进行降维
tsne = TSNE(n_components=2)
X_tsne = tsne.fit_transform(X)
# 绘制数据图
plt.scatter(X_tsne[:, 0], X_tsne[:, 1])
plt.xlabel('Dimension 1')
plt.ylabel('Dimension 2')
plt.title('t-SNE')
plt.show()
在这两个示例中,我们首先生成了一个随机数据矩阵X。然后,使用PCA或t-SNE对数据进行降维,将其转换为2维。最后,使用Matplotlib绘制散点图,展示降维后的数据在二维空间中的分布。