国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

機(jī)器學(xué)習(xí)基礎(chǔ)14-算法調(diào)參(基于印第安糖尿病Pima數(shù)據(jù)集)

這篇具有很好參考價值的文章主要介紹了機(jī)器學(xué)習(xí)基礎(chǔ)14-算法調(diào)參(基于印第安糖尿病Pima數(shù)據(jù)集)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

機(jī)器學(xué)習(xí)的模型都是參數(shù)化的,可以通過調(diào)參來提高模型的準(zhǔn)確度。
模型有很多參數(shù),如何找到最佳的參數(shù)組合,可以把它當(dāng)作一個查詢問題來處理,但是調(diào)整參數(shù)到何時為止呢?應(yīng)該遵循偏差和方差協(xié)調(diào)的原則。

接下來將介紹在 scikit-learn 中設(shè)置機(jī)器學(xué)習(xí)模型最佳參數(shù)的方法。

1. 調(diào)整參數(shù)對機(jī)器學(xué)習(xí)算法的重要性。
2. 如何使用網(wǎng)格搜索優(yōu)化參數(shù)?
3. 如何使用隨機(jī)搜索優(yōu)化參數(shù)?

機(jī)器學(xué)習(xí)算法調(diào)參

調(diào)整算法參數(shù)是采用機(jī)器學(xué)習(xí)解決問題的最后一個步驟,有時也被稱為超參數(shù)優(yōu)化。學(xué)會調(diào)參是進(jìn)行機(jī)器學(xué)習(xí)項目的前提,但第一次遇到這些算法和模型時,肯定會被其大量的參數(shù)嚇到。其實,參數(shù)可分為兩種:一種是影響模型在訓(xùn)練集上的準(zhǔn)確度或防止過擬合能力的參數(shù);另一種是不影響這兩者的參數(shù)。模型在樣本總體上的準(zhǔn)確度由其在訓(xùn)練集上的準(zhǔn)確度及其防止過擬合的能力共同決定,所以在調(diào)參時主要針對第一種參數(shù)進(jìn)行調(diào)整,最終達(dá)到的效果是:模型在訓(xùn)練集上的準(zhǔn)確度和防止過擬合能力的大和諧。

下面將介紹兩種自動尋找最優(yōu)化參數(shù)的算法:
· 網(wǎng)格搜索優(yōu)化參數(shù)。
· 隨機(jī)搜索優(yōu)化參數(shù)。

網(wǎng)格搜索優(yōu)化參數(shù)

網(wǎng)格搜索優(yōu)化參數(shù)是一種算法參數(shù)優(yōu)化的方法。它是通過遍歷已定義參數(shù)的列表,來評估算法的參數(shù),從而找到最優(yōu)參數(shù)。在scikit-learn中使用GridSearchCV來實現(xiàn)對參數(shù)的跟蹤、調(diào)整與評估,從而找到最優(yōu)參數(shù)。網(wǎng)格搜索優(yōu)化參數(shù)適用于三四個(或更少)的超參數(shù)(當(dāng)超參數(shù)的數(shù)量增加時,網(wǎng)格搜索的計算復(fù)雜度會呈現(xiàn)指數(shù)型增長,這時要換用隨機(jī)搜索),由用戶列出一個較小的超參數(shù)值域,這些超參數(shù)值域的笛卡爾集(排列組合)為一組組超參數(shù)。網(wǎng)格搜索算法使用每組超參數(shù)訓(xùn)練模型,并挑選驗證集誤差最小的超參數(shù)組合。下面的例子是展示如何使用 GridSearchCV 來調(diào)整脊回歸(Ridge)的參數(shù)。GridSearchCV使用字典對象來指定需要調(diào)參的參數(shù),可以同時對一個或多個參數(shù)進(jìn)行調(diào)參。

代碼如下:

import pandas as pd
from sklearn.linear_model import Ridge
from sklearn.model_selection import GridSearchCV

