sklearn聚类

数据的读写:

numpy读写数据:

df=numpy.loadtxt("data.txt")

pandas读写:

df=pandas.read_csv("data.csv",encoding="utf-8")
df.pandas.to_csv("data.csv", index=False, encoding="utf-8")

#pandas读写文本文件
df=pandas.read_table("data.txt",delim_whitespace=True,encoding="utf-8")

2、聚类

1、使用sklearn做聚类很简单,下面我们使用k-means算法对二维数据进行聚类

from sklearn.cluster import KMeans
from sklearn.externals import joblib
x=numpy.array(data) #data是一个二维list,也可以这样得到:x=numpy.loadtxt("data.txt")
k=2
model=KMeans(n_clusters=k)
model.fit(x)
labels=model.labels_

2、对上面得到的聚类结果使用matplotlib库可视化

A=numpy.array(filter(lambda x:x[2]==0, zip(x[:,0], x[:,1], labels))
A=numpy.array(map(lambda x:x[0:2], A)
B=numpy.array(filter(lambda x:x[2]==1, zip(x[:,0], x[:,1], labels))
B=numpy.array(map(lambda x:x[0:2], B)

plt.scatter(A[:,0],A[:,1], color="b")
plt.scatter(B[:,0],B[:,1], color="r")
plt.show()

推荐阅读更多精彩内容