日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

python實(shí)現(xiàn)dbscan算法

瀏覽:11日期:2022-06-18 18:16:17

DBSCAN 算法是一種基于密度的空間聚類算法。該算法利用基于密度的聚類的概念,即要求聚類空間中的一定區(qū)域內(nèi)所包含對象(點(diǎn)或其它空間對象)的數(shù)目不小于某一給定閥值。DBSCAN 算法的顯著優(yōu)點(diǎn)是聚類速度快且能夠有效處理噪聲點(diǎn)和發(fā)現(xiàn)任意形狀的空間聚類。但是由于它直接對整個數(shù)據(jù)庫進(jìn)行操作且進(jìn)行聚類時使用了一個全局性的表征密度的參數(shù),因此也具有兩個比較明顯的弱點(diǎn):

1. 當(dāng)數(shù)據(jù)量增大時,要求較大的內(nèi)存支持 I/0 消耗也很大;

2. 當(dāng)空間聚類的密度不均勻、聚類間距離相差很大時,聚類質(zhì)量較差。

DBSCAN算法的聚類過程

DBSCAN算法基于一個事實(shí):一個聚類可以由其中的任何核心對象唯一確定。等價可以表述為: 任一滿足核心對象條件的數(shù)據(jù)對象p,數(shù)據(jù)庫D中所有從p密度可達(dá)的數(shù)據(jù)對象所組成的集合構(gòu)成了一個完整的聚類C,且p屬于C。

先上結(jié)果

python實(shí)現(xiàn)dbscan算法

大致流程

先根據(jù)給定的半徑 r 確定中心點(diǎn),也就是這類點(diǎn)在半徑r內(nèi)包含的點(diǎn)數(shù)量 n 大于我們的要求(n>=minPionts)然后遍歷所有的中心點(diǎn),將互相可通達(dá)的中心點(diǎn)與其包括的點(diǎn)分為一組全部分完組之后,沒有被納入任何一組的點(diǎn)就是離群點(diǎn)啦!

導(dǎo)入相關(guān)依賴

import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasets求點(diǎn)跟點(diǎn)之間距離(歐氏距離)

def cuircl(pointA,pointB): distance = np.sqrt(np.sum(np.power(pointA - pointB,2))) return distance求臨時簇,即確定所有的中心點(diǎn),非中心點(diǎn)

def firstCluster(dataSets,r,include): cluster = [] m = np.shape(dataSets)[0] ungrouped = np.array([i for i in range (m)]) for i in range (m):tempCluster = []#第一位存儲中心點(diǎn)簇tempCluster.append(i)for j in range (m): if (cuircl(dataSets[i,:],dataSets[j,:]) < r and i != j ):tempCluster.append(j)tempCluster = np.mat(np.array(tempCluster))if (np.size(tempCluster)) >= include: cluster.append(np.array(tempCluster).flatten()) #返回的是List center=[] n = np.shape(cluster)[0] for k in range (n):center.append(cluster[k][0]) #其他的就是非中心點(diǎn)啦 ungrouped = np.delete(ungrouped,center) #ungrouped為非中心點(diǎn) return cluster,center,ungrouped

將所有中心點(diǎn)遍歷并進(jìn)行聚集

def clusterGrouped(tempcluster,centers): m = np.shape(tempcluster)[0] group = [] #對應(yīng)點(diǎn)是否遍歷過 position = np.ones(m) unvisited = [] #未遍歷點(diǎn) unvisited.extend(centers) #所有點(diǎn)均遍歷完畢 for i in range (len(position)):coreNeihbor = []result = []#刪除第一個#刨去自己的鄰居結(jié)點(diǎn),這一段就類似于深度遍歷if position[i]:#將鄰結(jié)點(diǎn)填入 coreNeihbor.extend(list(tempcluster[i][:])) position[i] = 0 temp = coreNeihbor#按照深度遍歷遍歷完所有可達(dá)點(diǎn)#遍歷完所有的鄰居結(jié)點(diǎn) while len(coreNeihbor) > 0 :#選擇當(dāng)前點(diǎn)present = coreNeihbor[0]for j in range(len(position)): #如果沒有訪問過 if position[j] == 1:same = []#求所有的可達(dá)點(diǎn)if (present in tempcluster[j]): cluster = tempcluster[j].tolist() diff = [] for x in cluster:if x not in temp: #確保沒有重復(fù)點(diǎn) diff.append(x) temp.extend(diff) position[j] = 0# 刪掉當(dāng)前點(diǎn)del coreNeihbor[0]result.extend(temp) group.append(list(set(result)))i +=1 return group

