《python數據分析與挖掘實戰》-張良均


【讀書筆記與思考】《python數據分析與挖掘實戰》-張良均

最近看一些機器學習相關書籍,主要是為了拓寬視野。在閱讀這本書前最吸引我的地方是實戰篇,我通讀全書后給我印象最深的還是實戰篇。基礎篇我也看了,但發現有不少理論還是講得不夠透徹,個人還是比較傾向於 《Machine Learning》--Tom M.Mitchell,Andrew 的 machine learning 課程,或周華志的《機器學習》,Jiawei Han 的 《data mining》。相對於本書的基礎篇,這些側重於理論基礎的課程和書籍對基礎模型的理解和闡釋要更系統化。另外,值得注意的是本書基礎篇有多處錯誤,比如高斯分布的公式,閱讀時應當留意。

機器學習的工程實踐過程大致可分為如下幾個步驟:問題抽象、確定目標、采集數據、數據預處理(探索、清洗和變換)、模型選擇與構建、模型評價和模型應用。

  • 其中問題的抽象和目標確定很關鍵,只有充分的理解“我們想要什么”才能更好的去思考“如何做”。
  • 數據采集的手段多種多樣,常見的有傳感器、互聯網數據庫、爬蟲等,采集的手段往往和業務背景密切聯系。
  • 數據預處理,這個環節往往要耗費大量時間並且需要靈活的思考,為了保證數據的質量這一步驟尤為關鍵。我們需要調研一些領域知識,基於領域知識和統計特征對數據進行前期的探索,在進一步清洗的基礎上進行數據變換,即特征提取。特征工程往往是模型成敗的關鍵,這里需要多加思考、聯合領域知識並反復嘗試評估。
  • 模型選擇與構建,機器學習和數據挖掘發展至今已經有很多成熟的模型可供使用。很多時候我們需要基於業務的場景以及任務目標對比不同的模型進行選擇。我們需要深入理解模型的原理、應用場景和優缺點。
  • 模型的評價,機器學習的最終目的是降低泛化誤差,然而我們只能通過有限的數據(訓練數據)對其進行近似計算。如何根據不同的任務,選擇合適的指標對模型進行評估很關鍵。比如回歸問題的 RMSE。分類問題的 accuracy, precision, recall, f1-scall 等。充分利用圖表,比如 ROC等。
  • 模型的應用,對資源、模型的實時性等方面進行綜合考慮。我們需要定期的更新我們的模型以適應環境的變化。

本書涉及的主要內容包括時間序列分析分類回歸預測關聯關系挖掘推薦系統。以下是我讀過的一些書籍整理,可以作為進一步的擴展。這里還想到了本科時學的《數學建模》,實際上和數據挖掘的流程很相似。

  • 時間序列分析可以進一步參考《時間序列分析及應用》——Jonathan D.Cryer,《Time Series Analysis and Its Applications with R examples》-- Robert H. Shumway。相對於 Python,其實 R 在時間序列分析上的支持更為完善。
  • 統計機器學習(分類,回歸預測):sklearn 官方的 tutorial 我覺得很好,理論的話,《Machine Learning》--Tom M.Mitchell,Andrew 的 machine learning 課程,或周華志的《機器學習》。
  • 數據挖掘:最為經典的Jiawei Han 的 《data mining》,其中涉及了數據挖掘的基本流程和方法、數據處理、數據倉庫、分類、預測、異常檢測、關聯關系挖掘等內容。“Data Mining”--Charu C.Aggarwal,其特點是加入了時序數據處理的內容,可作為進階內容。
  • 推薦系統:《推薦系統實踐》——項亮,很好的入門書籍。
  • 關於工具,我覺得官網的 tutorial 是很好的入門資料。

我沒有動手實操,閱讀旨在拓寬自己的視野,也是出於對各個行業如何應用機器學習的好奇。如果時間有余的讀者不妨過一遍書本的例子,應該會有更深的認識。此外通過 kaggle 等比賽平台去進行實踐也是不錯的。

總的來說,對於 data driven 的工程實踐還是應該做足調研,幾乎不可能有一個全新的方向和全新的難題。因此學會在巨人的肩膀上去拓展很重要,尤其是在數據科學這一交叉領域,注意團隊合作。平時注重積累,處理問題發散思考很重要,很多特征的設計都很巧妙且有意思。

完整版,更多內容

概要總結