#數(shù)據(jù)預(yù)處理
path = 'D:\down\\archive\\diabetes.csv'
data = pd.read_csv(path)

#打印標(biāo)簽名稱
print(data.columns)

#將數(shù)據(jù)轉(zhuǎn)成數(shù)組
array = data.values
#分割數(shù)據(jù),去掉最后一個標(biāo)簽
X = array[:, 0:8]

Y = array[:, 8]

model = Ridge()
#設(shè)置參數(shù),進(jìn)行網(wǎng)格搜索,尋找最優(yōu)參數(shù),這里只設(shè)置了一個參數(shù),實際中可以設(shè)置多個參數(shù),如下
param_grid = {'alpha': [1, 0.1, 0.01, 0.001, 0.0001]}
#網(wǎng)格搜索,找到最優(yōu)參數(shù),這里使用了10折交叉驗證,可以自己設(shè)置,如5折交叉驗證,這里使用了全部的數(shù)據(jù),也可以自己設(shè)置
grid = GridSearchCV(estimator=model, param_grid=param_grid)

grid.fit(X, Y)

print("最優(yōu)分?jǐn)?shù):%.3f" % grid.best_score_)
print("最優(yōu)參數(shù):", grid.best_estimator_.alpha)


param_grid是一個字典對象,以算法的參數(shù)名為key,需要遍歷的參數(shù)值列表為value。在驗證算法最優(yōu)參數(shù)的網(wǎng)格搜索算法中,可以設(shè)定多個key:value對,同時查詢多個參數(shù)的最優(yōu)參數(shù)值。

執(zhí)行結(jié)果如下:

最優(yōu)分?jǐn)?shù):0.276
最優(yōu)參數(shù): 1

隨機(jī)搜索優(yōu)化參數(shù)

隨機(jī)搜索優(yōu)化參數(shù)是另一種對算法參數(shù)優(yōu)化的方法。隨機(jī)搜索優(yōu)化參數(shù)通過固定次數(shù)的迭代,采用隨機(jī)采樣分布的方式搜索合適的參數(shù)。與網(wǎng)格搜索優(yōu)化參數(shù)相比,隨機(jī)搜索優(yōu)化參數(shù)提供了一種更高效的解決方法(特別是在參數(shù)數(shù)量多的情況下),隨機(jī)搜索優(yōu)化參數(shù)為每個參數(shù)定義了一個分布函數(shù),并在該空間中采樣。在 scikit-learn 中通過RandomizedSearchCV類實現(xiàn)。

下面的例子是通過RandomizedSearchCV對脊回歸算法的參數(shù)進(jìn)行100次迭代,并從中選擇最優(yōu)的參數(shù)。

SciPy中的uniform是一個均勻隨機(jī)采樣函數(shù),默認(rèn)生成0與1之間的隨機(jī)采樣數(shù)值。在這里利用uniform對參數(shù)進(jìn)行隨機(jī)采樣。

代碼如下:

import pandas as pd
from scipy.stats import uniform
from sklearn.linear_model import Ridge

from sklearn.model_selection import GridSearchCV, RandomizedSearchCV

#數(shù)據(jù)預(yù)處理
path = 'D:\down\\archive\\diabetes.csv'
data = pd.read_csv(path)

#打印標(biāo)簽名稱
print(data.columns)

#將數(shù)據(jù)轉(zhuǎn)成數(shù)組
array = data.values
#分割數(shù)據(jù),去掉最后一個標(biāo)簽
X = array[:, 0:8]

Y = array[:, 8]

model = Ridge()

param_grid = {'alpha': uniform()}

grid = RandomizedSearchCV(estimator=model, param_distributions=param_grid, n_iter=100, random_state=7)

grid.fit(X, Y)

print("最高得分:%.3f" % grid.best_score_)
print("最優(yōu)參數(shù):", grid.best_estimator_.alpha)

執(zhí)行結(jié)果如下:

最高得分:0.276
最優(yōu)參數(shù): 0.9779895119966027

