基于改進Chameleon算法的農資消費數(shù)據(jù)聚類方法
【專利摘要】本發(fā)明涉及一種基于改進Chameleon算法的農資消費數(shù)據(jù)聚類方法,其包括如下步驟:步驟1、得到偏好向量集合X;步驟2、得到初始加權圖及初始模塊度;步驟3、將與最小結構等價相似度對應的兩個節(jié)點或兩個簇進行合并,以得到當前加權圖以及當前模塊度;步驟4、若所述當前模塊度小于初始模塊度,則將初始加權圖作為聚類結果輸出,否則,跳轉至步驟5;步驟5、更新當前加權圖以及對應的當前模塊度;將更新前的當前加權圖作為初始加權圖,更新前當前加權圖的當前模塊度作為初始模塊度,更新后的當前加權圖作為當前加權圖,跳轉至步驟4。本發(fā)明降低使用難度、增強聚類的無監(jiān)督性,使得聚類結果更加準確、減少人工設置參數(shù)帶來的偏差。
【專利說明】
基于改進Chame I eon算法的農資消費數(shù)據(jù)聚類方法
技術領域
[0001] 本發(fā)明涉及一種聚類方法,尤其是一種基于改進Chameleon算法的農資消費數(shù)據(jù) 聚類方法,屬于農資數(shù)據(jù)聚類的技術領域。
【背景技術】
[0002] 隨著電子商務的完善成熟和農業(yè)產業(yè)化經(jīng)營的迅速發(fā)展,農資產品的電子商務平 臺逐漸成為農資銷售的重要渠道。通常情況下,對電商平臺的消費者行為記錄進行聚類挖 掘,有助于識別他們的偏好及購買模式,為更進一步的個性化推薦、行為預測等打下堅實基 礎。當前層次聚類算法主要有BIRCH算法,CURE算法、ROCK算法、Chameleon算法等,其中 Chameleon算法可以發(fā)現(xiàn)高質量的任意形狀、大小和密度的自然簇及一趟聚類算法快速高 效的特點,但是該算法存在以下幾個缺點:1)、K-最近鄰圖中K值的確定需要人工進行;2)、 最小二等分的選取困難;3)、相似度函數(shù)的閾值需要人工給定。這些缺點增加了使用難度, 影響了聚類的無監(jiān)督性。
【發(fā)明內容】
[0003] 本發(fā)明的目的是克服現(xiàn)有技術中存在的不足,提供一種基于改進Chameleon算法 的農資消費數(shù)據(jù)聚類方法,其降低使用難度、增強聚類的無監(jiān)督性,使得聚類結果更加準 確、減少人工設置參數(shù)帶來的偏差。
[0004] 按照本發(fā)明提供的技術方案,一種基于改進Chameleon算法的農資消費數(shù)據(jù)聚類 方法,所述數(shù)據(jù)聚類方法包括如下步驟:
[0005] 步驟1、提供農資消費數(shù)據(jù),并對所述農資消費數(shù)據(jù)進行預處理,以得到每個消費 者的消費偏好向量X以及由若干消費者的消費偏好向量X組成的偏好向量集合X;
[0006] 步驟2、根據(jù)上述偏好向量集合對導到初始加權圖,并確定所述初始加權圖的初始 模塊度;
[0007] 步驟3、確定初始加權圖中任意兩個節(jié)點或兩個簇之間的結構等價相似度,以得到 初始加權圖的最小結構等價相似度,將與最小結構等價相似度對應的兩個節(jié)點或兩個簇進 行合并,以得到當前加權圖以及當前加權圖的當前模塊度;
[0008] 步驟4、將上述當前模塊度與初始模塊度進行比較,若所述當前模塊度小于初始模 塊度,則將初始加權圖作為聚類結果輸出,否則,跳轉至步驟5;
[0009] 步驟5、確定當前加權圖中任意兩個節(jié)點或兩個簇之間的結構等價相似度,以得到 當前加權圖的最小結構等價相似度,將與最小結構等價相似度對應的兩個節(jié)點或兩個簇進 行合并,以更新所述當前加權圖以及對應的當前模塊度;
[0010]將更新前的當前加權圖作為初始加權圖,更新前當前加權圖的當前模塊度作為初 始模塊度,更新后的當前加權圖作為當前加權圖,跳轉至步驟4。
[0011]所述步驟1中,每個消費者的消費偏好向量X為x(pi,p2,···,ptr",p n),其中,pt表示 消費者在Dt類農資產品上的行為取值總和,A = Σ ,Ri表示消費 者的第1條行為數(shù)據(jù),Ri(item)表示消費者第1條行為操作的農資產品,Ri(behavior_type) 表示消費者的第1條行為的值,所述行為值包括瀏覽、收藏、加入購物車或購買。
[0012]所述步驟2中,得到的初始加權圖G為G=(V,E,W),其中,偏好向量集合X中每個消 費偏好向量X對應點集V中的一個節(jié)點,邊集E初始化為空,W為邊權值函數(shù),連接節(jié)點Vl、節(jié) 點v j的邊的邊權值函數(shù)Wi j為
[0014]其中,C為常數(shù),H( Vi, Vj)為節(jié)點Vi與節(jié)點Vj間的歐式距離,無需偶對(Vi, Vj)表示節(jié) 點Vi e V與節(jié)點v j e V間的關聯(lián)。
[0015]步驟3中,節(jié)點vi與節(jié)點Vj間的結構等價相似度Sij為
[0017] 其中,Wik是連接節(jié)點Vi與節(jié)點vk邊的邊權值,Wjk是連接節(jié)點Vj與節(jié)點vk邊的邊權 值;
[0018] 簇r與簇h之間的結構等價相似度Srh為
[0020] 其中,nr為簇r中的節(jié)點個數(shù),nh為簇h中的節(jié)點個數(shù),S?,w為簇r中第κ個節(jié)點與簇 h中第λ個節(jié)點的結構等價相似度。
[0021] 模塊度Q為
[0023]其中,yi為節(jié)點Vi的帶權度,Α為初始加權圖G的鄰接矩陣,
是加權圖中邊的邊權值總和,c i為節(jié)點v i所在的簇標號,
[0024]本發(fā)明的優(yōu)點:確定每個消費者的消費偏好向量X,并得到偏好向量集合X,使得農 資消費者的行為在數(shù)值上有一個直觀體現(xiàn);對象間的距離為基礎得到當前加權圖,以表示 兩個對象間的相似程度,不使用K-最近鄰的概念,避免了對K值的人工估計;降低使用難度、 增強聚類的無監(jiān)督性,使得聚類結果更加準確、減少人工設置參數(shù)帶來的偏差。
【附圖說明】
[0025] 圖1為本發(fā)明的流程圖。
【具體實施方式】
[0026] 下面結合具體附圖和實施例對本發(fā)明作進一步說明。
[0027] 如圖1所示:為了降低使用難度、增強聚類的無監(jiān)督性,使得聚類結果更加準確、減 少人工設置參數(shù)帶來的偏差,本發(fā)明數(shù)據(jù)聚類方法包括如下步驟:
[0028] 步驟1、提供農資消費數(shù)據(jù),并對所述農資消費數(shù)據(jù)進行預處理,以得到每個消費 者的消費偏好向量X以及由若干消費者的消費偏好向量X組成的偏好向量集合X;
[0029] 本發(fā)明實施例中,農資消費數(shù)據(jù)可以通過電商平臺獲取,每個消費者的消費偏好 向量X為χ(ρι,Ρ2,…,pt,···,pn),其中,pt表示消費者在Dt類農資產品上的行為取值總和, 八=Σ 盡和―7'~二仲小Ri表示消費者的第1條行為數(shù)據(jù), Ri(item)表示消費者第 1條行為操作的農資產品,Ri(behaVi〇r_type)表示消費者的第1條行為的值,所述行為值包 括瀏覽、收藏、加入購物車或購買,η為農資產品種類的數(shù)量,item表示一條農資消費記錄,1 是為了聚類而抽取的消費者數(shù)據(jù)的總數(shù)。具體實施時,對于消費者的第1條行為的值Ri (behaVi〇r_type)在瀏覽、收藏、加入購物車、購買時分別取值為1、2、3、4。利用消費者的消 費偏好向量X組成的偏好向量集合X的過程為本技術領域人員所熟知,此處不再贅述。
[0030] 步驟2、根據(jù)上述偏好向量集合對導到初始加權圖,并確定所述初始加權圖的初始 模塊度;
[0031 ]本發(fā)明實施例中,對偏好向量集合X,以對象間的距離為基礎,能得到的初始加權 圖G為G=(V,E,W),其中,偏好向量集合X中每個消費偏好向量X對應點集V中的一個節(jié)點,邊 集E初始化為空,W為邊權值函數(shù),連接節(jié)點 Vi、節(jié)點Vj的邊的邊權值函數(shù)Wij為
[0033]其中,C為常數(shù),H( Vi, Vj)為節(jié)點Vi與節(jié)點Vj間的歐式距離,無需偶對(Vi, Vj)表示節(jié) 點¥10與節(jié)點v^V間的關聯(lián)。具體實施時,根據(jù)偏好向量集合X生成初始加權圖的過程為 本技術領域人員所熟知,此處不再贅述。
[0034] 步驟3、確定初始加權圖中任意兩個節(jié)點或兩個簇之間的結構等價相似度,以得到 初始加權圖的最小結構等價相似度,將與最小結構等價相似度對應的兩個節(jié)點或兩個簇進 行合并,以得到當前加權圖以及當前加權圖的當前模塊度;
[0035] 本發(fā)明實施例中,節(jié)點Vi與節(jié)點Vj間的結構等價相似度Sij為
[0037] 其中,Wik是連接節(jié)點Vi與節(jié)點Vk邊的邊權值,Wjk是連接節(jié)點Vj與節(jié)點Vk邊的邊權 值;
[0038] 簇r與簇h之間的結構等價相似度Srh為
[0040] 其中,nr為簇r中的節(jié)點個數(shù),nh為簇h中的節(jié)點個數(shù),S?,hx為簇r中第κ個節(jié)點與簇 h中第λ個節(jié)點的結構等價相似度。
[0041] 模塊度Q為
[0043]其中,Pi為節(jié)點Vi的帶權度,Α為初始加權圖G的鄰接矩陣,Λ = ,
是加權圖中邊的邊權值總和,C i為節(jié)點V i所在的簇標號,
[0044] 具體實施時,對于結構等價的節(jié)點對,結構等價相似度為0,對于沒有任何共同相 鄰節(jié)點的節(jié)點對,結構等價相似度取最大值。(所述最大值為所有節(jié)點對之間距離中的最大 距離),節(jié)點Vi的帶權度m是與節(jié)點Vi連接的其他節(jié)點的邊的邊權值之和,鄰接矩陣Α*Ν*Ν 的方陣,其中^^為消費者的數(shù)量。
[0045] 步驟4、將上述當前模塊度與初始模塊度進行比較,若所述當前模塊度小于初始模 塊度,則將初始加權圖作為聚類結果輸出,否則,跳轉至步驟5;
[0046] 步驟5、確定當前加權圖中任意兩個節(jié)點或兩個簇之間的結構等價相似度,以得到 當前加權圖的最小結構等價相似度,將與最小結構等價相似度對應的兩個節(jié)點或兩個簇進 行合并,以更新所述當前加權圖以及對應的當前模塊度;
[0047] 將更新前的當前加權圖作為初始加權圖,更新前當前加權圖的當前模塊度作為初 始模塊度,更新后的當前加權圖作為當前加權圖,跳轉至步驟4。
[0048] 本發(fā)明實施例中,將更新后的當前加權圖作為當前加權圖,從而,更新后當前加權 圖的當前模塊度作為當前模塊度。通過步驟4以及步驟5,使得聚類后輸出模塊度最大的當 前加權圖,即得到所需的農資消費數(shù)據(jù)聚類結果。
[0049] 本發(fā)明確定每個消費者的消費偏好向量X,并得到偏好向量集合X,使得農資消費 者的行為在數(shù)值上有一個直觀體現(xiàn);對象間的距離為基礎得到當前加權圖,以表示兩個對 象間的相似程度,不使用K-最近鄰的概念,避免了對K值的人工估計;降低使用難度、增強聚 類的無監(jiān)督性,使得聚類結果更加準確、減少人工設置參數(shù)帶來的偏差。
【主權項】
1. 一種基于改進Chameleon算法的農資消費數(shù)據(jù)聚類方法,其特征是,所述數(shù)據(jù)聚類方 法包括如下步驟: 步驟1、提供農資消費數(shù)據(jù),并對所述農資消費數(shù)據(jù)進行預處理,以得到每個消費者的 消費偏好向量X以及由若干消費者的消費偏好向量X組成的偏好向量集合X; 步驟2、根據(jù)上述偏好向量集合對導到初始加權圖,并確定所述初始加權圖的初始模塊 度; 步驟3、確定初始加權圖中任意兩個節(jié)點或兩個簇之間的結構等價相似度,以得到初始 加權圖的最小結構等價相似度,將與最小結構等價相似度對應的兩個節(jié)點或兩個簇進行合 并,以得到當前加權圖以及當前加權圖的當前模塊度; 步驟4、將上述當前模塊度與初始模塊度進行比較,若所述當前模塊度小于初始模塊 度,則將初始加權圖作為聚類結果輸出,否則,跳轉至步驟5; 步驟5、確定當前加權圖中任意兩個節(jié)點或兩個簇之間的結構等價相似度,以得到當前 加權圖的最小結構等價相似度,將與最小結構等價相似度對應的兩個節(jié)點或兩個簇進行合 并,以更新所述當前加權圖以及對應的當前模塊度; 將更新前的當前加權圖作為初始加權圖,更新前當前加權圖的當前模塊度作為初始模 塊度,更新后的當前加權圖作為當前加權圖,跳轉至步驟4。2. 根據(jù)權利要求1所述的基于改進Chameleon算法的農資消費數(shù)據(jù)聚類方法,其特征 是:所述步驟1中,每個消費者的消費偏好向量X為奴?142,"_#,~>),其中4康示消費 者在Dt類農資產品上的行為取值總和,為=Σ -妙e),Ri表示消費者的 第1條行為數(shù)據(jù),Ri(item)表示消費者第1條行為操作的農資產品,Ri(behavior_type)表示 消費者的第1條行為的值,所述行為值包括瀏覽、收藏、加入購物車或購買。3. 根據(jù)權利要求1所述的基于改進Chameleon算法的農資消費數(shù)據(jù)聚類方法,其特征 是:所述步驟2中,得到的初始加權圖G為G=(V,E,W),其中,偏好向量集合X中每個消費偏好 向量X對應點集V中的一個節(jié)點,邊集E初始化為空,W為邊權值函數(shù),連接節(jié)點 Vi、節(jié)點Vj的邊 的邊權值函數(shù)Wij為其中,C為常數(shù),H( vi, vj)為節(jié)點vi與節(jié)點vj間的歐式距離,無需偶對(vi, vj)表示節(jié)點vi 6乂與節(jié)點%6乂間的關聯(lián)。4. 根據(jù)權利要求3所述的基于改進Chameleon算法的農資消費數(shù)據(jù)聚類方法,其特征 是:步驟3中,節(jié)點vi與節(jié)點vj間的結構等價相似度Sii為其中,Wik是連接節(jié)點Vi與節(jié)點vk邊的邊權值,Wjk是連接節(jié)點v j與節(jié)點vk邊的邊權值; 簇r與簇h之間的結構等價相似度Srh為其中,nr為簇r中的節(jié)點個數(shù),nh為簇11中的節(jié)點個數(shù),S?, w為簇r中第κ個節(jié)點與簇h中第 λ個節(jié)點的結構等價相似度。5.根據(jù)權利要求3所述的基于改進Chameleon算法的農資消費數(shù)據(jù)聚類方法,其特征 是:模塊度Q為其中,μ i為節(jié)點v i的帶權度,A為初始加權圖G的鄰接矩陣:是加權圖中邊的邊權值總和,c i為節(jié)點v i所在的簇標號, I--J. CJ Ο
【文檔編號】G06Q30/02GK105869034SQ201610210116
【公開日】2016年8月17日
【申請日】2016年4月6日
【發(fā)明人】張光輝, 王儒敬, 王偉
【申請人】無錫中科富農物聯(lián)科技有限公司, 安徽中科物聯(lián)科技有限公司, 江蘇物聯(lián)網(wǎng)研究發(fā)展中心