程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了聚类后​​的 TSNE 图大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决聚类后​​的 TSNE 图?

开发过程中遇到聚类后​​的 TSNE 图的问题如何解决?下面主要结合日常开发的经验,给出你关于聚类后​​的 TSNE 图的解决方法建议,希望对你解决聚类后​​的 TSNE 图有所启发或帮助;

对数据应用了 K_Mean 聚类,然后应用了 TSNE 来绘制数据。我有 4 个维度和 4 个组。问题是我的 K_mean 是正确的,但为什么在 tsne 中,同一组不在一起?

聚类后​​的 TSNE 图

the code : 

XX = df [["agent_os_new","agent_category_new","referer_new","agent_name_new"]]

y = df['referer_new']
y
cols = XX.columns

from sklearn.preprocessing import MinMaxScaler

ms = MinMaxScaler()

X = ms.fit_transform(XX)

X = pd.DataFrame(X,columns=[cols])
X[:4]


from sklearn.cluster import KMeans

kmeans = KMeans(n_clusters=4,random_state=0) 

ymeans = kmeans.fit(X)

ymeans


labels = kmeans.labels_

df_new = XX.assign(Cluster =labels)
df_new



from sklearn.manifold import TSNE
import seaborn as sns

X_embedded = TSNE(n_components=2).fit_transform(df_new)

df_subset = pd.DataFrame()
df_subset['tsne1'] = X_embedded[:,0]
df_subset['tsne2'] = X_embedded[:,1]

plt.figure(figsize=(16,10))
sns.scatterplot(
    x="tsne1",y="tsne2",hue=df.label,palette="Set1",data=df_subset,style=df_new["Cluster"],legend="full",s=120
)

我想要的:

聚类后​​的 TSNE 图

解决方法

from sklearn.manifold import TSNE
import seaborn as sns

X_embedded = TSNE(n_components=2,random_state=42).fit_transform(X)
centers = np.array(kmeans.cluster_centers_)
model = KMeans(n_clusters = 4,init = "k-means++")
label = model.fit_preDict(X_embedded)


plt.figure(figsize=(10,10))
uniq = np.unique(label)
for i in uniq:
   plt.scatter(data[label == i,0],data[label == i,1],label = i)
plt.scatter(centers[:,centers[:,marker="x",color='k')
#This is done to find the centroid for each clusters.
plt.legend()
plt.show()

大佬总结

以上是大佬教程为你收集整理的聚类后​​的 TSNE 图全部内容,希望文章能够帮你解决聚类后​​的 TSNE 图所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: