亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

地理位置聚類方法與流程

文檔序號:12034762閱讀:1957來源:國知局

本發(fā)明屬于軟件算法技術(shù)領(lǐng)域,具體涉及一種地理位置聚類方法。



背景技術(shù):

隨著計(jì)算機(jī)技術(shù)的發(fā)展,現(xiàn)今,我們需要地圖導(dǎo)航時(shí),大都使用電子地圖,從電子地圖上輸入目的地后,能夠直接在地圖上定位該目的地。但是,現(xiàn)有的算法會(huì)出現(xiàn)提取不正確、或其它原因?qū)е碌漠惓|c(diǎn),從而會(huì)導(dǎo)致生產(chǎn)的地理位置數(shù)據(jù)不準(zhǔn)確?;蛘哂捎诘乩砦恢蒙a(chǎn)者使用不同坐標(biāo)系而產(chǎn)生位置漂移的問題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明是為了解決上述問題而進(jìn)行的,目的在于提供一種能夠排除提取不正確或其它原因?qū)е碌漠惓|c(diǎn),從而生產(chǎn)正確、無噪音的地理位置數(shù)據(jù),并且還可以消除由于地理位置生產(chǎn)者使用不同坐標(biāo)系而產(chǎn)生的位置漂移的地理位置聚類方法。

本發(fā)明提供了一種地理位置聚類方法,其特征在于,包括以下步驟:步驟1,判斷數(shù)據(jù)點(diǎn)集是否符合正態(tài)分布,如果符合則進(jìn)入步驟2,如果不符合則結(jié)束;

步驟2,根據(jù)所述數(shù)據(jù)點(diǎn)集的正態(tài)分布基于預(yù)定規(guī)則得出所述數(shù)據(jù)點(diǎn)集的核函數(shù)的帶寬;

步驟3,根據(jù)所述數(shù)據(jù)點(diǎn)集基于預(yù)定規(guī)則確定起始點(diǎn);

步驟4,根據(jù)所述起始點(diǎn)、所述帶寬基于預(yù)定規(guī)則得到所述起始點(diǎn)移動(dòng)到的終點(diǎn),標(biāo)記從所述起始點(diǎn)移動(dòng)到所述終點(diǎn)的計(jì)算過程中訪問過的所述數(shù)據(jù)點(diǎn)集中的數(shù)據(jù),并將標(biāo)記的數(shù)據(jù)歸為一個(gè)簇;

步驟5,判斷所述數(shù)據(jù)點(diǎn)集中的所有數(shù)據(jù)是否均被標(biāo)記過,如果所述數(shù)據(jù)點(diǎn)集中的所有數(shù)據(jù)均被標(biāo)記過則進(jìn)入步驟7,如果所述數(shù)據(jù)點(diǎn)集中有未被標(biāo)記的數(shù)據(jù),則進(jìn)入步驟6;

步驟6,將所述數(shù)據(jù)點(diǎn)集中被標(biāo)記過的數(shù)據(jù)剔除,將未被標(biāo)記的數(shù)據(jù)作為新的數(shù)據(jù)點(diǎn)集計(jì)算得到新的起始點(diǎn),然后返回步驟4;

步驟7,將得到的所有簇兩兩進(jìn)行組合,判斷每個(gè)組合中的兩個(gè)簇的終點(diǎn)之間的距離與距離閾值的大小,如果兩個(gè)簇的終點(diǎn)之間的距離小于距離閾值,則將該兩個(gè)簇合并,如果兩個(gè)簇的終點(diǎn)之間的距離大于距離閾值,則將兩個(gè)簇分別作為單獨(dú)的簇,并基于預(yù)定規(guī)則將所述數(shù)據(jù)點(diǎn)集中屬于多個(gè)簇的多簇?cái)?shù)據(jù)的進(jìn)行歸類。

進(jìn)一步,在本發(fā)明提供的地理位置聚類方法中,還可以具有這樣的特征:其中,步驟1中,根據(jù)數(shù)據(jù)點(diǎn)集分布的偏度和峰度來判斷數(shù)據(jù)點(diǎn)集是否符合正態(tài)分布,偏度和峰度的計(jì)算方法如下:

