K均值聚类python代码

 数据介绍:

有三列,一列是name,即样本的名字,另外两列是数值数据,对name进行聚类,再根据聚类的标签(从0开始),然后建立交叉表。

代码:

from sklearn.cluster import KMeans #k均值聚类
import pandas as pd
df = pd.read_csv('XXXX.csv')
#print(df.head)
#print(df.columns)
df(df.isnull()) #检查是否有控制
numeric_column = ['numeric_1', 'numeric_2'] #列出数值列的列名
data = df[numeric_column] #提取数值列
model = KMeans(n_clusters=4)#创建4个聚类
pipeline = make_pipeline(imputer, model)#创建管道流程
model.fit(df)# 拟合
labels = model.predict(df)
df2 = pd.DataFrame({'labels': labels, 'name': df['name']})
print(df2.sort_values('labels')) #根据标签降序排序
ct = pd.crosstab(df2['labels'], df2['name'])  #建立交叉表
print(ct)

 

你可能感兴趣的:(数据分析,python)