干貨分享 | 一文帶你玩轉(zhuǎn)DBSCAN密度聚類算法-技術(shù)前沿-資訊-生物在線

女人与狗锁死了视频大全|霍金死亡过程恐怖视频|无节社团简谱季免费观看|六间房直播大厅|中文字幕欧美另类精品|久久人人玩人妻潮喷内射人人|亚洲国产一区二区三区在线观看

干貨分享 | 一文帶你玩轉(zhuǎn)DBSCAN密度聚類算法

作者:上海阿趣生物科技有限公司 2022-07-05T13:54 (訪問(wèn)量:6660)

01.DBSCAN簡(jiǎn)述

簡(jiǎn)述

DBSCAN是一種無(wú)監(jiān)督的ML聚類算法,輸入?yún)?shù)為Eps(距離參數(shù))與MinPts(點(diǎn)個(gè)數(shù)閾值),基于密度的聚類算法可以發(fā)現(xiàn)任意形狀的聚類。在基于密度的聚類算法中,通過(guò)在數(shù)據(jù)集中尋找被低密度區(qū)域分離的高密度區(qū)域,將分離出的高密度區(qū)域作為一個(gè)獨(dú)立的類別。

根據(jù)基于中心的密度進(jìn)行點(diǎn)的分類

密度基于中心的方法我們可以將點(diǎn)分類為以下3個(gè):

  • 核心點(diǎn):點(diǎn)的Eps范圍領(lǐng)域內(nèi)點(diǎn)個(gè)數(shù)超過(guò)MinPts閾值
  • 邊界點(diǎn):非核心點(diǎn),但落于核心點(diǎn)鄰域內(nèi),單個(gè)邊界點(diǎn)可能落于多個(gè)核心點(diǎn)鄰域內(nèi)
  • 噪聲點(diǎn):非核心點(diǎn)也非邊界點(diǎn)的任何點(diǎn)

優(yōu)勢(shì)與缺陷

DBSAN使用簇的基于密度的定義,因此它是相對(duì)抗噪聲的,能夠處理任意形狀和大小的簇,這一特點(diǎn)使其能夠發(fā)現(xiàn)使用K均值等其他距離聚類方式無(wú)法發(fā)現(xiàn)的簇。

在簇的密度變化過(guò)大的情況下,該聚類方式的靈敏度會(huì)大幅下降。同時(shí)在遇到高維數(shù)據(jù)時(shí),對(duì)密度定義相對(duì)困難,需要進(jìn)行額外降維。


02.DBSCAN代碼解析(基于Python,以鳶尾花數(shù)據(jù)為例)

詳細(xì)算法

計(jì)算歐氏距離:

def find_core(j, x, eps):
    N = list()
    for i in range(x.shape[0]):
        temp = np.sqrt(np.sum(np.square(x[j] - x[i])))  # 計(jì)算歐式距離
        if temp <= eps:
            N.append(i)
    return set(N)

具體聚類過(guò)程:

def DBSCAN(X, eps, min_Pts):
    k = -1
    eps_list = []
    core_list = []
    point = set([x for x in range(len(X))])
    cluster = [-1 for _ in range(len(X))]# 進(jìn)行聚類
    for i in range(len(X)):
        eps_list.append(find_core(i, X, eps))
        if len(eps_list[-1]) >= min_Pts:
            core_list.append(i)
    core_list = set(core_list)
    while len(core_list) > 0:
        point1 = copy.deepcopy(point)
        j = random.choice(list(core_list))#隨機(jī)選取核心點(diǎn)
        k = k + 1
        Q = list()
        Q.append(j)
        point.remove(j)
        while len(Q) > 0:
            q = Q[0]
            Q.remove(q)
            if len(eps_list[q]) >= min_Pts:
                delta = eps_list[q] & point
                deltalist = list(delta)
                for i in range(len(delta)):
                    Q.append(deltalist[i])
                    point = point - delta
        ball = point1 - point
        listball = list(ball)
        for i in range(len(ball)):
            cluster[listball[i]] = k
        core_list = core_list - ball
    return cluster

