1. 程式人生 > >kaggle 經典案例掌握機器學習演算法的通用流程

kaggle 經典案例掌握機器學習演算法的通用流程

文章目錄

目錄

1 通過 kaggle 經典案例掌握機器學習演算法的通用流程

1.1 機器學習應用領域

  • 經濟相關 : 股市 、 房價等
  • 能源相關 : 產能預測 、 分配與合理利用
  • NLP 相關 : 檢索 、 分類 、 主題 、 相似度
  • 網際網路使用者行為 : CTR 預測
  • 銷量預測 : 電商 、 連鎖店 、 超市 …
  • 深度學習應用 : 影象內容理解
  • 推薦系統相關 : 電商推薦
  • 其他預測 : 氣候 、

1.2 機器學習常用演算法

1.3 常用工具

1.4 建模與問題解決流程

1.4.1 解決問題流程

  • 瞭解場景和目標
  • 瞭解評估準則
  • 認識資料
  • 資料預處理( 清洗 , 調權 )
  • 特徵工程
  • 模型調參
  • 模型狀態分析
  • 模型融合

學習參考連結:
http://blog.csdn.net/han_xiaoyang/article/details/50469334 http://blog.csdn.net/han_xiaoyang/article/details/52910022

1.4.2 資料預處理(清洗,調權)

  • 資料清洗
    不可信的樣本丟掉
     預設值極多的欄位考慮不用
  • 資料取樣
     下/上取樣
    保證樣本均衡
  • 工具
     hive sql/spark sql

1.4.3 特徵工程、模型選擇、交叉驗證

1.4.3.1 特徵工程

常見的特徵型別:

  • 數值型
  • 類別型
  • 時間類
  • 文字型
  • 統計型
  • 組合特徵

學習參考連結:
ApacheCN 預處理資料 preprocessing
ApacheCN 特徵提取 feature_extraction
ApacheCN 特徵選擇 feature_selection

過濾型:sklearn.feature_selection.SelectKBest
包裹型:sklearn.feature_selection.RFE
嵌入型:feature_selection.SelectFromModel;Linear model,L1正則化

1.4.3.2 模型選擇

學習參考連結:
ApacheCN 交叉驗證:評估估算器的表現 preprocessing

1.4.3.4 交叉驗證

學習參考連結:
ApacheCN 調整估計器的超引數 grid_search
ApacheCN 模型選擇:選擇估計量及其引數 model_selection

1.4.4 模型分析、模型融合

1.4.4.1 模型分析【模型狀態評估】

模型狀態:

  • 過擬合(overfitting/high variance)
  • 欠擬合(underfitting/high bias)

Learning curve: : 學習曲線
plot learning curve: : 繪製學習曲線 參考連結:https://www.zybuluo.com/hanxiaoyang/note/545131


分割線,以下內容需要繼續整合

1.4.4.2 模型融合

學習參考連結:
ApacheCN 整合方法 ensemble

1.4.4.2.1 概念

簡單說來 , 我們信奉幾條信條

  • 群眾的力量是偉大的,集體智慧是驚人的
    -Bagging
    • 隨機森林/Random forest
  • 站在巨人的肩膀上,能看得更遠
    • -模型stacking
  • 一萬小時定律
    • Adaboost
    • 逐步增強樹/Gradient Boosting Tree
1.4.4.2.2 Bagging
  1. 模型很多時候效果不好的原因是什麼?
    • 過擬合啦!!!
  2. 如何緩解?
    • 少給點題,別讓它死記硬背這麼多東西
    • 多找幾個同學來做題,綜合一下他們的答

  1. 用一個演算法
    • 不用全部的資料集,每次取一個子集訓練一個模型
    • 分類:用這些模型的結果做vote
    • 迴歸:對這些模型的結果取平均
  2. 用不同的演算法
    • 用這些模型的結果做vote 或 求平均
  3. 用多種predictor結果作為特徵訓練
1.4.4.2.3 Stacking
  1. 用多種predictor結果作為特徵訓練
1.4.4.2.3 Boosting Adaboost

考得不好的原因是什麼?

  • 還不夠努力,練習題要多次學習 -> 重複迭代和訓練
  • 時間分配要合理,要多練習之前做錯的題 -> 每次分配給分錯的樣本更高的權重
  • 我不聰明,但是腳踏實地,用最簡單的知識不斷積累,成為專家 -> 最簡單的分類器的疊加

1.5 kaggle wili案例

2 經濟金融案例實踐:房價與股市預測

  1. 解決高緯資料分類/迴歸問題
  2. 案例
  3. 非標準資料處理

3 計算機廣告實踐:排序與CTR預估問題

4 通過 KDD2013 比賽實踐 NLP 問題