s表示偏度;c表示峰度;xi表示數(shù)據(jù)點(diǎn)集中的一個(gè)數(shù)據(jù);表示數(shù)據(jù)點(diǎn)集中的數(shù)據(jù)均值;n為數(shù)據(jù)點(diǎn)集中的數(shù)據(jù)個(gè)數(shù);表示數(shù)據(jù)變量x關(guān)于分布中心的3階距;為數(shù)據(jù)點(diǎn)集的標(biāo)準(zhǔn)差。

進(jìn)一步,在本發(fā)明提供的地理位置聚類方法中,還可以具有這樣的特征:其中,步驟1中,如果數(shù)據(jù)點(diǎn)集不符合正態(tài)分布,在結(jié)束前,先對數(shù)據(jù)點(diǎn)集進(jìn)行調(diào)整,如果調(diào)整后符合正態(tài)分布的則進(jìn)入步驟2,如果不能調(diào)整成正態(tài)分布的則結(jié)束。

進(jìn)一步,在本發(fā)明提供的地理位置聚類方法中,還可以具有這樣的特征:其中,步驟2中,帶寬的計(jì)算方法如下:

h為核函數(shù)的帶寬;為數(shù)據(jù)點(diǎn)集的標(biāo)準(zhǔn)差;n為數(shù)據(jù)點(diǎn)集中的數(shù)據(jù)個(gè)數(shù)。

進(jìn)一步,在本發(fā)明提供的地理位置聚類方法中,還可以具有這樣的特征:其中,起始點(diǎn)采用中心點(diǎn)計(jì)算公式得到,中心點(diǎn)計(jì)算公式如下:

n為確定起始點(diǎn)時(shí)選用的數(shù)據(jù)點(diǎn)集中的數(shù)據(jù)個(gè)數(shù);centralon為中心點(diǎn)的經(jīng)度;centralat為中心點(diǎn)的緯度。

進(jìn)一步,在本發(fā)明提供的地理位置聚類方法中,還可以具有這樣的特征:其中,步驟4中從所述起始點(diǎn)移動(dòng)到所述終點(diǎn)的方法如下:

步驟4-1,以起始點(diǎn)為中心點(diǎn),查找所述數(shù)據(jù)點(diǎn)集中所有到中心點(diǎn)的距離小于帶寬的數(shù)據(jù)并進(jìn)行標(biāo)記,并計(jì)算中心點(diǎn)到每個(gè)標(biāo)記的數(shù)據(jù)的漂移向量;

步驟4-2,將步驟4-1中得到的所有漂移向量相加得到中心點(diǎn)的偏移向量,將中心點(diǎn)沿所述偏移向量移動(dòng),移動(dòng)的距離為所述偏移向量的絕對值,移動(dòng)后到達(dá)的點(diǎn)作為中間點(diǎn);

步驟4-3,判斷所述偏移向量與設(shè)定閾值的大小,如果大于設(shè)定閾值,則返回步驟4-1,并以步驟4-2中得到的中間點(diǎn)為中心點(diǎn)開始迭代計(jì)算,如果小于設(shè)定閾值,則記錄下該中間點(diǎn)作為終點(diǎn),并且將在該迭代過程中被標(biāo)記過的點(diǎn)歸類為一個(gè)簇。

進(jìn)一步,在本發(fā)明提供的地理位置聚類方法中,還可以具有這樣的特征:其中,漂移向量采用以下方法得到:

為數(shù)據(jù)點(diǎn)集的標(biāo)準(zhǔn)差;k(x)為gaussiankernel函數(shù);h為核函數(shù)的帶寬;xi表示步驟4-1中標(biāo)記的數(shù)據(jù);x表示中心點(diǎn)。

進(jìn)一步,在本發(fā)明提供的地理位置聚類方法中,還可以具有這樣的特征:其中,數(shù)據(jù)點(diǎn)集中屬于多個(gè)簇的多簇?cái)?shù)據(jù)采用以下方法進(jìn)行歸類:在步驟4中聚類一個(gè)簇時(shí),每執(zhí)行一次步驟4-1,被標(biāo)記的數(shù)據(jù)屬于該簇的概率加1,將多簇?cái)?shù)據(jù)屬于各個(gè)簇的概率進(jìn)行比較,將多簇?cái)?shù)據(jù)歸類于概率大的那個(gè)簇。

