# -*- coding: utf-8 -*-
'''
Created on 2018年1月25日
@author: Jason.F
@summary: 无监督聚类学习-基于密度 空间的聚类算法(Density-based Spatial Clustering of Application with Noise,DBSCAN)
密度:半径范围内样本点的数量
核心点:如果在一个点周边的指定半径内,其他样本点的数量不小于指定数量(MinPts),则该样本点为核心点
边界点:在指定半径内,如果一个点的邻居点少于MinPts个,但却包含一个核心点,则为边界点
噪声点:除核心点和边界点外的样本点都是噪声点
DBSCAN的簇空间不一定是球状的,可识别和移除噪声点,因此不一定会将所有的样本点都划分到某一簇中
如果数据集中的密度差异相对较大,则找到半径和MinPts较为困难。
'''
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_moons
from sklearn.cluster import KMeans,AgglomerativeClustering,DBSCAN
X,y = make_moons(n_samples=200,noise=0.05,random_state=0)#创建半月形数据
plt.scatter(X[:,0],X[:,1])
plt.show()
f,(ax1,ax2) = plt.subplots(1,2,figsize=(8,3))
#原型聚类KMeans模型
km=KMeans(n_clusters=2,random_state=0)
y_km = km.fit_predict(X)
ax1.scatter(X[
【Python-ML】SKlearn库密度聚类DBSCAN模型
最新推荐文章于 2022-10-01 12:21:51 发布