資料工程(for 廣告流量)
目錄
一、技術一覽
二、資料爬取&清洗
三、資料分析
四、機器學習
五、AI相關主題
一、技術一覽
語言:Python.
資料爬取:Requests, Selenium, etc.
資料分析&清洗:NumPy, Pandas, Jieba, re, seaborn, matplotlib, etc.
機器學習:Scikit-Learn.
DB:BigQuery, Mysql, Redis.
排程監控管理:Prefect.
工具:Jupyter, Visual Studio Code
版控:Git
二、資料爬取&清洗(ETL)
案例:
【資料爬取 - 爬蟲&其它】
- 透過解析 HTML 取得網頁資料,例如「個人專案」中AI工具數據分析儀表板就是透過Request爬取。
- 透過解析網站 API 進行資料爬取。
- 透過解析業務提供的文件(csv, json 等)取得資料。
【資料爬取 - 資料庫】
- 將 BigQuery, Mysql, Clickhouse 的資料取出,,進行清洗或者分析、報告製作等。
【資料清洗】
根據「爬蟲」、「資料庫」中取得的資料,根據不同業務場景進行清理,例如需要「刪除重複值」、「一致化」、「異常值處理」等,詳細可以查看我過往寫的這一篇資料清洗文章。
清洗後的資料,根據業務需求的不同以及資料規模大小,會將這些資料儲存至不同的 DB(BigQuery, Databricks, Mysql, Redis(作為即時 Cache)等)。
三、資料分析
案例
【資料分析 - 工作(廣告受眾流量)】
- 合作媒體(中時、自由、鉅亨網、愛料理等)用戶流量分析
- 站內(LiTV, ofiii)用戶行為分析(喜歡看什麼影片、活躍時間等)
- 廣告受眾包成分分析(因應 Browser Cookie 的生命週期,來預測投遞成效)
- 合作的電信(遠傳、中華等)流量分析
- 有效&無效用戶流量分析
- 家戶資料分析
【過往資料分析需注意事項】:
- 分析時數據平均也需查閱四分位數的分佈概況。
- 繪製圖表也立於知道其分佈概況,例如是否呈現常態分佈、拉普拉斯、二次分佈等,呈常態分佈的欄位特徵通常較利於機器學習。
- 注意常見數據謬誤,例如沒有再拆分數據導致的辛普森悖論、看到有利數據就立刻斷定而出現的伯克松悖論(以偏蓋全)、圈選特定範圍的數據進行分析導致的神槍手謬誤等,都是需要時刻謹記。
四、機器學習
案例
【機器學習 - 工作(廣告受眾流量)】
- 用戶 K-Means 分群(分群類型:傾向(如新聞網常看特定文章)、來訪頻率等)(目的:找出相似用戶群體,進行受眾打包)
- 使用 Random-forest 預測未來24小時內的流量。(目的:控制廣告流量預算(Pacing),避免讓廣告流量再第一時間就全部消耗殆盡)BCS 系統(點我查看詳情)
- 使用 XGBoost 預測有效&無效用戶
【注意事項】:
- 防止 Overfitting?確保一定的資料量、良好的特徵工程(例如經典題目鐵達尼號在預測年齡上,可以透過名字稱謂去取平均值或者透過模型預測新的年齡,將缺值補上,來達到更高的預測率)、適合的模型(簡單問題可選擇簡單模型,例如 Perceptron)、減少特徵或降低複雜度(L1, L2正規化)等。