進(jìn)一步,在本發(fā)明提供的地理位置聚類方法中,還可以具有這樣的特征:其中,在分布式平臺上運(yùn)行地理位置聚類方法。

進(jìn)一步,在本發(fā)明提供的地理位置聚類方法中,還可以具有這樣的特征:其中,分布式平臺為spark平臺。

本發(fā)明的優(yōu)點(diǎn)如下:

根據(jù)本發(fā)明所涉及的地理位置聚類方法,首先驗(yàn)證數(shù)據(jù)點(diǎn)集中的數(shù)據(jù)是否符合正態(tài)分布,對于符合正態(tài)分布的,先計(jì)算核函數(shù)的帶寬,再計(jì)算聚類的起始點(diǎn),接著根據(jù)起始點(diǎn)和帶寬計(jì)算得到起始點(diǎn)需要移動(dòng)到的最終點(diǎn),并將該過程中訪問過的數(shù)據(jù)均標(biāo)記,并歸類為一個(gè)簇,然后判斷標(biāo)記的數(shù)據(jù)是包含了數(shù)據(jù)點(diǎn)集中的所有數(shù)據(jù),如果有沒有被訪問到的點(diǎn),則將標(biāo)記過的點(diǎn)剔除后再重新計(jì)算新的起始點(diǎn),重復(fù)第一次計(jì)算起始點(diǎn)移動(dòng)的步驟,并得到另一個(gè)簇,將所有得到的簇兩兩進(jìn)行組合,比較每個(gè)組合中的兩個(gè)簇的終點(diǎn)之間的距離與距離閾值的大小,合并小于距離閾值的兩個(gè)簇,大于距離閾值的兩個(gè)簇則分別為單獨(dú)的簇,因此采用本發(fā)明的地理位置聚類方法能夠排除提取不正確或其它原因?qū)е碌漠惓|c(diǎn),從而生產(chǎn)正確、無噪音的地理位置數(shù)據(jù),并且本發(fā)明還可以消除由于地理位置生產(chǎn)者使用不同坐標(biāo)系而產(chǎn)生的位置漂移。

附圖說明

圖1是本發(fā)明中地理位置聚類方法的流程圖。

具體實(shí)施方式

為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,以下實(shí)施例結(jié)合附圖對本發(fā)明地理位置聚類方法作具體闡述。

如圖1所示,在本實(shí)施例中,地理位置聚類方法包含以下步驟:

步驟s1,判斷數(shù)據(jù)點(diǎn)集是否符合正態(tài)分布,如果符合則進(jìn)入步驟2,如果不符合則結(jié)束。

根據(jù)數(shù)據(jù)點(diǎn)集分布的偏度和峰度來判斷數(shù)據(jù)點(diǎn)集是否符合正態(tài)分布,偏度和峰度的計(jì)算方法如下:

s表示偏度;c表示峰度;xi表示數(shù)據(jù)點(diǎn)集中的一個(gè)數(shù)據(jù);表示數(shù)據(jù)點(diǎn)集中的數(shù)據(jù)均值;n為數(shù)據(jù)點(diǎn)集中的數(shù)據(jù)個(gè)數(shù);表示數(shù)據(jù)變量x關(guān)于分布中心的3階距;為數(shù)據(jù)點(diǎn)集的標(biāo)準(zhǔn)差。

在本實(shí)施例中,如果數(shù)據(jù)點(diǎn)集不符合正態(tài)分布,在結(jié)束前,先對數(shù)據(jù)點(diǎn)集進(jìn)行調(diào)整,如果調(diào)整后符合正態(tài)分布的則進(jìn)入步驟2,如果不能調(diào)整成正態(tài)分布的則說明該數(shù)據(jù)點(diǎn)集不適用本發(fā)明的地理位置聚類方法。

步驟s2,根據(jù)所述數(shù)據(jù)點(diǎn)集的正態(tài)分布基于預(yù)定規(guī)則得出所述數(shù)據(jù)點(diǎn)集的核函數(shù)的帶寬。

核函數(shù)的帶寬的計(jì)算方法如下:

