1.一種基于Hadoop的自適應(yīng)RK-means算法,其特征在于:包括以下步驟:
S1:根據(jù)業(yè)務(wù)需求,輸入待聚類的數(shù)據(jù)集;
S2:運(yùn)用基于Hadoop的自適應(yīng)聚類中心算法獲取聚類中心點(diǎn)及數(shù)目;
S3:將上一步的結(jié)果作為算法的初始聚類中心,輸入到基于Hadoop的RK-means算法中,獲取全局最優(yōu)的聚類簇;
S4:輸出聚類結(jié)果。
2.根據(jù)權(quán)利要求1所述的一種基于Hadoop的自適應(yīng)RK-means算法,其特征在于:所述步驟S1具體包括:
S11:確定業(yè)務(wù)需求;
S12:根據(jù)業(yè)務(wù)需求準(zhǔn)備數(shù)據(jù);
S13:數(shù)據(jù)預(yù)處理;
S14:得到待聚類的數(shù)據(jù)集。
3.根據(jù)權(quán)利要求2所述的一種基于Hadoop的自適應(yīng)RK-means算法,其特征在于:所述步驟S13中的數(shù)據(jù)預(yù)處理通過(guò)分析數(shù)據(jù)、異常值處理、數(shù)據(jù)的抽取及數(shù)據(jù)的轉(zhuǎn)換,直接作為算法的輸入數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的一種基于Hadoop的自適應(yīng)RK-means算法,其特征在于:所述步驟S2具體包括:
S21:將數(shù)據(jù)集X讀入,估計(jì)數(shù)據(jù)集內(nèi)隨機(jī)觀測(cè)值的空間距離,按照升序排列,隨機(jī)選取一觀測(cè)點(diǎn)作為初始中心點(diǎn),聚類數(shù)目設(shè)置為1,設(shè)定兩觀測(cè)值相似性閾值;
S22:估計(jì)其余觀測(cè)點(diǎn)與初始聚類中心間的空間距離,將觀測(cè)點(diǎn)的id作為map函數(shù)的key,觀測(cè)點(diǎn)與初始聚類中心點(diǎn)的空間距離設(shè)為value輸出到Combine函數(shù)中;
S23:Combine函數(shù)選取所有觀測(cè)點(diǎn)中最小的空間距離,取該距離與兩觀測(cè)值相似性閾值進(jìn)行比較:若偏大,則聚類數(shù)量進(jìn)1,將該觀測(cè)值的id作為key,該觀測(cè)值的屬性記為value輸出到Reduce中;若偏小,則將初始中心點(diǎn)的id作為key,該觀測(cè)值的屬性記為value輸出到Reduce;
S24:通過(guò)Reduce函數(shù)更新兩觀測(cè)值相似性閾值;
S25:判斷數(shù)據(jù)集中所有數(shù)據(jù)是否都已分類完畢:若是,則輸出聚類中心;反之,則重復(fù)執(zhí)行S22至S24。
5.根據(jù)權(quán)利要求1所述的一種基于Hadoop的自適應(yīng)RK-means算法,其特征在于:所述步驟S3具體包括:
S31:根據(jù)每個(gè)對(duì)象到初始聚類中心的距離,將對(duì)象分配給最近的聚類中心;
S32:Map函數(shù)中,key表示該類簇所屬聚類中心類別,value表示類別及其對(duì)象的屬性;
S33:Reduce函數(shù)讀取Map函數(shù)寫入的中間結(jié)果,即context.write(key,value);
S34:獲取每個(gè)簇的平均值;
S35:根據(jù)各對(duì)象到每個(gè)簇中心的距離,采用增加隨機(jī)項(xiàng)的更新算法更新聚類中心,將它們重新分配給距離最近的簇;
S36:輸出不同的簇,其中key為各個(gè)簇的編號(hào),value為各個(gè)簇中每個(gè)對(duì)象對(duì)應(yīng)的屬性,最后的輸出就是RK-means聚類的結(jié)果。