Upgrade to Pro — share decks privately, control downloads, hide ads and more …

資料視覺化工作坊

tlyu0419
November 16, 2022

 資料視覺化工作坊

- 資料視覺化工作坊
- 2022-11-15 19:00-21:00
- NUUC 數理資訊社

tlyu0419

November 16, 2022
Tweet

More Decks by tlyu0419

Other Decks in Technology

Transcript

  1. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 游騰林

    國泰世華銀行 | 數據部 | 資料科學分析師 Facebook: https://www.facebook.com/tlyu0419 SD: https://speakerdeck.com/tlyu0419 Github: https://github.com/TLYu0419/ 2
  2. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 5

    Ref: Same Stats, Different Graphs 相同的均值、標準差以及相關係數(?
  3. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 7

    Ref: 可支配所得平均連8年慘輸!大學64.37萬vs.專科66.64萬 大學真的不如專科嗎? 而到底該不該繼續唸研究所?
  4. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 8

    待遇在4萬 以上的比例 Ref: 產業、應用與待遇 - Python 在勞動市場中的職缺分析 有人知道這張圖塞了幾個維度的資訊嗎?
  5. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 9

    Ref: 小米笔记本被疯狂吐槽,这可能恰恰是雷军想要的效果_百科TA说 視覺化能幫忙提升行銷的效果?*
  6. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 10

    Ref: The $100 Trillion Global Economy, by Country 將各國的 GPD 以面積的方式視覺化 幫觀眾快速了解各洲/各國的狀況
  7. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 11

    Ref: 與Bourdieu相約巷仔口咖啡店:台灣人的階級品味如何? 通過對應分析將類別資料的交叉表降維 找出不同社會階層的文化品味差異 社會學的觀點認為 每個人背後都有一個看不見的階級, 而不同階級的人會有明顯的生活品味差異
  8. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 12

    Ref: 誰識KOL? 2020台灣總統大選在 Facebook 上的社群網絡分析(II) 帶職參選 博士論文 庶民總統 國家認同 政績評論 香港民主 小英加油 韓的負面議題 藍綠都一樣 韓國瑜 蔡英文 宋楚瑜 網路聲量高的候選人就會當選嗎?
  9. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 13

    Ref: 行動寬頻用戶數排名!最受歡迎的電信是? 簡單的長條圖也可以很 Fancy~
  10. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 14

    Ref: https://www.bbc.com/news/world-latin-america-63451470 2022巴西總統大選 (亞馬遜雨林保育派勝出了一點) 波索納 鼓勵亞馬遜雨林的開發,威脅要讓巴西退出世界衛生組織 和巴黎氣候協定 魯拉 保護亞馬遜雨林、對抗飢餓、貧窮
  11. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 15

    用表格數據一樣可以呈現地圖樣貌, 但在閱讀和理解上遠遠比不上直接畫出來來得直接
  12. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 16

    Ref: 用python分析《三国演义》中的社交网络
  13. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 17

    1. 客戶沒有耐心找他需要的服務 2. 自助服務無法解決客戶問題
  14. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 19

    預 測 離 職 預 測 不 離 職 實際離職 實際不離職
  15. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 20

    美國眾議院議長 裴洛西訪台 公司治理 俄烏戰爭 費城半導體指數 美國晶片法案 日月光投控 楠梓產業園區 節能減碳 富邦特選高股息 汽電共生 美國升息 道瓊工業指數 後疫情時代 日召開法說會 新冠肺炎疫情 大陸封 歷史次高 桃園市長參選人 國安基金護盤 消費者物價指數 新竹市立棒球場 次現金增資 美晶片法案 中國封城 波洛西訪台 央行升息 台灣出口 國泰永續高股息 都市更新 大陸封城 美中關係 防疫保單理賠 資產管理公司 中國半導體產業 股盈餘達 業外獲利 台日關係 抗病毒藥物 上海封城 消費者信心指數 桃園國際機場 美國制裁 台出口天然砂 創辦人暨執行長 離岸風場開發 俄烏衝突 圍台軍演 日召開法說 氫燃料電池 中國封城影響 國艦國造 台美關係 台北晶華酒店 次高紀錄 最高行政法院 第四次台海危機 兩岸關係緊張 年營收可望達 季創新高 外送平台 最新民調 次台海危機 全明星運動會 疫情指揮中心 確診新冠肺炎 防疫險理賠金額 感染新冠肺炎 疫情封城 邊境管制 年獲利創 營收可望逐 兒童新樂園 最新出爐 獲利表現亮眼 矽晶圓長約 總統教育獎得主 首季獲利 年累計稅後 中國侵台 世界盃少棒錦標賽 印太戰略 中美對抗 令人意外 壽險公會理事長 染疫後 眾議院議長訪台 蘋果頭戴裝置 公會改選 美國就業數據 半導體進入庫存 邊境開放 治療新冠肺炎 中國軍演影響 遠傳網路門市 資費最低 南韓半導體產業 次世代疫苗 美國能源投資 離岸風電國產化 美中台敏感神經 全球首座 台灣大學新聞 中央流行疫情指揮 繞台軍演 中國經濟成長 美元兌日圓 新型冠狀病毒核酸 中國記憶體晶片製造 商 烏俄戰爭 上海封城 佩洛西訪台 晶片法案 疫情理賠 中美對抗 桃園市長選舉 中美對抗
  16. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 21

    Ref:咖啡基因 印尼曼特寧 意式拼配濃縮深烘焙 埃塞俄比亞 耶加雪菲
  17. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 資料介紹

    27 • 黑特東華分析專頁 • 15K likes • 16K followers • 11,000+ posts • 黑特東華 NDHU Hate | Facebook • 來自各方的黑特文 • 教、職、員、工、生、店家 • 可以將黑特文視為客訴, 天生就適合用來找出學校的問題 在實際的工作中, 一項重大客訴的處理成本要高達 3,000 元
  18. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 28

    資料收集方式 • Github: TLYu0419/facebook_crawler • Publish Date: 2021-06-14 • Stars: 205 / Forks: 43 簡單 高效 免登入
  19. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 30

    資料內容 總共 11,468 則貼文,資料時間範圍: 2014 ~ 欄位說明: • NAME: 粉絲專頁名稱 • POSTID: 貼文ID • TIME: 貼文時間 • MESSAGE: 貼文內容 • REACTIONCOUNT: 總互動數(LIKE, HAHA,WOW…) • COMENTCOUNT: 留言數 • SHARECOUNT: 分享數 • LIKE, HAHA, WOW, SAD, LOVE, CARE: 各種情緒的數量
  20. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 34

    文字雲(不分類) • 將黑特東華上的所有貼文 做 斷詞 後,根據出現次數 設定為詞的大小,藉此繪 製出的文字雲 如果未預先對文本進行分群/分類, 繪製出的文字雲將沒有任何意義! (也看不出個所以然)
  21. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 文本轉向量

    35 [-1.27, -3.76, … , 0.05, -0.57] [深夜在校園遇到…] [ 0.08, -1.25, … , -5.52 , 0.13] [這是一個真實的…] [ 0.57, 0.17, … , -0.63, 0.03] [就在今天我在…] [ 0.21, 0.91, … , -0.14 ,0.22] [……] 語言模型 11,468 則貼文 文本特徵 [-1.27, -3.76, … , 0.05, -0.57] [ 0.08, -1.25, … , -5.52 , 0.13] [ 0.57, 0.17, … , -0.63, 0.03] [ 0.21, 0.91, … , -0.14 ,0.22]
  22. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 透過文本向量進行分群

    36 此處以 2 維空間示意 (在這個分析案中用了 512 維) 分群流程說明 1. 透過轉換後的文本向量進行分群 1. 想像不同的文本是不同的人,X 和 Y 軸分別 代表身高和體重 2. 我們可以將人依據身材分成不同的群 2. 跑分群模型,測試不同分群數時的效度 3. 解析分群的結果與意義 問題的關鍵在於轉換出的文本向量好不好 理論上語義相近的文本的距離要接近,反之較遠
  23. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 早期的方式(2013)

    : 詞向量模型 • 以詞的共現關係來訓練模型 • Cbow • Skip-gram • 取得詞向量 • 經過模型訓練後,可以將每個詞 轉換為 K 維的數值 • 後續應用 • 以詞向量取代詞本身進行分析 38 Ref: 通俗易懂理解——Skip-gram和CBOW算法原理 通常會將 K 值設定在100 - 400維 具體會再根據文本數量、複雜度調整 詞向量的訓練方式 – window size = 1
  24. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 早期的方式(2013):

    詞向量模型 – 範例 • 這是 word2vec 模型 通過 黑特東華 11,000 則貼文後,學習到的詞向量 • 取得各個詞之後我們就能計算不同詞之 間的距離,並通過距離還衡量兩兩間的 相似度 • 詞向量的結果會跟主觀經驗有一些落差,因 為模型能學習的資料僅限於這些貼文 • 然而即使是人,在評估不同詞之間的相似度 其實也會存在落差 39
  25. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 近期的方式(2020):

    🤗 Transformers • Hugging Face (github.com) • Hugging Face 官宣 1亿美元C轮 融资,估值20亿美元 40 Ref: Transformers: State-of-the-Art Natural Language Processing
  26. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Sentence-Transformer

    使用方式 1. 安裝套件 2. 載入模型 3. 將文本轉向量 41 Ref: Sentence-Transformer的使用及fine-tune教程 Sentences 即是我們抓取的貼文,將其放入 Sentence-Transformer 的模型抽取文本的向量
  27. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 抽取文本向量

    42 以簡化的 2 維空間示意 經過 Sentence-Transformer 將貼文都轉成向量 後面就能再接分群模型對文本做分群 [-1.27, -3.76, … , 0.05, -0.57] [ 0.08, -1.25, … , -5.52 , 0.13] [ 0.57, 0.17, … , -0.63, 0.03] [ 0.21, 0.91, … , -0.14 ,0.22]
  28. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 分群模型

    • Kmeans 分群演算法 1. 決定要將資料分為 k 群 2. 隨機初始化 k 個點在資料空間的位置 3. 計算每個樣本最靠近哪個k點 4. 計算群中心,並更新 k 的點的位置 5. 反覆做 3 – 4 的步驟直到收斂 43 Kmeans 分群迭代過程 但是問題的關鍵在於 k 值如何決定?
  29. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 分群模型

    – 如何決定分群組數 • 如何決定合適的分群組數 • By 統計指標 • Elbow • Silhouette • Gap statistic • By 領域知識 • 分群組數沒有絕對的對或錯 • 顆粒度粗: 模型可能會說有一群貼文都在討論學生宿舍的議題 • 顆粒度細: 模型可能會再將宿舍議題拆分成 宿舍的環境 的問題、宿舍的安寧等等的問題 44 Ref: 2.3. Clustering — scikit-learn 1.1.2 documentation 分群的顆粒度太粗會看不出東西, 分的太細也會增加後續分析的工作量,喪失分群的目的 Elbow point
  30. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 整體流程回顧

    • 步驟1: 斷詞 • 新增 SEG_MESSAGE 欄位 • 步驟2:找出代表關鍵詞 • 新增 TFIDF_KWS 欄位 • 步驟3: 抽取文本向量 • 新增 DOC_VECTORS • 步驟4: 分群模型 • 新增 CLUSTER 欄位 45
  31. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 各分群貼文數的長條圖

    • 在這次的分析中我共分了 40 群,X軸是不同的分群結果,Y軸為數量 • 如下圖的觀察,有些議題的貼文數較多,有些議題則較少 46
  32. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 黑特議題

    48 交通安全 1,383 則貼文 宿舍環境 983 則貼文 感情問題 451 則 我先挑出幾個數量較多的議題做討論, 後面還有其他許多類型但數量相對較少的貼文
  33. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 東華大學的組成成員

    49 學校一/二級主管 1 2 2 3 學生 家長 店家/房東 其實還有 畢業校友 / 地方居民…等等不同角色 稍後要請大家切換到不同身份來想事情 • 校長 / 學務長 / 教務長 / 學院院長 • 各系所主管/教授 • 各系所學 / 碩 / 博士班學生 • 學生家長 • 校內外餐飲店家 • 校外房東
  34. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 交通安全

    • 交通安全的子議題 • 停車擦撞/賠償 • 違規/違停 • 麵包坡 • 車禍 • 背後的關係人與關心的事情 • 學校&家長: 降低事故、校園安全 • 學生: 交通便利性 50 Cluster Num: 19, 30, 37, 16, 21
  35. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 宿舍環境

    51 • 宿舍安全的子議題 • 吵鬧: 深夜玩遊戲/講電話 • 公德心: 泡麵倒在飲水機/冰箱清理 • 洗衣服: 衣服被誤/偷拿 • 垃圾分類 • 背後的關係人與關心的事情 • 學校: 希望學生能和諧相處 • 學生: 有人想玩遊戲,有人想要正常作息 Cluster Num: 3, 9, 22, 28
  36. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 感情問題

    52 • 感情問題的子議題 • 吵架 • 分手: 分手衍生受傷/抹黑攻擊 • 劈腿 • 背後的關係人與關心的事情 • 家長 • 學生 Cluster Num: 27, 29
  37. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 分群總覽(1/2)

    53 分群0 分群1 分群2 分群3 分群4 分群5 分群6 分群7 分群8 分群9 分群10 分群11 分群12 分群13 分群14 分群15 分群16 分群17 分群18 分群19
  38. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 分群總覽(2/2)

    54 分群20 分群21 分群22 分群23 分群24 分群25 分群26 分群27 分群28 分群29 分群30 分群31 分群32 分群33 分群34 分群35 分群36 分群37 分群38 分群39