作者:張良均、王路、譚立雲、蘇劍林
注意:這本書有多處地方有誤,尤其是公式推導部分。

  • 基礎篇
  • 實戰篇
    • 06. 電力竊漏電用戶自動識別:基於 5 年所有竊電用戶的有關數據(用戶基本信息,各種用電功率等)對竊電用戶進行識別。基於目標對數據進行清洗,缺失值填充。基於領域知識構建了 3 個指標:電量趨勢下降指標-用電量趨勢,線損指標-線損增長率,告警類指標-與竊漏電相關的終端告警數。基於 3 個指標利用 Keras 構建 LM 神經網絡模型,准確率為 94%;Scikit-Learn CART 決策樹的准確率為 94%。使用 ROC 曲線對模型進行評估。
    • 07. 航空公司客戶價值分析:借助航空公司客戶數據對客戶進行分類,在此基礎上對不同類客戶進行對比分析發現有價值的模式。基於分析結果提供個性化服務,制定相應的營銷策略。基於領域知識了解到 LRFMC模型,由此可計算 5 個關鍵指標作為特征,分別為客戶關系長度 L, 消費時間間隔 R, 消費頻率 F, 飛行里程 M 和折扣系數的平均 C。采用 k-means 聚類划分用戶群,采用圖表的形式分析不同用戶群的特點並制定營銷策略。
    • 08. 中醫證型關聯規則挖掘:借助三陰乳腺癌患者的病理信息,挖掘患者的症狀與中醫證型之間的關聯關系。對截斷治療提供依據,挖掘潛在性證素。由於醫療數據的缺乏,通過問卷調查的形式獲取數據。問卷調查僅針對患病者並且具有一定中以診斷學基礎,能清除的描述病情。根據領域知識得到 6 種證型得分作為后期模型分析的基礎。采用Apriori 算法進行關聯關系挖掘,注意選擇合適的最小支持度、最小置信度。
    • 09. 基於水色圖像的水質評價:有經驗的從事漁業生產的從業者可通過觀察水色變化調控水質,以維持養殖水體生態系統中浮游植物、微生物、浮游動物等合理的動態平衡。我們期望通過機器學習的方法將這一過程自動化。通過拍攝照片獲取不同水質的圖片。這里我們還需要通過專家對數據打 label,這個過程很是費時費力,並且質量獎影響整體模型的效果。使用直接提取的方式對圖片進行切割,在此基礎上計算 一階顏色矩,二階顏色矩,三階顏色矩 3 個特征。將特征向量輸入到 svm 分類器中,這里有個需要注意的細節,征的范圍都在 0~1 之間,如果直接輸入 SVM,彼此之間區分度會比較小,因此不妨將所有特征統一乘以一個適當的常數 k,經過反復測試最佳的 k=30。
      實際上對於圖片的處理,現在大多都直接采用 DNN,尤其是 CNN 在圖像處理中表現出非常好的效果。
    • 10. 家用電器用戶行為分析與事件識別:對熱水器使用中的用水事件進行識別。分析過程涉及到領域知識和基於數據觀察的手工特征,並沒有涉及太多的模型,幾乎都是基於閾值進行數據的處理。最后使用 BP 神經網絡進行分類識別,准確率 85.5%。
    • 11. 應用系統負載分析與磁盤容量預測:這是時間序列預測的一個典型案例,主要涉及到 ARIMA 模型應用的細節。
    • 12. 電子商務網站用戶行為分析及服務推薦:這是推薦系統的一個應用實例。爬蟲獲取數據,數據的探索分類,這一過程占了不少工作量。基於物品和基於用戶的協同過濾推薦之間的權衡。為用戶和物品之間建立關系,使得用戶更容易發現潛在有價值的物品,同時使得長尾物品更容易被發掘出來。基本步驟為(1)計算物品之間的相似度;(2)根據物品的相似度和用戶的歷史行為給用戶生成推薦列表。對於推薦系統的評價應該考慮 3 個方面:用戶、物品提供者和提供推薦系統的網站。
    • 13. 財政收入影響因素分析及預測模型:通過 Adative-Lasso 模型進行特征選擇。灰色預測與神經網路組合模型進行預測。
    • 14. 基於基站定位數據的商圈分析:計算 4 個指標,工作日上班時間人均停留時間、凌晨人均停留時間、周末人均停留時間、日均人流量。基於以上 4 個指標進行層次聚類,根據譜系聚類圖可以聚成 3 類。通過圖表觀察每個簇的特征。“軌跡挖掘”是一個新興的研究主題,尤其是面向拼車推薦應用是軌跡挖掘。
    • 15. 電商產品評論數據情感分析: 主要是主題模型的應用。“八爪魚”爬蟲工具爬取評論數據,並進行文本去重、機械壓縮去詞和短句刪除等數據預處理操作。(1)構建情感傾向性模型對評論進行分類,即分為正面、負面和中性 3 類評論。這里有兩個關鍵點,一個是文本的表示,訓練棧式自編碼網絡;另一方面是類別標注,人工標注費時。本案例使用 ROST 系統完成情感傾向性分析的任務。(2)基於語義網絡的評論分析,抽取正面、負面兩組,以進行語意網絡的構建與分析。由於中性評論過於復雜本案例沒有進一步分析。(3)基於 LDA 模型的主題分析,針對正面和負面的文本分別使用 LDA 發現潛在的主題。基於前 3 個分析結果給出改進建議。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM