---
# System prepended metadata

title: 帳號分析 hash string clustering 210105
tags: [Progress Report]

---

# 帳號分析 hash string clustering 210105

---
## 本週實驗
延續上週實驗內容並調整 hash function，希望以藉此將群心數增大且不會overfitting

### 實驗方法
#### 與上週不變步驟
- 原始資料取10000筆，並用正則表示式過濾掉含特殊字元的帳號
- 過濾後剩餘9560筆
- 建立三種帳號，每種帳號各 50 個，總計 150 筆，規則如下。
    1. 'hm0000'+流水號
    2. 'ssu'+流水號+'ssu'
    3. 'asd'+流水號+'asd'
    - (流水號範圍 0~50)
- 將原始資料 9560 筆與流水號帳號串接，共 9710 筆帳號作為 test data
- 將過濾後的帳號透過hash function轉成數值，並將此hash value與帳號長度做為Kmeans feature
- 用Kmeans做分群並將結果匯出觀察
- 觀察各群數量分布與分群後是否有overfitting的情況
- 初步分群後，將各群再做minimum edit distance matrix
- 確認分群後產生MED矩陣所需時間
#### 新增步驟
- 於hash function中增加對數字的處理
    - 將所有數字的hash value調整為1
- 目的為減少數字對於整個字串的影響，同時仍保留數字的存在
    - 如上週會分至不同群的流水號：hm00003、hm000013
    - 上述案例未處理前兩個流水號的hash value為：456、505 (+- 49)
    - 經過處理後hash value分別為：218、219 (+- 1)


### 實驗結果
- 從10群至200群依然沒有overfitting的情況發生
- 因200群做MED的時間已有大幅度的降低，因此暫時沒有再往上確認群心數的極限
- 運行時間優化過程 (皆10000筆資料量，做MED)
    - 完全沒有初步分群直接做 (memory crash)
    - 分10群 (550 sec)
    ![](https://i.imgur.com/2e50ZfR.png =500x)
    - 分200群 (45 sec)
    ![](https://i.imgur.com/yiYdkK0.png)
#### 分群結果 (K = 200)
- https://docs.google.com/spreadsheets/d/1oCmO8gjvLjC0Jbm4XE7odbKNNKBp73EiXaoZW7-gcEs/edit?usp=sharing

![](https://i.imgur.com/QLDTU7X.png =400x)
![](https://i.imgur.com/HQJ2UHW.png =400x)
![](https://i.imgur.com/DG68OXK.png =400x)
![](https://i.imgur.com/Senpizv.png =400x)
![](https://i.imgur.com/wclMz2P.png =400x)


###### tags: `Progress Report`