首页 > 技术文章 > 利用sklearn实现k-means

dong973711 2020-11-11 19:25 原文

 基于上面的一篇博客k-means利用sklearn实现k-means

#!/usr/bin/env python
# coding: utf-8

# In[1]:


import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans


# In[4]:


# 加载数据
dataset = []
for line in open("data_kmeans.csv"):
    x, y = line.split(",")
    dataset.append([int(x), int(y)])
print(dataset)


# In[13]:


k=3
# 训练模型
model = KMeans(n_clusters=k)
model.fit(dataset)
# 分类中心点坐标
centers = model.cluster_centers_
print(center)


# In[15]:


# 预测结果
result = model.predict(dataset)
print(result)


# In[42]:



# 用不同的颜色绘制数据点
mark = ['or', 'og', 'ob']
for i,d in enumerate(dataset):
    plt.plot(d[0], d[1], mark[result[i]])
# 画出各分类点的中心点
mark = ['*b', '*r', '*g'] # 为了凸显质心,把每个簇的质心颜色换成其他的
for i, center in enumerate(centers):
    plt.plot(center[0], center[1], mark[i], markersize=20)


# In[ ]:

 

推荐阅读