凝聚层次聚类

import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import matplotlib
from sklearn import datasets
import scipy.cluster.hierarchy as sch
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
data=pd.read_csv('023-Mall_Customers.csv')
X = data.iloc[:,[3,4]].values
# print(X)
dendrogram = sch.dendrogram(sch.linkage(y=X,method='ward')) # ward:两个簇类的平方差的总和

 

 

# 构建凝聚层次聚类模型

 

 

from sklearn.cluster import AgglomerativeClustering
agg = AgglomerativeClustering(n_clusters=5,affinity='euclidean',linkage='ward')
agg.fit(X)
labels = agg.labels_ # 打印标签
print(agg.n_leaves_) # 获取叶子数
# 数据可视化
for i in labels:
plt.scatter(X[labels == i,0],X[labels == i,1],marker='o')

 

 

 

# 评估
from sklearn.metrics import silhouette_score

si_score = silhouette_score(X,agg.labels_,metric='euclidean',sample_size=len(X))
print('si_score:{:.4f}'.format(si_score))

 

转载于:https://www.cnblogs.com/txb1999/p/10738456.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值