機器學習 調參 Part1

2021-09-23 10:37:36 字數 2183 閱讀 2521

3.2 隨機搜尋

3.3 貝葉斯調參

4 參考

調參即對模型的引數進行相應的調整,以期獲得更好的**效果!

其中引數又分為:模型引數和模型超引數。 即:

調參調參,無非就是將模型的超引數調整到最佳的引數,使得模型**的效果最好。

總的來說,調參方式有下面三種:

3.1.1 原理

優點:缺點:

3.1.2 python實現

展示之前部落格內容 機器學習 | 整合學習 中的調參內容

步驟:

# 匯入相應的庫

from sklearn.model_selection import gridsearchcv

# 設定要調參的引數

param_test1 =

# 即[10, 20, 30, 40, 50, 60, 70]

# 搭建模型

estimator = gradientboostingclassifier(

min_samples_split=

300,

min_samples_leaf=20,

max_depth=8,

max_features=

'sqrt'

, subsample=

0.8,

# 子取樣

random_state=23)

# 網格調參框架搭建

gsearch1 = gridsearchcv(estimator = estimator,

# **器

param_grid = param_test1,

# 引數

scoring=

'roc_auc'

,# 評價準則

cv=5)

# 交叉驗證次數

# 擬合模型 開始漫漫調參路 針對訓練集

gsearch1.fit(x_train, y_train)

# 檢視調參結果

gsearch1.best_params_, gsearch1.best_score_, gsearch1.best_estimator_

3.2.1 原理

步驟:為什麼隨機搜尋能夠起到作用?有乙個形象的例子:

比如上面兩個圖:

因此引入隨機因素在某些情況下可以提高尋優效率

3.2.2 python實現

# 匯入相應的庫

from sklearn.grid_search import randomizedsearchcv

# 設定要調參的引數

param_test1 =

# 即[10, 20, 30, 40, 50, 60, 70]

# 搭建模型

estimator = gradientboostingclassifier(

min_samples_leaf=20,

max_depth=8,

subsample=

0.8,

# 子取樣

random_state=23)

# 網格調參框架搭建

gsearch1 = randomizedsearchcv(estimator,

# **器

param_test1,

# 引數

scoring=

'roc_auc'

,# 評價準則

cv=5,

# 交叉驗證次數

n_iter=

300)

# 訓練300次,數值越大,獲得的引數精度越大,但是搜尋時間越長

# 擬合模型 開始漫漫調參路 針對訓練集

gsearch1.fit(x_train, y_train)

# 檢視調參結果 最優訓練器的精度(best_score_)

gsearch1.best_params_, gsearch1.best_score_, gsearch1.best_estimator_

3.3.1 區別於前兩種方法的點

存在的問題:

解決方案:

3.3.2 原理

3.3.3 python實現

機器學習簡單介紹part1

一 基本分類及定義 機器學習分為 監督學習,無監督學習,強化學習 監督學習是指 利用一組已知類別的樣本調整分類器的引數,使其達到所要求效能的過程,也稱為監督訓練或有教師學習。監督學習是從標記的訓練資料來推斷乙個功能的機器學習任務。訓練資料報括一套訓練示例。在監督學習中,每個例項都是由乙個輸入物件 通...

機器學習 part1 機器學習第一課

學習筆記,僅供參考,有錯必糾 從今天重新學習機器學習這門課程,鼓掌!好了,我要開始膜拜阿z老師了!機器學習第一課 讓計算機像人一樣地學習,或讓模型演算法更聰明更智慧型。機器學習要學習的內容非常多,比如微積分 線性代數 概率論與數理統計 統計學等數學基礎 監督學習 無監督學習 整合學習 深度學習等常用...

機器學習 調參

在實際調整引數之前,我們先要搞清楚兩個事情 1.調參的目的是什麼?2.調參調的東西具體是什麼?第乙個問題 調參的目的是什麼?調參的最終目的是要使訓練之後的模型檢測物體更精確,向程式的方向更靠近一步的話,就是使得損失函式 例如ssd中的loss 盡量小 因為利用訓練集訓練出來的模型質量在訓練過程中只能...