日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习建模流程

發布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习建模流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

機器學習實戰

機器學習三把斧

1.數據清洗

1.1缺失值的處理

某一列的特征缺失值達到40%左右,刪除這個特征值;或者某一個樣本的缺失值過大,那么刪除這個樣本。

而當某個特征的缺失值較少的時候,不能刪除這個特征。

建模預測:把缺失值當做模型的預測值,用預測的值填充缺失值

多重插補:前向填充,后項填充

高維映射:就是把缺失值作為一個新的類,只對分類的變量比較好,在廣告CTR(點擊率)

1.2異常值的處理

異常:真實的異常,記錄的異常。

真實的異常:本來就是這個值,只是和其他樣本偏移較大

記錄的異常:本來是10,記錄成100

1.3數據分桶

數據分桶主要就是連續數據離散化,比如年齡,0-10,10-20,20-30等,然后編號1,2,3

數據分桶可能提升樹模型的魯棒性

1.4數據的標準化

回歸中標準化使用較多,分類中大部分也使用,但是分類中的決策數就不需要標準化

2.特征工程

2.1特征構造

對時間的處理

比賽中要看訓練集和測試集的特征分布是否一致,刪去不一致的特征

2.2特征選擇

可能經過特征構造后,你的特征變成成百上千,這時候就需要先進行特征過濾,用集成學習如XGboost等算出每個特征的權重。

2.3特征工程示例

3.模型調參

3.1理解模型

調參的時候首先要理解你使用的模型,了解模型的優點和特性,比如線性回歸模型基于標簽是高斯分布的

3.2評估性能

評估函數不同,模型的性能可能不一樣,比如MSE對異常值很敏感,如果A模型誤差為0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,5 ;B模型誤差為1,1,1,1,1,1,1,1,1,1。用MSE判斷A=25.09,B=10。而用MAE,A=5.9,B=10 。

所以如果使用MSE評估,那么就需要特別對異常值進行精確的處理。不同的評估函數重點考慮的方面是不一樣的

有個評估函數后,接下來就是驗證方法,比如交叉驗證,留一驗證,以及時間序列的切分一個時間段去預測。交叉驗證是目前比較好的驗證方式,但是當你的數據特別大比如幾個G,預測一次都需要好久,非常需要內存的話可以考慮切分驗證(80%訓練,20評估)。

時間序列樣本是不能做交叉驗證和留一驗證的,可能會存在數據信息的泄露。往往是根據時間進行切分構造一個和測試區間類似的區間預測

3.3模型調參

網格搜索特別花費時間,比如按上圖如果是五折交叉驗證就需要計算36*5=180次的計算。

4.模型集成

前面的特征工程和模型調參在比賽過程中會反復的進行,反復測試。而模型的集成一般是在比賽的后期進行

模型融合的基礎是你的單模型要好,

4.1簡單加權融合

加權平均時模型的權重最好不要小于0.1,否則這個模型對整體的融合產生不了什么模型收益。

在線提交的時候分數差不多,但是模型的數據差異較大,融合后效果會好(比賽經驗)

4.2boosting/bagging

4.3stacking/blending

把結果放到另一個簡單模型如線性模型再次進行篩選。

4.模型融合示例

以上的適用于數據挖掘比賽,和(cv)圖像處理的有所不同

特征工程

1.特征工程介紹

2.類別特征

ID一般不作為特征,以上數據已經經過脫敏

2.1類別編碼

類別編碼一般不直接使用,因為red,blue,black本身是沒有大小的,變成3,1,2后如果使用的是決策樹,那么可能直接會把>2 的區分為一類

2.2 One-Hot編碼

使用one-hot編碼可以避免上面引入大小的問題,但是不適用于類別特別多的(如果有100個類)會導致特征分布特別稀疏

2.3 Frequency編碼

Frequency編碼是數據競賽中使用最為廣泛的技術,在90%以上的數據建模的問題中都可以帶來提升。因為在很多的時候,頻率的信息與我們的目標變量往往存在有一定關聯,例如:

  • 在音樂推薦問題中,對于樂曲進行Frequency編碼可以反映該樂曲的熱度,而熱度高的樂曲往往更受大家的歡迎;
  • 在購物推薦問題中,對于商品進行Frequency編碼可以反映該商品的熱度,而熱度高的商品大家也更樂于購買;
  • 微軟設備被攻擊概率問題中,預測設備受攻擊的概率,那么設備安裝的軟件是非常重要的信息,此時安裝軟件的count編碼可以反映該軟件的流行度,越流行的產品的受眾越多,那么黑客往往會傾向對此類產品進行攻擊,這樣黑客往往可以獲得更多的利益

2.4 Target編碼

前面說Label encoder一般不直接用,但是下面這種情況可以使用,年齡段有相對大小的區分,你可以編碼為1,2,3,4

3.數值特征

二值化,閾值threshold=n, 小于等于n的數值轉為0, 大于n的數值轉為1

指/對數變換對決策樹沒有意義,因為進行對數變化后數據的相對大小不變,小的還是小,大的還是大

交互特征是靈活性最高的,好的交互特征往往可以對模型起到很大的優化(比如020的)

index_ture = (offline_train['Date']-offline_train['Date_received']).apply(lambda x: x.days <= 15) # 反例索引 index_false_1 = (offline_train['Date']-offline_train['Date_received']).apply(lambda x: x.days > 15) index_false_2 = offline_train['Date_received'].notnull() & offline_train['Date'].isnull()

3.1數據分桶

4.時間特征

模型融合

比賽中常用的模型(基于決策樹的集成學習)

1.介紹XGBoost模型

XGBoost是2016年由華盛頓大學陳天奇老師帶領開發的一個可擴展機器學習系統。嚴格意義上講XGBoost并不是一種模型,而是一個可供用戶輕松解決分類、回歸或排序問題的軟件包。它內部實現了梯度提升樹(GBDT)模型,并對模型中的算法進行了諸多優化,在取得高精度的同時又保持了極快的速度。

XGBoost相對于GBDT(梯度提升樹)有以下好處

2.參數設置

官方文檔

過擬合的時候加大r(gamma)的值

XGBoost的調用

2.1參數優化

比較費時間,一般只在后期進行一次,把參數固定下來

使用方法1

使用方法2

3.LightGBM介紹

硬投票,軟投票

用第一層的訓練結果作為特征,放到第二層(模型四)進行訓練,

樣本有偏的時候,比如負樣本:正樣本=10:1

那么,模型可能會更偏向于預測為負樣本,這時候就要調節閾值,比如0.5改成0.3

總結

以上是生活随笔為你收集整理的机器学习建模流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。