1、基于python实现K-Means
迭代停止的条件:
a、簇中a心相较b上一次迭代未改变 ≈ 所有样本点较上一次迭代未改变划分类别
b、达到人为设置的最大迭代次数
2、 基于sklearn实现K-Means
语法:from sklearn.cluster imports KMeans
model = KMeans(n_clusters=k)
model.fit(data)
y_pred = model.predict(data)
属性:
cluster_centers_:簇中心【数组】
centroids = model.cluster_centers_
3、调用skleanr中的K-Means算法聚类得到结果;
4、使用评价指标“SC系数(Silhouette Cofficient)”评价模型;
5、绘制出最终聚类结果的簇
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
from sklearn.metrics import calinski_harabasz_score
def load_data(file_path):
data = pd.read_table(file_path, sep='\t', header=None)
return data
def