








摘" 要: 在網絡用戶行為分析中,以時序維度為基礎,研究用戶網絡行為的變化趨勢,提出并挖掘更多有價值的信息,可為管理或商業決策提供有力支持。為此,文中提出一種基于時間戳間距的用戶在線時長聚類方法,以用戶訪問日志文件中時間戳之間的間距作為特征,首先將獲取的日志數據進行預處理,獲得用戶的在線時長統計;然后采用K?Means聚類算法對用戶進行聚類,并使用輪廓系數對K值進行評價分析,確定聚類K值范圍,準確判定用戶單次訪問在線時長及類型。采用真實校園網用戶訪問日志數據對所提方法進行評價,實驗結果表明,該方法的準確度達到0.918 0,精確度達到0.768 5,召回率達到0.809 3。
關鍵詞: 用戶在線時長; 用戶聚類; K?Means聚類算法; 數據預處理; 時間戳間距; 輪廓系數
中圖分類號: TN929.5?34; TP393" " " " " " " " " "文獻標識碼: A" " " " " " " " " " 文章編號: 1004?373X(2024)16?0047?04
Method of user online duration clustering based on timestamp interval
YE Qian1, GAO Ming2, TIAN Liangliang2, WEI Yumeng2, LIU Yi2
(1. Department of Educational Administration, Yan’an University, Yan’an 716000, China;
2. College of Mathematics and Computer Sciences, Yan’an University, Yan’an 716000, China)
Abstract: In the analysis of online user behavior, based on the temporal dimension, the changing trend of user network behavior is studied, and more valuable information is proposed and explored, which can provide strong support for management or business decision?making. On this basis, a method of user online duration clustering based on timestamp interval is proposed, with the interval between timestamps in user access log file as a feature. The obtained log data is preprocessed to obtain the statistics on user online duration. The K?Means clustering algorithm is used to cluster user, and the silhouette coefficient is used to evaluate and analyze the K value within the range, determine the range of K value, and accurately determine the online duration and type of user’s single visit. The proposed method was evaluated by using real campus network user access log data. The experimental results show that the accuracy of this method can reach 0.918 0, the accuracy can reach 0.768 5, and the recall rate can reach 0.809 3.
Keywords: user online duration; user clustering; K?Means clustering algorithm; data preprocessing; timestamp interval; silhouette coefficient
0" 引" 言
隨著用戶對網絡依賴度的提升,互聯網產生的信息也隨之增多。如何解析這些信息并提取出其中的價值成為當下研究的熱點。時序特征作為網絡信息中的一個重要屬性,對研究網絡用戶行為起到至關重要的作用。在網絡用戶行為分析中,經常以時序維度為基礎,研究用戶網絡行為的變化趨勢,從而提出和挖掘出更多有價值的信息,為管理或商業等方面的決策提供有力支持[1]。
本文提出一種基于時間戳間距的用戶在線時長聚類方法,根據已獲得的用戶日志文件中的用戶在線時長,將用戶聚類成幾類具有不同上網特征的用戶。首先對原始數據集進行清洗與處理,并將其中需要用到的類別提取出來;然后以用戶為單位,通過時間戳得出用戶在不同時間區間的時長向量,得到每一個用戶的在線時長粗聚類,通過輪廓系數評價的方法選擇K值;再使用K?Means聚類算法對用戶進行分類;最終將用戶分成四類,經過分析得出本文方法準確度達到0.918 0,精確度達到0.768 5,召回率達到0.809 3,并且能通過追蹤不同用戶的在線時長特征對用戶進行聚類,得到幾類不同用戶上網特征。
本文方法以時間戳為基礎,根據用戶上網特征進行聚類,在時序維度觀測用戶的行為特征,可引導用戶合理高效利用網絡資源,為決策提供支持,為商業網站創造更多的價值。
1" 相關工作
K?Means聚類算法是一種基于劃分的算法,屬于無監督學習算法,具有簡單易用、好實現的特點。2013年,海沫等人提出聚類的目的在于將數據對象分成多個類或簇,同一簇中對象間具有較高的相似度,而不同簇中的對象差別較大[2]。2010年,韓凌波等人提出了一種改進的聚類方法,針對每個數據對象的密度參數進行計算,再選取幾個初始的聚類中心[3]。實驗對比后發現,改進的新算法與隨機選取初始質心相比,具有更高的準確率與穩定性。2019年,王建仁等人針對簇數K與SSE關系圖像“肘點”模糊不明確的問題,結合相關參數來確定最佳m值[4]。文獻[5]基于層次聚類的思想對K?Means算法進行改進,改進后的算法能自動適應得出最適或近似最適的聚類個數K,免去了人工預先選擇K值的步驟。
楊俊闖等人詳細闡述了K?Means聚類算法的相關知識[6]。陳湘濤等人綜合分析了近年來時間序列相似性聚類相關研究,主要從時間序列的分割和相似性度量兩方面進行了探討[7]。郭玉彬等人通過對認證的學生上網數據進行研究,使用K?Means與K?canopy算法對認證數據進行聚類,最終得到六類不同學生用戶的上網習慣[8]。程靜等人使用改進的CORT方法聚類分析北京出租車工作日與周末的出行時空特征[9]。文獻[10]提出了一種新的病理圖像無監督分割方法,用于支持病理檢查。文獻[11]闡述了應用于特征學習領域的K?Means算法,該算法可用于解決人工設計的特征識別中存在的結果不穩定以及泛化能力差的問題。
2" 數據采集與清洗
本文在校園網中采集用戶訪問日志信息,根據研究內容的需求刪除無用數據,并對其他數據進行適當處理。根據時間戳間距對時間進行分段,篩選學生用戶等工作,然后對原始數據集進行數據清洗及預處理[12?13],具體操作步驟如下[14?15]。
1) 在原始數據集中提取所需數據字段特征,只保留用戶帳號和時間戳兩個特征。
2) 去除此類無關的數據,僅保留ID為13位數字的本科生帳號。
3) 需要去除重復、含有空缺、錯誤的數值,例如存在大于60 s的時間戳。
3" 聚類算法
3.1" K?Means聚類算法
K?Means聚類算法[16?17]的目標是將N個數據樣本按照特征分成K個簇,簇與簇之間相似度盡可能低,簇內數據相似度盡可能高。K值對聚類的結果會產生直接影響。確定K值有許多方法,K值通常選擇范圍為[(0,N)],在此選擇輪廓系數作為評價K值的依據。輪廓系數側重于簇間間隔性與類內緊密性,輪廓系數越大說明聚類效果越好。
K?Means聚類算法的中心思想是:首先從數據集中隨機選擇K個初始聚類中心[Ci][(1≤i≤K)],而后確定剩余數據對象與聚類中心[Ci]的歐氏距離;再計算與將目標數據對象輸出到距離最近的聚類中心[Ci],并將數據對象分配給與聚類中心[Ci]對應的聚類;最后將每個集群的數據對象平均為一個新的集群中心,并繼續下一次迭代,直到集群中心保持不變或達到最大迭代次數。
數據與聚類質心點間的歐氏距離計算公式為:
[d(x,Ci)=i=1m(Xj-Cij)2]" " " "(1)
式中:x為數據對象;[Ci]為第i個聚類中心;m為數據對象的維度;[Xj]、[Cij]分別為x和[Ci]的第j個屬性值。
聚類的特征維度是在不同時間區間的在線時長,聚類中心點即用戶在線的不同時長特征,初次隨機選擇,之后不斷迭代出新的中心點。具體使用的粗聚類[8]方法的算法流程如下。
1) 構造原始數據集List,計算所有數據之間歐氏距離的均值T,令T1=0.5T。
2) 隨機選擇List中的一個樣本數據作為基點P,從List中刪除,計算List中其他樣本點到基點P的距離d1。
3) 將d1小于T1的樣本劃分為一個Canopy,同時將這些劃分的數據從原始數據集List中移除。
4) 重復步驟2)和步驟3),直到List為空。
5) 開始尋找異常值,構建由每個Canopy的中心組成的數據集Center,令T2= 0.8T1。
6) 依次從Center中選擇一個數據C,計算C與Center中所有其他數據的距離d2,統計d2小于T2的次數n,直到遍歷Center為止。
7) 若n小于等于2,則將樣本C生成的Canopy定義為異常類,其他Canopy定義為正常類,并將該異常類中的所有樣本定義為異常值[7]。
經過粗聚類確定K值大致范圍為3~6,接著將K值依次設定為3、4、5、6進行聚類,得出不同聚類結果,這樣做的目的是對比尋找最優K值。
3.2" 輪廓系數評價
輪廓系數主要通過凝聚度和分離度來評價聚類算法,通常評估結果在(-1,1)之間,數值越高表示聚類效果越好。
1) 數據點的輪廓系數
對于有[ni]個數據的數據集,假設樣本[ni]被聚類到簇G,對于輪廓系數[si]的定義應符合下列規則:
[si=yi-ximax(xi,yi)]" " " " " " (2)
式中:[xi]為樣本[ni]和相同簇G中其余樣本的平均距離;對于簇J即樣本中非簇G的簇,則有[N(i,J)]為樣本[si]與J中所有樣本的平均距離,那么[yi=minJ≠GN(i,J)]。
2) 數據集的輪廓系數
對于數據集的輪廓系數[sk]定義如下:
[sk=1ni=1nsi]" " " " "(3)
式中:n是數據集中的樣本個數;k是聚類次數;[sk]是平均輪廓系數。本文使用[sk]對聚類結果進行評價。
對于本數據集,計算不同簇內用戶在線時長到中心點的平均距離,再使用用戶的輪廓系數計算整個數據集的輪廓系數,最后采用輪廓系數評價聚類效果來選擇合適的K值。
4" 實驗結果與分析
4.1" 數據獲取與描述
本文采用一周的真實用戶訪問日志作為數據集,其中包含原始數據103 728 394條,主要提供的信息有:用戶帳號、訪問url、時間戳等字段信息。日志文件中以空格字符作為分隔符,每條記錄中共有14個數據,本文只保留時間戳、用戶帳號兩個特征字段,經過數據清洗后得到實驗數據10 423條。
4.2" 實驗結果
K?Means聚類K值分別為3、4、5、6時的結果如圖1~圖4所示。
圖中不同區域代表不同簇,其中的數字所在的位置是每一個簇的質心。
K值為3、4、5、6時的輪廓系數sk分別為0.48、0.51、0.49和0.48。輪廓系數隨K值的變化如圖5所示。
由圖5可以看出,在粗聚類結果范圍中產生了輪廓系數拐點,可以認為在拐點處K=4為最優值,即可以將用戶分為四類。
4.3" 方法性能評估
本文通過對數據集進行人工標注得到數據評價基線,并利用準確度、精確度以及召回率對方法的分類結果進行評價,結果如表1所示。
實驗結果表明,本文方法的準確度、精確度和召回率分別為0.918 0、0.768 5和0.809 3。
5" 結" 語
基于時間戳間距的用戶在線時長聚類方法將用戶分為四個類型,根據對用戶上網行為的分析,可以總結出四個類型用戶的行為特點。第Ⅰ類學生上網時間短,集中在早晨,可能具有良好的時間管理習慣;第Ⅱ類學生上網時長中等,偏向午后至深夜,可能是晚上有更多的自由時間;第Ⅲ類學生上網時間中等,與第Ⅰ類學生相似,也傾向于早晨上網,早操后利用設備查看消息、學習資料或進行其他活動;第Ⅳ類學生上網時間過長,存在網癮傾向,需要重點關注,可以建立專門的輔導機制,如心理輔導、網絡素養課程等,幫助他們認識到網癮的危害,并提供有效的戒網方法。
學校也應與家長溝通,共同關注學生的網絡使用情況,形成家校合作的良好氛圍。學校應全面關注學生的網絡使用情況,確保他們能夠在網絡時代健康成長。本文方法也可以擴展應用于其他場景下的用戶分類、市場調查等問題。
注:本文通訊作者為劉翼。
參考文獻
[1] 劉華.基于用戶行為分析的豆漿機產品設計研究[D].濟南:山東大學,2013.
[2] 海沫,張書云,馬燕林.分布式環境中聚類問題算法研究綜述[J].計算機應用研究,2013,30(9):2561?2564.
[3] 韓凌波,王強,蔣正鋒,等.一種改進的K?means初始聚類中心選取算法[J].計算機工程與應用,2010,46(17):150?152.
[4] 王建仁,馬鑫,段剛龍.改進的K?means聚類K值選擇算法[J].計算機工程與應用,2019,55(8):27?33.
[5] 胡偉.改進的層次K均值聚類算法[J].計算機工程與應用,2013,49(2):157?159.
[6] 楊俊闖,趙超.K?Means聚類算法研究綜述[J].計算機工程與應用,2019,55(23):7?14.
[7] 陳湘濤,李明亮,陳玉娟.基于時間序列相似性聚類的應用研究綜述[J].計算機工程與設計,2010,31(3):577?581.
[8] 郭玉彬,吳宇航,薄傲峰,等.基于認證數據的學生上網時間特征分析[J].計算機應用與軟件,2019,36(11):101?106.
[9] 程靜,劉家駿,高勇.基于時間序列聚類方法分析北京出租車出行量的時空特征[J].地球信息科學學報,2016,18(9):1227?1239.
[10] TANG Jinglei, ZHANG Zhiguang, WANG Dong, et al. Rese?arch on weeds identification based on K?means feature learning [J]. Soft computing: a fusion of foundations, methodologies and applications, 2018, 22(22): 7649?7658.
[11] 王曰芬,章成志,張蓓蓓,等.數據清洗研究綜述[J].現代圖書情報技術,2007(12):50?56.
[12] 林女貴,吳元林.基于改進K?means的大數據清洗方法[J].微型電腦應用,2021,37(11):133?136.
[13] 周黨生.大數據背景下數據預處理方法研究[J].山東化工,2020,49(1):110?111.
[14] 田海豐,任惠瑞,華生萍,等.基于改進K?means聚類的配電網工程數據預處理算法設計[J].電子設計工程,2023,31(12):137?141.
[15] 曾如明.K?means聚類算法的改進及其應用研究[D].南充:西華師范大學,2022.
[16] 藺小清.大數據時代K?means聚類算法應用于在線學習行為研究[J].電子設計工程,2021,29(18):181?184.
[17] 孫林,劉夢含,徐久成.基于優化初始聚類中心和輪廓系數的K?means聚類算法[J].模糊系統與數學,2022,36(1):47?65.