調(diào)參是算法模型生成之前很重要的一步,上面介紹了兩種選擇最優(yōu)參數(shù)的方法:網(wǎng)格搜索優(yōu)化參數(shù)和隨機(jī)搜索優(yōu)化參數(shù)。

如果算法的參數(shù)少于三個,推薦使用網(wǎng)格搜索優(yōu)化參數(shù);如果需要優(yōu)化的參數(shù)超過三個,推薦使用隨機(jī)搜索優(yōu)化參數(shù)。

下一節(jié)將介紹如何生成模型,以及如何保存和載入已生成的模型。文章來源地址http://www.zghlxwxcb.cn/news/detail-689067.html

到了這里,關(guān)于機(jī)器學(xué)習(xí)基礎(chǔ)14-算法調(diào)參(基于印第安糖尿病Pima數(shù)據(jù)集)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 機(jī)器學(xué)習(xí)中XGBoost算法調(diào)參技巧

    機(jī)器學(xué)習(xí)中XGBoost算法調(diào)參技巧

    本文將詳細(xì)解釋XGBoost中十個最常用超參數(shù)的介紹,功能和值范圍,及如何使用Optuna進(jìn)行超參數(shù)調(diào)優(yōu)。 對于XGBoost來說,默認(rèn)的超參數(shù)是可以正常運行的,但是如果你想獲得最佳的效果,那么就需要自行調(diào)整一些超參數(shù)來匹配你的數(shù)據(jù),以下參數(shù)對于XGBoost非常重要: eta num_boos

    2024年02月11日
    瀏覽(24)
  • 機(jī)器學(xué)習(xí)基礎(chǔ)10-審查回歸算法(基于波士頓房價的數(shù)據(jù)集)

    上一節(jié)介紹了如何審查分類算法,并介紹了六種不同的分類算法,還 用同一個數(shù)據(jù)集按照相同的方式對它們做了審查,本章將用相同的方式對回歸算法進(jìn)行審查。 在本節(jié)將學(xué)到: 如何審查機(jī)器學(xué)習(xí)的回歸算法。 如何審查四種線性分類算法。 如何審查三種非線性分類算法。

    2024年02月11日
    瀏覽(20)
  • 機(jī)器學(xué)習(xí)基礎(chǔ)08-模型選擇02-分類算法矩陣(基于Pima 數(shù)據(jù)集)

    機(jī)器學(xué)習(xí)基礎(chǔ)08-模型選擇02-分類算法矩陣(基于Pima 數(shù)據(jù)集)

    算法評估矩陣(Algorithm Evaluation Metrics)用于評估機(jī)器學(xué)習(xí)算法在特定任務(wù)上的 性能 。不同的任務(wù)可能會使用不同的評估矩陣,因為每個任務(wù)的優(yōu)劣衡量標(biāo)準(zhǔn)都不同。 分類問題或許是最常見的機(jī)器學(xué)習(xí)問題,并且有多種評估矩陣來評估 分類算法。以下幾種用來評估分類算法

    2024年02月14日
    瀏覽(23)
  • 機(jī)器學(xué)習(xí)基礎(chǔ)08-回歸算法矩陣分析(基于波士頓房價(Boston House Price)數(shù)據(jù)集)

    機(jī)器學(xué)習(xí)基礎(chǔ)08-回歸算法矩陣分析(基于波士頓房價(Boston House Price)數(shù)據(jù)集)

    回歸算法通常涉及到使用矩陣來表示數(shù)據(jù)和模型參數(shù)。線性回歸是最常見的回歸算法之一,它可以用矩陣形式來表示。 考慮一個簡單的線性回歸模型: y = m x + b y = mx + b y = m x + b ,其中 y y y 是因變量, x x x 是自變量, m m m 是斜率, b b b 是截距。將這個模型表示成矩陣形式

    2024年02月14日
    瀏覽(29)
  • 機(jī)器學(xué)習(xí)模型調(diào)參

    1. 調(diào)參的目標(biāo) 調(diào)參就是對模型的參數(shù)進(jìn)行調(diào)整,以找到是模型性能最優(yōu)的參數(shù)。調(diào)參的目標(biāo)就是達(dá)到整體模型的偏差和方差的大和諧! 參數(shù)可分為兩類:過程影響類參數(shù)和子模型影響類參數(shù)。 具體來說,過程影響類參數(shù)就是在子模型不變的前提下,調(diào)整“子模型數(shù)(n_esti

    2023年04月14日
    瀏覽(20)
  • 【Python機(jī)器學(xué)習(xí)】SVM——調(diào)參

    【Python機(jī)器學(xué)習(xí)】SVM——調(diào)參

    下面是支持向量機(jī)一個二維二分類數(shù)據(jù)集的訓(xùn)練結(jié)果: ?決策邊界用黑線表示,支持向量是尺寸比較大的點: 在這個例子里,SVM給出了非常平滑且線性的邊界。 在上面的例子里,gamma參數(shù)用于控制高斯核的寬度,它決定了點與點之間“靠近”是指多大的距離,C參數(shù)是正則化

    2024年02月01日
    瀏覽(25)
  • 【Python機(jī)器學(xué)習(xí)】實驗04(2) 機(jī)器學(xué)習(xí)應(yīng)用實踐--手動調(diào)參

    【Python機(jī)器學(xué)習(xí)】實驗04(2) 機(jī)器學(xué)習(xí)應(yīng)用實踐--手動調(diào)參

    上一次練習(xí)中,我們采用邏輯回歸并且應(yīng)用到一個分類任務(wù)。 但是,我們用訓(xùn)練數(shù)據(jù)訓(xùn)練了模型,然后又用訓(xùn)練數(shù)據(jù)來測試模型,是否客觀?接下來,我們僅對實驗1的數(shù)據(jù)劃分進(jìn)行修改 需要改的地方為:下面紅色部分給出了具體的修改。 1 訓(xùn)練數(shù)據(jù)數(shù)量將會變少 2 評估模型

    2024年02月15日
    瀏覽(20)
  • 機(jī)器學(xué)習(xí)基礎(chǔ)07-模型選擇01-利用scikit-learn 基于Pima 數(shù)據(jù)集對LogisticRegression算法進(jìn)行評估

    選擇合適的模型是機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中非常重要的一步,它直接影響到模型的性能和泛化能力。 “所有模型都是壞的,但有些模型是有用的”。建立模型之后就要去評 估模型,確定模型是否有用。模型評估是模型開發(fā)過程中不可或缺的一部 分,有助于發(fā)現(xiàn)表達(dá)數(shù)據(jù)的最佳

    2024年02月14日
    瀏覽(18)
  • 【機(jī)器學(xué)習(xí)】模型調(diào)參工具:Hyperopt 使用指南

    【機(jī)器學(xué)習(xí)】模型調(diào)參工具:Hyperopt 使用指南

    在機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)領(lǐng)域,模型調(diào)參是一個不可避免的任務(wù)。為了提高模型的性能,通常需要調(diào)整不同的超參數(shù)。 常用的調(diào)參策略包括: 網(wǎng)格搜索(Grid Search) 在模型中嘗試的每種可能的參數(shù)組合來工作,這意味著執(zhí)行整個搜索將需要很長時間,而且計算成本可能會很高。

    2024年01月23日
    瀏覽(22)
  • 機(jī)器學(xué)習(xí)入門實例-加州房價預(yù)測-4(繼續(xù)調(diào)參+評估)

    Randomized Search 如果需要嘗試、調(diào)整的超參數(shù)只有有限幾個,比如之前的例子,那只用grid search就夠了;但如果超參數(shù)的搜索空間非常大,應(yīng)該用RandomizedSearchCV。它有兩個優(yōu)點: 支持更大的參數(shù)范圍 它可以更快找到最優(yōu)的超參數(shù)組合。因為不是遍歷所有組合,而是在指定的參數(shù)

    2023年04月18日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包