1 sklearn层次聚类
01 ward
最小化所有聚类内的平方差总和,这是一种方差最小化的优化方向,这是与k-means的目标韩式相似的优化方法,但是用聚类分层的方法处理。
02 Maximum 或者complete linkage 最小化聚类对样本之间的最大距离
03 Average linkage 最小化聚类两个聚类中样本之间的最大距离
2 案例
import pandas as pd
data=pd.read_csv('D:\\DATA\\pycase\\7.1\\data.csv',
index_col='客户编号')
# 提取关键特征 data.columns
fColumns=[ '工作日上班时电话时长', '工作日下半时电话时长', '周末电话时长', '国际电话时长']
# 数据标准化0-1标准化
data=data[fColumns]
data[fColumns]=round(
(data[fColumns]-data[fColumns].min())/(data[fColumns].max()-data[fColumns].min()),
3)
# 导入层次聚类函数
from scipy.cluster.hierarchy import linkage,dendrogram
Z=linkage(data[fColumns],method='ward',metric='euclidean') #p谱系聚类图
P=dendrogram(Z,0) # 画谱系聚类图
''' 只展示12个数据
P1=dendrogram(Z,
truncate_mode