h為核函數(shù)的帶寬;為數(shù)據(jù)點(diǎn)集的標(biāo)準(zhǔn)差;n為數(shù)據(jù)點(diǎn)集中的數(shù)據(jù)個(gè)數(shù)。

步驟s3,根據(jù)數(shù)據(jù)點(diǎn)集基于預(yù)定規(guī)則確定起始點(diǎn)。

在開始對數(shù)據(jù)點(diǎn)集中的數(shù)據(jù)進(jìn)行聚類之前,首先要選擇對數(shù)據(jù)進(jìn)行聚類的起點(diǎn)。由于我們計(jì)算的數(shù)據(jù)是地理位置數(shù)據(jù),因此其本身就有一定的聚集性,尤其是當(dāng)輸入的數(shù)據(jù)源是一個(gè)城市的時(shí)候,那么根據(jù)我們輸入的數(shù)據(jù)點(diǎn)集,根據(jù)以下中心點(diǎn)計(jì)算公式,起始點(diǎn)采用中心點(diǎn)計(jì)算公式得到,中心點(diǎn)計(jì)算公式如下:

將上述公式中x、y、z的表達(dá)式帶入centralat和centralon的表

達(dá)式中后,centralat和centralon的計(jì)算公式分別如下:

n為確定起始點(diǎn)時(shí)選用的數(shù)據(jù)點(diǎn)集中的數(shù)據(jù)個(gè)數(shù);centralon為中心點(diǎn)的經(jīng)度;centralat為中心點(diǎn)的緯度;x、y、z為計(jì)算過程中間量。

步驟s4,根據(jù)起始點(diǎn)、帶寬基于預(yù)定規(guī)則得到起始點(diǎn)移動(dòng)到的終點(diǎn),標(biāo)記從起始點(diǎn)移動(dòng)到終點(diǎn)時(shí)訪問過的數(shù)據(jù)點(diǎn)集中的數(shù)據(jù),并將標(biāo)記的數(shù)據(jù)歸為一個(gè)簇。

從所述起始點(diǎn)移動(dòng)到所述終點(diǎn)的方法如下:

步驟4-1,以步驟3中確定的起始點(diǎn)為中心點(diǎn),查找數(shù)據(jù)點(diǎn)集中所有到中心點(diǎn)的距離小于帶寬的數(shù)據(jù),并進(jìn)行標(biāo)記,為了下文描述,將這些數(shù)據(jù)記作記作集合m1,將集合m1中的數(shù)據(jù)歸類于簇c,并將集合m1中的數(shù)據(jù)屬于簇c的概率加1。然后,計(jì)算中心點(diǎn)到集合m1中每個(gè)數(shù)據(jù)的漂移向量。漂移向量即中心點(diǎn)到標(biāo)記數(shù)據(jù)形成的向量。

漂移向量采用以下方法得到:

為數(shù)據(jù)點(diǎn)集的標(biāo)準(zhǔn)差;k(x)為gaussiankernel函數(shù);h為核函數(shù)的帶寬;xi表示步驟4-1中標(biāo)記的數(shù)據(jù);x表示中心點(diǎn)。

步驟4-2,將步驟4-1中得到的所有漂移向量相加得到中心點(diǎn)的偏移向量,將中心點(diǎn)沿偏移向量移動(dòng),移動(dòng)的距離為偏移向量的絕對值,移動(dòng)后到達(dá)的點(diǎn)作為中間點(diǎn)。

步驟4-3,判斷偏移向量與設(shè)定閾值的大小,如果大于設(shè)定閾值,則返回步驟4-1,并以步驟4-2中得到的中間點(diǎn)為中心點(diǎn)開始迭代計(jì)算,重復(fù)步驟4-1、步驟4-2、步驟4-3。具體為:返回步驟4-1并以步驟4-2中得到的中間點(diǎn)為中心點(diǎn),查找數(shù)據(jù)點(diǎn)集中數(shù)據(jù)到該中心點(diǎn)的距離小于帶寬的所有的數(shù)據(jù),并進(jìn)行標(biāo)記,將這些數(shù)據(jù)記作記作集合m2,將集合m2中的數(shù)據(jù)也歸類于簇c,并將集合m2中的數(shù)據(jù)屬于簇c的概率加1,其中,集合m2中的數(shù)據(jù)與集合m1中的數(shù)據(jù)有部分是重復(fù)的。然后,計(jì)算起始點(diǎn)到集合m2中每個(gè)數(shù)據(jù)的漂移向量。如果小于設(shè)定閾值,則記錄下該中間點(diǎn)作為終點(diǎn)。并且將在該迭代過程中被標(biāo)記過的點(diǎn)歸類為一個(gè)簇。

