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 盡量小 因為利用訓練集訓練出來的模型質量在訓練過程中只能...