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

您的位置:首頁技術文章
文章詳情頁

python實現dbscan算法

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

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

1. 當數據量增大時,要求較大的內存支持 I/0 消耗也很大;

2. 當空間聚類的密度不均勻、聚類間距離相差很大時,聚類質量較差。

DBSCAN算法的聚類過程

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

先上結果

python實現dbscan算法

大致流程

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

導入相關依賴

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

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

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 = []#第一位存儲中心點簇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]) #其他的就是非中心點啦 ungrouped = np.delete(ungrouped,center) #ungrouped為非中心點 return cluster,center,ungrouped

將所有中心點遍歷并進行聚集

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

核心算法完畢!

生成同心圓類型的隨機數據進行測試

#生成非凸數據 factor表示內外圈距離比X,Y1 = datasets.make_circles(n_samples = 1500, factor = .4, noise = .07)#參數選擇,0.1為圓半徑,6為判定中心點所要求的點個數,生成分類結果tempcluster,center,ungrouped = firstCluster(X,0.1,6)group = clusterGrouped(tempcluster,center)#以下是分類后對數據進行進一步處理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()

結果

紫色點就是離散點

python實現dbscan算法

到此這篇關于python實現dbscan算法的文章就介紹到這了,更多相關python dbscan算法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产欧美日韩精品高清二区综合区| 国产精品地址| 免费观看在线综合色| 亚洲激情偷拍| 丝袜亚洲精品中文字幕一区| 在线日韩成人| 亚洲四虎影院| 国产麻豆精品久久| 91视频精品| 亚洲作爱视频| 国产精品成人自拍| 在线日韩av| 国产美女久久| 国产在线观看www| 三级精品视频| 亚洲综合精品| 欧美日韩精品一区二区三区视频| 欧美成人精品午夜一区二区| 国产网站在线| 99国产精品99久久久久久粉嫩| 在线看片日韩| 欧美国产极品| 日韩在线短视频| 亚洲一区二区三区四区五区午夜 | 精品三级久久久| 亚洲欧美日韩专区| 中文无码日韩欧| 国产传媒在线观看| 日本一区二区三区中文字幕| 天堂av在线| 欧美日韩一区二区三区四区在线观看| 国产一区二区三区不卡视频网站| 视频一区中文字幕| 久久男人av资源站| 日韩国产欧美三级| 蜜桃tv一区二区三区| 国产精品久久国产愉拍| 在线一区视频| 丁香六月综合| 国产精品videosex极品| 蜜臀久久99精品久久久久宅男 | 国产精品网址| 日韩欧美在线精品| 91亚洲自偷观看高清| 亚洲一区国产| 国产一区二区视频在线看| 99国产精品视频免费观看一公开 | 欧美aa在线视频| 免费观看在线综合| 99久久久久| 亚洲一区av| 福利视频一区| 亚洲毛片在线| 久久久久亚洲精品中文字幕| 国产一区91| 91青青国产在线观看精品| 一区二区不卡| 91精品综合| 久久精品99国产精品| 亚洲91视频| 嫩草伊人久久精品少妇av杨幂| 国产精品7m凸凹视频分类| 国产福利资源一区| 老司机精品久久| www.九色在线| 国产欧美精品久久| 红桃视频亚洲| 日韩深夜视频| 日韩不卡一二三区| 亚州av乱码久久精品蜜桃| 久久免费视频66| 中文字幕一区二区三区在线视频| 日韩一区亚洲二区| 久久成人高清| 中文字幕乱码亚洲无线精品一区| 久久精品亚洲人成影院 | 久久亚洲一区| 九九精品调教| 美女视频免费精品| 日本一区二区三区视频在线看| 欧美日韩免费观看视频| 国产精品久久777777毛茸茸| 蜜桃久久久久久久| 亚洲电影在线| av日韩中文| 精品一区二区三区亚洲| 清纯唯美亚洲综合一区| 亚洲欧美久久| 激情六月综合| 日韩欧美精品综合| 国产不卡av一区二区| 久久99精品久久久久久园产越南| 亚洲精品麻豆| 日韩中文字幕一区二区三区| 国产偷自视频区视频一区二区| 国产aⅴ精品一区二区四区| 日韩av中文字幕一区二区 | 欧美激情亚洲| 国产欧美日韩精品一区二区免费 | 国产精品hd| 久久影院资源站| 麻豆精品av| 精品国产亚洲日本| 国产成人精品999在线观看| 日韩伦理在线一区| 免费av一区| 国产手机视频一区二区| 亚洲人成亚洲精品| 国产精品极品国产中出| 国产一区二区亚洲| 久久久天天操| 亚洲一区二区毛片| 日韩国产91| 欧美国产日韩电影| 久久精品国产99国产精品| 超碰在线99| jiujiure精品视频播放| 亚洲另类黄色| 欧美国产极品| 欧美日韩尤物久久| 亚洲一区不卡| 日本成人中文字幕在线视频| 欧美国产专区| 久久精品官网| 亚洲不卡视频| 久久精品日韩欧美| 蜜臀91精品国产高清在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 五月国产精品| 国产在线一区不卡| 欧美日韩中文一区二区| 国产精品a级| 日韩精品社区| 国产精品日韩欧美一区| 中文在线日韩| 日韩激情视频网站| 免费精品一区| 成人小电影网站| 午夜欧美精品| 国产精品一国产精品k频道56| 日本va欧美va欧美va精品| 国语精品一区| 首页欧美精品中文字幕| 麻豆国产91在线播放| 91久久久精品国产| 日韩成人一级| 久久久夜精品| 国产亚洲一卡2卡3卡4卡新区| 日韩久久电影| 四虎成人精品一区二区免费网站 | 国产精品99一区二区三区| 日韩午夜免费| 麻豆传媒一区二区三区| 国产视频一区三区| 成人午夜在线| 亚洲狼人精品一区二区三区| 在线中文字幕播放| 日本亚洲不卡| 久久久国产精品一区二区中文| 日韩午夜视频在线| 99免费精品| 欧美国产三级| 欧美综合国产| 老牛影视精品| 国产日韩亚洲欧美精品| 中文字幕在线看片| 性欧美精品高清| 国产激情精品一区二区三区| 久久国产欧美| 日韩av中文字幕一区二区| 国产一区二区三区亚洲综合| 欧美日韩国产探花| 欧洲亚洲一区二区三区| 五月天久久网站| 成人污污视频| 欧美天堂在线| 男女男精品网站| 亚洲欧洲高清| 国产精品视频一区视频二区| 蘑菇福利视频一区播放| 婷婷激情一区| 美女视频黄久久| 日韩一区中文| 国产亚洲永久域名| 久久国产欧美| 国产成人精品一区二区免费看京 | 欧美另类专区| 日韩免费视频| 欧美激情五月| 久久国产乱子精品免费女| 视频一区中文字幕国产| 激情欧美一区二区三区| 久久久久久一区二区| 国产精品久久久免费| 天堂va在线高清一区| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲电影在线| 久久男女视频| 亚洲永久av| 久久国产精品99国产|