gpt4 book ai didi

python - 如何绘制 K 均值并打印集群外的点

转载 作者:行者123 更新时间:2023-12-03 23:46:53 25 4
gpt4 key购买 nike

如何绘制以下数据的 K 均值

no,store_id,revenue,profit,state,country
0,101,779183,281257,WD,India
1,101,144829,838451,WD,India
2,101,766465,757565,AL,Japan

我的代码在下面
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
df1 = pd.get_dummies(df, columns=['state','country'])
clusters = 2
km = KMeans(n_clusters=8).fit(df1)
labels = km.predict(df1)
df1['cluster_id'] = km.labels_
def distance_to_centroid(row, centroid):
row = row[['no','store_id','revenue','profit','state','country']]
return euclidean(row, centroid)
df1['distance_to_center0'] = df1.apply(lambda r: distance_to_centroid(r,
km.cluster_centers_[0]),1)

df1['distance_to_center1'] = df1.apply(lambda r: distance_to_centroid(r,
km.cluster_centers_[1]),1)



dummies_df =dummies[['distance_to_center0','distance_to_center1','cluster_id']]
test = {0:"Blue", 1:"Red", 2:"Green",3:"Black",4:"Orange",5:"Yellow",6:"Violet",7:"Grey"}
sns.scatterplot(x="distance_to_center0", y="distance_to_center1", data=dummies_df, hue="cluster_id", palette = test)

找到下面的中心点是代码
km = KMeans(n_clusters=7).fit(dummies)
closest, _ = pairwise_distances_argmin_min(km.cluster_centers_, dummies)
closest
  • 如何为集群散点图
  • 如何让打印点远离集群

  • 像至少异常值方法 -1 是异常值(scikit 学习)。 kmeans.labes_只打印 1 和 0 ,如何获得异常值

    最佳答案

    由于您基于 3 个以上的特征(WD、AL、印度、日本等)进行聚类,因此您需要使用以下任一方法来可视化图形。

  • 使用降维方法,如 PCA、TSNE 或 Auto-Encoders 成 2 个变量(用于 2D 图形)或 3 个变量(3D 图形)
  • 一次取 2 或 3 个特征来绘制保持其余不变的图。
  • 关于python - 如何绘制 K 均值并打印集群外的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62187930/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com