核心算法完畢!

生成同心圓類型的隨機(jī)數(shù)據(jù)進(jìn)行測試

#生成非凸數(shù)據(jù) factor表示內(nèi)外圈距離比X,Y1 = datasets.make_circles(n_samples = 1500, factor = .4, noise = .07)#參數(shù)選擇,0.1為圓半徑,6為判定中心點(diǎn)所要求的點(diǎn)個數(shù),生成分類結(jié)果tempcluster,center,ungrouped = firstCluster(X,0.1,6)group = clusterGrouped(tempcluster,center)#以下是分類后對數(shù)據(jù)進(jìn)行進(jìn)一步處理num = len(group)voice = list(ungrouped)Y = []for i in range (num): Y.append(X[group[i]])flat = []for i in range(num): flat.extend(group[i])diff = [x for x in voice if x not in flat]Y.append(X[diff])Y = np.mat(np.array(Y))

繪圖~

color = [’red’,’blue’,’green’,’black’,’pink’,’orange’]for i in range(num): plt.scatter(Y[0,i][:,0],Y[0,i][:,1],c=color[i])plt.scatter(Y[0,-1][:,0],Y[0,-1][:,1],c = ’purple’)plt.show()

結(jié)果

紫色點(diǎn)就是離散點(diǎn)

python實(shí)現(xiàn)dbscan算法

