# 帳號分群 打包程式說明文件 ## 開發環境 ### 語言 - Python ### 檔案結構 ``` ├── account_clustering.py # [執行檔] 帳號分群 ├── data # [資料夾] 輸入 & 輸出資料存放 ├── *.csv # 欲做分群的帳號資料 (輸入) ├── kmeans_clusters.csv # Kmeans 分群結果 (輸出) ``` ### 環境需求 * numpy==1.18.4 * pandas==1.0.3 * tqdm==4.50.2 * matplotlib==3.2.1 * scikit-learn==0.23.2 * scipy==1.5.2 ## 程式說明 ### 輸入檔案格式 - 需為.csv檔 - 所有分析資料需放在同一個column (預設為nickname,可於參數設定調整) ### 參數設定 ``` root_folder_path = './data/' # 輸入輸出資料存放位置 (預設/data/) data_filename = 'test.csv' # 欲做分群的帳號資料檔名 (輸入) data_column = 'nickname' # 所取資料的欄位名稱 # Regular expression 預設為處理英文與數字組合之帳號 (可視需求做調整) rule = re.compile(r'[A-Za-z0-9 _]*[A-Za-z0-9][A-Za-z0-9 _]*') ``` - 確認參數無誤即可直接執行程式 ### 執行方式 ``` $ python account_clustering.py ``` - 執行後會有兩項設定(因兩參數調整頻率較高,於執行過程設定避免每次調整都改source code) - Kmeans 分幾群 (設定值需大於1且小於資料總數) ``` How many Kmeans groups (at least 1): ``` - 選擇何群做Hierachical clustering (檢視 kmeans_clusters.csv 的 label 後決定) ``` Choose one group for hierachical clustering (Range: 0 ~ k - 1): ``` ### 輸出結果 #### kmeans_clusters.csv ``` # 欄位說明 name_arr # 帳號名稱 values_all # hash value word_len # 帳號長度 label # Kmeans 分群結果 ``` #### 彈出視窗 (matplot 圖形) - Kmeans - 各群分佈  - Hierachy - 細部分群樹狀圖  - **彈出視窗皆有放大、縮小、匯出圖檔功能** ###### tags: `Progress Report`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up