我使用 CNN 从 2 个类别(猫和狗)的 10 张图像中获得了特征。所以我有一个 (10, 2500) numpy 数组。我在数组上应用了 OPTICS 聚类算法来查找哪个图像属于哪个聚类
clustering = OPTICS(min_samples=2).fit(train_data_array)
现在我正在尝试使用seaborn
sns.scatterplot(data=train_data_array).plot
但是没有剧情。
我使用 CNN 从 2 个类别(猫和狗)的 10 张图像中获得了特征。所以我有一个 (10, 2500) numpy 数组。我在数组上应用了 OPTICS 聚类算法来查找哪个图像属于哪个聚类
clustering = OPTICS(min_samples=2).fit(train_data_array)
现在我正在尝试使用seaborn
sns.scatterplot(data=train_data_array).plot
但是没有剧情。
有两个问题。
下面是一个使用 iris 数据集的例子:
from sklearn.cluster import OPTICS
import seaborn as sns
import pandas as pd
df = sns.load_dataset("iris").iloc[:,:4]
像你一样执行聚类:
clustering = OPTICS(min_samples=20).fit(df)
使用 4 个变量对此数据执行 PCA,返回前 2 个组件:
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
pca.fit(df)
将 PC 分数和聚类结果添加到训练数据中,或者您可以制作单独的 data.frame:
df['PC1'] = pca.fit_transform(df)[:,0]
df['PC2'] = pca.fit_transform(df)[:,1]
df['clustering'] = clustering.labels_
阴谋:
sns.scatterplot(data=df,x="PC1",y="PC2",hue=df['clustering'])