到此這篇關(guān)于python實(shí)現(xiàn)dbscan算法的文章就介紹到這了,更多相關(guān)python dbscan算法內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美国产免费| 综合国产视频| 日韩1区2区日韩1区2区| 亚洲综合中文| 婷婷视频一区二区三区| 91看片一区| 成人在线超碰| 亚洲精品午夜av福利久久蜜桃| 六月婷婷一区| 国产精品网站在线看| 亚洲精品永久免费视频| 久久亚洲欧美| 麻豆传媒一区二区三区| 成人免费网站www网站高清| 日韩在线卡一卡二| 久久男人av| 极品裸体白嫩激情啪啪国产精品| 蜜臀精品久久久久久蜜臀| 久久99久久久精品欧美| 99久精品视频在线观看视频| 亚洲ab电影| 蜜臀久久精品| 日韩精品视频网站| 高潮一区二区| 亚洲影视一区| 日韩精品不卡一区二区| 亚洲精品一级| 亚洲综合电影| 日韩精品五月天| 亚洲二区精品| 国产精品观看| 精品在线99| 国产精品www.| 国产精品普通话对白| 精品一区二区三区的国产在线观看| 91久久在线| 激情亚洲影院在线观看| 久久免费大视频| 中文字幕日本一区二区| 久久av偷拍| 精品一区三区| 国产剧情一区二区在线观看| 日本精品影院| 日本 国产 欧美色综合| 国产精品对白| 久久中文亚洲字幕| 免费人成黄页网站在线一区二区| 日韩av一区二区在线影视| 久久精品国产大片免费观看| 免费日韩一区二区三区| 亚洲精品高潮| 久久久久国产| 久久精品国产久精国产爱| 蜜桃一区二区三区在线观看| 日韩高清欧美| 国产精品巨作av| 伊人www22综合色| 国产91精品对白在线播放| 精品一区不卡| 91精品在线免费视频| 亚洲免费影视| 欧美日韩精品免费观看视欧美高清免费大片 | 老色鬼精品视频在线观看播放| 欧美日韩国产在线一区| 丰满少妇一区| 国产免费av国片精品草莓男男| 视频一区视频二区中文字幕| 99热精品久久| 美女av在线免费看| 麻豆一区二区三| 亚洲人成精品久久久| 一级欧洲+日本+国产| 日韩在线免费| 欧美丰满日韩| 精品日韩一区| 国产高清亚洲| 国产欧美日韩影院| 日韩av一区二| 亚洲综合色婷婷在线观看| 女人天堂亚洲aⅴ在线观看| 青青久久av| av在线日韩| 日韩免费高清| 日韩精品1区| 日韩av免费| 99精品在线| 久久国产小视频| 一区二区三区视频免费观看| 国产综合婷婷| 久久在线电影| 女人天堂亚洲aⅴ在线观看| 激情综合网站| 欧美日韩中文字幕一区二区三区| 日本免费久久| 成人久久一区| 欧美日韩国产高清电影| 久久精品高清| 国产日韩综合| 日韩精品一卡二卡三卡四卡无卡| 男女性色大片免费观看一区二区 | 91久久亚洲| 亚洲一区激情| 一区二区三区四区在线观看国产日韩| 久热综合在线亚洲精品| 亚洲影院天堂中文av色| 午夜亚洲福利| 国产日韩视频| 欧美激情麻豆| 国产精品久久观看| 99国产精品免费视频观看| 免费观看久久av| 丝袜亚洲精品中文字幕一区| 免费中文字幕日韩欧美| 在线精品一区二区| 日产欧产美韩系列久久99| 欧美片第1页综合| 欧美精品1区| 深夜福利视频一区二区| 婷婷成人在线| 国产精品视区| 奇米777国产一区国产二区| 久久激五月天综合精品| 久久久久久久久成人| 日韩欧美三级| 91九色精品| 亚洲精品动态| 久久亚洲精精品中文字幕| 久久久国产精品网站| 日韩中文在线电影| 红桃视频欧美| 日本成人在线视频网站| 久久精品国产99国产| 日韩精品看片| 玖玖玖国产精品| 国产精品国产三级在线观看| 青青久久av| 日本伊人久久| 成年男女免费视频网站不卡| 91久久中文| 国产欧美日韩视频在线| 日韩精品中文字幕第1页| 丝袜美腿一区二区三区| 欧美日韩18| 桃色一区二区| 蜜臀91精品一区二区三区| 久久精品免视看国产成人| 亚洲不卡av不卡一区二区| 中文字幕av一区二区三区人| 韩日一区二区| 美女精品在线观看| 国产精品一页| 国产91精品对白在线播放| 日韩精品一区二区三区免费视频 | 亚洲一级高清| 日韩午夜视频在线| 欧美一级鲁丝片| 日韩一区二区三区在线看| 福利片在线一区二区| 午夜亚洲福利在线老司机| 欧美激情福利| 巨乳诱惑日韩免费av| 福利片在线一区二区| 男女激情视频一区| 日韩av在线播放网址| 自拍自偷一区二区三区| 中国字幕a在线看韩国电影| 亚洲精品少妇| 亚洲第一区色| 免费精品一区| 免费看黄色91| 欧美日韩视频网站| 欧美午夜三级| 999在线观看精品免费不卡网站| 欧美国产免费| 亚洲日本国产| 国产99精品| 精品欧美视频| 亚洲aⅴ网站| 五月天久久网站| 国产精品成久久久久| 日韩在线观看一区二区三区| 午夜影院欧美| 麻豆理论在线观看| 国产毛片久久久| 国产精品视区| 神马午夜久久| 福利片在线一区二区| 欧美日韩一区二区三区不卡视频 | 香蕉久久夜色精品国产| av资源中文在线| 国产一区 二区| 亚洲免费播放| 欧美精品日日操| 久久只有精品| 日韩不卡在线观看日韩不卡视频| 国产精品99免费看| 成人污污视频| 国产日韩欧美高清免费| 日韩一区欧美二区| 亚洲激情中文在线|