結(jié)果展示

eps=0.5、min_Pts=9(以鳶尾花數(shù)據(jù)為例)

03.Scikit-learn中的DBSCAN的使用

Scikit-learn中集成了DBSCAN算法,具體參數(shù)如下:

def __init__(self, eps=0.5, min_samples=5, metric='euclidean',
                 metric_params=None, algorithm='auto', leaf_size=30, p=None,
                 n_jobs=1)
上海阿趣生物科技有限公司 商家主頁(yè)

地 址: 嘉定區(qū)新培路51號(hào)焦點(diǎn)夢(mèng)想園5層

聯(lián)系人: 高小姐

電 話: 400-664-9912

傳 真:

Email:marketing@biotree.cn

相關(guān)咨詢

科研論文修回意見征集!少走彎路,順利發(fā)文!黃金、百趣實(shí)用周邊免費(fèi)抽! (暫無(wú)發(fā)布時(shí)間 瀏覽數(shù):3230)

Circulation (IF=38.7)|上海兒童醫(yī)學(xué)中心張浩/劉一為聯(lián)合南京鼓樓醫(yī)院王東進(jìn)團(tuán)隊(duì)破解肥胖心衰患者LVAD療效困局,胰島素增敏劑點(diǎn)亮心肌恢復(fù)新希望! (2026-04-25T00:00 瀏覽數(shù):10982)

J. Adv. Res. (IF=13)|血漿蛋白質(zhì)組學(xué)賦能:暴發(fā)性心肌炎精準(zhǔn)診斷與靶向治療新突破 (暫無(wú)發(fā)布時(shí)間 瀏覽數(shù):9639)

NP(IF=8.1)|西北農(nóng)林研究團(tuán)隊(duì)解碼黑枸杞“高品質(zhì)密碼”:光響應(yīng)轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)如何驅(qū)動(dòng)類黃酮合成與藥用活性? (暫無(wú)發(fā)布時(shí)間 瀏覽數(shù):9717)

LWT(IF=6.6)|四川大學(xué)研究團(tuán)隊(duì)通過(guò)同位素標(biāo)記代謝流與脂質(zhì)組學(xué)的“夢(mèng)幻聯(lián)動(dòng)”,帶你看清酵母的耐鹽策略 (暫無(wú)發(fā)布時(shí)間 瀏覽數(shù):10520)

破微量極限,啟代謝新程|微量NGM 3 Pro,以微量樣本,全景解碼生命代謝 (暫無(wú)發(fā)布時(shí)間 瀏覽數(shù):10379)

JEP (IF=5.4)|福建中醫(yī)藥大學(xué)研究團(tuán)隊(duì):多組學(xué)揭秘丹瓜方調(diào)控GLUD1改善糖尿病代謝機(jī)制 (暫無(wú)發(fā)布時(shí)間 瀏覽數(shù):11614)

Food Chem.(IF=9.8)|南農(nóng)陳暄教授研究團(tuán)隊(duì)多組學(xué)揭秘:云南“金花茶”的風(fēng)味煉金術(shù)—匍匐散囊菌如何點(diǎn)“茶”成“香”? (暫無(wú)發(fā)布時(shí)間 瀏覽數(shù):11868)

J.Agric.Food Chem.(IF=6.2)|中國(guó)熱科院胡偉/丁澤紅團(tuán)隊(duì)突破性成果!解碼木薯塊根3類蛋白修飾圖譜,解鎖淀粉積累與抗逆調(diào)控密碼 (暫無(wú)發(fā)布時(shí)間 瀏覽數(shù):12099)

nat commun(IF=15.7)|北大白玉教授團(tuán)隊(duì)突破靜態(tài)局限:動(dòng)態(tài)單細(xì)胞代謝組學(xué)揭秘腫瘤-巨噬細(xì)胞互作新機(jī)制 (暫無(wú)發(fā)布時(shí)間 瀏覽數(shù):13268)

ADVERTISEMENT