---
# System prepended metadata

title: 帳號分析 Hierarchical Clustering
tags: [Account Analysis, Progress Report]

---

# 帳號分析 Hierarchical Clustering

## Info

`nickname_email_alike.csv`

* 總筆數: 168745
* 暱稱語系分佈:
    * en    51125
    * vi    25605
    * th    21614
    * zh    13660
    * de     7879
    * ...  
    * kk        3
    * uk        3
    * as        2
    * sr        1
    * mn        1

## Preprocessing

### Embedding

使用 word2vec 做 embedding，參數如下:

```python
# word2vec Settings
seed = 666          # 亂數種子
sg = 0              # Word2Vec 有兩種算法，CBOW 以及 Skip-gram，這裡選擇了訓練比較快的 CBOW
window_size = 10    # 周圍詞彙要看多少範圍
vector_size = 100   # 轉成向量的維度
min_count = 1       # 詞頻少於 min_count 之詞彙不會參與訓練
workers = 8         # 訓練的並行數量
epochs = 5          # 訓練的迭代次數
batch_words = 10000 # 每次給予多少詞彙量訓練
```

## Clustering

使用 `scipy.cluster.hierarchy.linkage (metric='euclidean',method='ward')` 計算，`scipy.cluster.hierarchy.dendrogram` 繪圖，但由於資料太多不好繪圖，所以這邊先只取 500 筆英文的暱稱出來觀察

* 結果圖

    ![](https://i.imgur.com/7gMz5tK.png)

* 發現只有有部分詞相同的才會被分到同一群
    * ==Anh==,  ==Anh== Seven
    * (Phuong ==Pham==, (==Pham== Thu, Luan ==Pham==))

    ![](https://i.imgur.com/QKHKRlQ.png)
    * Tin Hoang, Sam Hoang, Tho Hoang
    * Huynh Adina, Lan Huynh, Tin Huynh 
    ![](https://i.imgur.com/t2NYWxd.png)
    
* 有發現有很像的帳號但是因為 embedding 的關係被視為不同詞
    * moon, Moon2019
    * W, wj
    ![](https://i.imgur.com/y9R11oe.png)

## Discussion

* 之後預處理可能要轉成全小寫
* 數字視為單一字詞做 embedding?
    * Moon2019 -> (moon, 2, 0, 1, 9)
* 每個字母都看做單一字詞?
    * Moon2019 -> (m, o, o, n, 2, 0, 1, 9)

* 單取 500 筆感覺分不出差異，但是資料量過多不好檢視分群的結果


###### tags: `Progress Report` `Account Analysis`