如果步驟4-3的判定結(jié)果一直為偏移向量大于設(shè)定閾值,則一直重復(fù)重復(fù)步驟4-1、步驟4-2、步驟4-3的步驟,每執(zhí)行一次步驟4-1,被標(biāo)記的數(shù)據(jù)屬于該簇的概率加1。即:每重復(fù)一次,則產(chǎn)生一個(gè)集合mi,不同集合mi中包含有相同的數(shù)據(jù),也包含有不同的數(shù)據(jù),即,一個(gè)數(shù)據(jù)可能屬于多個(gè)集合mi,而這個(gè)過程中產(chǎn)生的所有集合mi中的全部數(shù)據(jù)均歸類為簇c,一個(gè)數(shù)據(jù)屬于幾個(gè)集合mi,則其屬于簇c的概率就為幾。

步驟s5,判斷數(shù)據(jù)點(diǎn)集中的所有數(shù)據(jù)是否均被標(biāo)記過,如果數(shù)據(jù)點(diǎn)集中的所有數(shù)據(jù)均被標(biāo)記過則進(jìn)入步驟7,如果數(shù)據(jù)點(diǎn)集中有未被標(biāo)記的數(shù)據(jù),則進(jìn)入步驟6。

步驟s6,將數(shù)據(jù)點(diǎn)集中被標(biāo)記過的數(shù)據(jù)剔除,將未被標(biāo)記的數(shù)據(jù)作為新的數(shù)據(jù)點(diǎn)集計(jì)算得到新的起始點(diǎn),然后返回步驟4。其中,剔除的數(shù)據(jù)僅在計(jì)算新的起始點(diǎn)時(shí)被剔除,在返回步驟4時(shí)的計(jì)算過程中聚類的仍然是步驟1中需要進(jìn)行聚類的數(shù)據(jù)點(diǎn)集。

步驟s7,將得到的所有簇兩兩進(jìn)行組合,判斷每個(gè)組合中的兩個(gè)簇的終點(diǎn)之間的距離與距離閾值的大小,如果兩個(gè)簇的終點(diǎn)之間的距離小于距離閾值,則將該兩個(gè)簇合并,如果兩個(gè)簇的終點(diǎn)之間的距離大于距離閾值,則將兩個(gè)簇分別作為單獨(dú)的簇。在本實(shí)施例中,距離閾值為50米。由于每個(gè)數(shù)據(jù)歸類時(shí)可能不只屬于一個(gè)簇,在此,將屬于多個(gè)簇的數(shù)據(jù)稱為多簇?cái)?shù)據(jù),因此,需要對多簇?cái)?shù)據(jù)進(jìn)行歸類。在聚類每個(gè)點(diǎn)時(shí),對每個(gè)數(shù)據(jù)屬于哪個(gè)簇的概率進(jìn)行了計(jì)算。在本實(shí)施例中,將多簇?cái)?shù)據(jù)屬于各個(gè)簇的概率進(jìn)行比較,并將多簇?cái)?shù)據(jù)歸類于概率大的那個(gè)簇。

在本實(shí)施例中,將本發(fā)明的本地理位置聚類方法在分布式平臺上運(yùn)行,在分布式平臺上運(yùn)行,能夠支持tb級別的數(shù)據(jù),并且對數(shù)據(jù)上限沒有要求。分布式平臺包含:mapreduce平臺、hadoop平臺、storm平臺、spark平臺等。由于本發(fā)明的地理位置聚類方法在聚類的過程中需要多次迭代才能收斂,因此,最優(yōu)的,在分布式平臺上,采用spark平臺運(yùn)行本發(fā)明的本地理位置聚類方法,才能很好的保證本發(fā)明的地理位置聚類方法運(yùn)行的性能。

上述實(shí)施方式為本發(fā)明的優(yōu)選案例,并不用來限制本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1