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

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

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

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

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

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

  • 時間序列分析能夠進一步參考《時間序列分析及應用》——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 個分析結果給出改進建議。
相關文章
相關標籤/搜索