• 智能AI问答!更聪明、更完整、原创作!
  • 一款基于GPT的超级AI机器人,可以回答问题、聊天、创作、写文案!

使用k-means聚类分析,将表中数据聚为2类,通过二轮迭代求质心和类别结果

发布于 2024-06-17 19:07:53

下面是一个使用k-means聚类分析的示例,将数据集聚为2类,通过二轮迭代求质心和类别结果。假设数据集是一个名为"data.csv"的CSV文件,包含两列特征:"Feature1"和"Feature2"。

import pandas as pd
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

# 读取数据
df = pd.read_csv('data.csv')

# 使用k-means聚类,聚类数为2
kmeans = KMeans(n_clusters=2, random_state=0).fit(df)

# 获取质心
centroids = kmeans.cluster_centers_
print("质心:", centroids)

# 获取每个样本的类别
labels = kmeans.labels_
df['Cluster'] = labels

# 可视化
plt.scatter(df['Feature1'], df['Feature2'], c=labels, cmap='viridis')
plt.scatter(centroids[:, 0], centroids[:, 1], c='red', marker='x', s=100)
plt.show()

在这个示例中,首先导入了所需的库(pandas、sklearn和matplotlib),然后读取CSV文件到DataFrame中。接着,使用sklearn的KMeans方法进行聚类分析,设置聚类数为2。在拟合模型后,我们得到了质心和每个样本的类别。最后,将结果可视化,其中不同颜色代表不同的类别,红色的叉号表示质心。

0 条评论

发布
问题

在线
客服