首页 > 数据库技术 > 详细

sklearn聚类模型:基于密度的DBSCAN;基于混合高斯模型的GMM

时间:2019-03-13 15:24:33      阅读:669      评论:0      收藏:0      [点我收藏+]

 

sklearn聚类方法详解

对比不同聚类算法在不同数据集上的表现

 技术分享图片

 

用scikit-learn学习K-Means聚类

技术分享图片

 

用scikit-learn学习DBSCAN聚类 (基于密度的聚类)

DBSCAN密度聚类算法

技术分享图片技术分享图片


混合高斯模型Gaussian Mixture Model(GMM)

技术分享图片技术分享图片

 

 
#===============================================

从左到右依次为: k-means聚类,  DBSCAN聚类 , GMM聚类 

技术分享图片技术分享图片技术分享图片

 

 对应代码:

# kmeans聚类
from sklearn.cluster import KMeans
estimator = KMeans(n_clusters=2)#构造聚类器
y_pred =estimator.fit_predict(X_train_2)#聚类

clr = [b if i==0 else y if i==1 else r for i in y_pred]
plt.scatter(X_train[:,0],X_train[:,1],c=clr)


# DBSCAN(Density-Based Spatial Clustering of Application with Noise)基于密度的空间聚类算法
from sklearn.cluster import DBSCAN
dbs1 = DBSCAN(eps=0.5, # 邻域半径 
min_samples=5 ) # 最小样本点数,MinPts
y_pred = dbs1.fit_predict(X_train_2) #训练集的标签

clr = [b if i==0 else y if i==1 else r for i in y_pred]
plt.scatter(X_train_2[:,0],X_train_2[:,1],c=clr)


#混合高斯模型Gaussian Mixture Model(GMM)聚类
from sklearn import mixture
clf = mixture.GaussianMixture(n_components=2,covariance_type=full)
clf.fit(X_train_2) #.fit_predict
y_pred = clf.predict(X_train_2)

#预测
clr = [b if i==0 else y if i==1 else r for i in y_pred]
plt.scatter(X_train_2[:,0],X_train_2[:,1],c=clr)

 

sklearn聚类模型:基于密度的DBSCAN;基于混合高斯模型的GMM

原文:https://www.cnblogs.com/andylhc/p/10523213.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!