栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【数据分析入门】python数据分析-分析建模机器学习非监督学习中的聚类

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【数据分析入门】python数据分析-分析建模机器学习非监督学习中的聚类

文章目录
  • 聚类
    • Kmeans
    • DBSCAN
    • 层次聚类
    • 图分裂
  • 代码

聚类

Kmeans





DBSCAN



层次聚类




图分裂

代码
import numpy
import matplotlib.pyplot as plt
n_samples=1000
from sklearn.datasets import make_circles,make_blobs,make_moons
from sklearn.cluster import KMeans,DBSCAN,AgglomerativeClustering
circles=make_circles(n_samples=n_samples,factor=0.5,noise=0.05)
moons=make_moons(n_samples=n_samples,noise=0.05)
blobs=make_blobs(n_samples=n_samples,random_state=8,center_box=(-1,1),cluster_std=0.1)
random_data=np.random.rand(n_samples,2),None
colors="bgrcmyk"
data=[circles,moons,blobs,random_data]
models=[('None',None),('KMeans',KMeans(n_clusters=3)),('DBSCAN',DBSCAN(min_samples=3,eps=0.2)),
        ('AgglomerativeClustering',AgglomerativeClustering(n_clusters=3,linkage='ward'))]
f=plt.figure()
for inx,clt in enumerate(models):
    print(clt)
    clt_name,clt_entity=clt
    for i,dataset in enumerate(data):
        X,Y=dataset
        if not clt_entity:
            clt_res=[0 for item in range(len(X))]
        else:
            clt_entity.fit(X)
            clt_res=clt_entity.labels_.astype(np.int)
        f.add_subplot(len(models),len(data),inx*len(data)+i+1)
        plt.title(clt_name)
        [plt.scatter(X[p,0],X[p,1],c=colors[clt_res[p]]) for p in range(len(X))]
plt.show()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009787.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号