版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
Machine
Learning
with
Python算法評估與驗證1212.1目錄12.212.412.3數(shù)據(jù)集劃分距離度量方法分類有效性指標本章小結12.512.612.7回歸有效性指標聚類有效性指標參數(shù)調(diào)優(yōu)數(shù)據(jù)集劃分本節(jié)介紹常用的數(shù)據(jù)集劃分方法:留出法、K折交叉驗證法、留一法和留P法12.14
12.1.1留出法留出法(Hold-out)直接將數(shù)據(jù)分割為訓練集、驗證集和測試集3個互不相交的子集(也可分割為2個子集,此時訓練集也是驗證集)。在訓練集上訓練模型,在驗證集上選擇模型,最后用測試集測試模型并計算誤差。在使用留出法時,通常采用多次隨機劃分,并取平均值作為留出法的評估結果。Scikit-learn提供的train_test_split函數(shù)能夠?qū)?shù)據(jù)集切分成訓練集和測試集兩類其主要參數(shù)如下:1)X、y:數(shù)據(jù)集的特征值和標簽。2)test_size:指定測試集的大小或百分比。數(shù)據(jù)類型為浮點型、整型或None,若不指定該參數(shù)值,則自動使用默認參數(shù)值None,此時test_size設為0.25。其可選值如下:
①
浮點數(shù):測試集占原始數(shù)據(jù)集的比例,取值范圍為0.0到1.0。
②整數(shù):測試集大小,即原始數(shù)據(jù)集大小減去訓練集大小。3)train_size:指定訓練集大小或百分比。數(shù)據(jù)類型為浮點型、整型或None,若不指定該參數(shù)值,則自動使用默認參數(shù)值None,此時train_size設為0.75。其可選值與test_size相同。4)random_state:隨機種子的設置。數(shù)據(jù)類型為整型,RandomState實例和None。5)stratify:劃分比例。數(shù)據(jù)類型為數(shù)組對象或None。若設置為數(shù)組y,則函數(shù)會按原數(shù)據(jù)y中各類比例分配訓練集和測試集,使兩個集合中各類數(shù)據(jù)的比例與原數(shù)據(jù)集一致。5
【例12-1】對數(shù)據(jù)集進行劃分?!窘狻繀⒖汲绦蛉缦拢?
7
12.1.2
K折交叉驗證法k折交叉驗證法(kFoldCrossValidation):數(shù)據(jù)隨機劃分為k個互不相交且大小相同的子集,每一次挑選其中1個子集作為測試集,剩余k-1個子集組合為訓練集(共有k種分割方式)。對每一種分割分別進行訓練和測試,計算并保存模型的評估指標,以k組測試結果的平均值作為模型精度的估計,并作為當前k折交叉驗證下模型的性能指標值。k折交叉驗證通過對k個不同分組訓練的結果進行平均來減少方差,因此降低了模型對數(shù)據(jù)劃分的敏感度。k值常取10,當數(shù)據(jù)量較小時,k值可以相對設置的較大,增加訓練集占整體數(shù)據(jù)的比例,不過同時訓練的模型個數(shù)也相應增多。當數(shù)據(jù)量較大時,k值則需要設置的相對較小,以增加評估速度。8
Scikit-learn提供的KFold類實現(xiàn)了數(shù)據(jù)集的k折交叉切分其主要參數(shù)如下:1)n_splits:k的值。數(shù)據(jù)類型為整型,要求該整數(shù)值大于等于2。2)shuffle:在切分數(shù)據(jù)集之前是否先打亂數(shù)據(jù)集。數(shù)據(jù)類型為布爾型,若不指定該參數(shù)值,則自動使用默認參數(shù)值False。如果設置為True,則在切分數(shù)據(jù)集之前先打亂數(shù)據(jù)集。3)random_state:隨機種子的設置。數(shù)據(jù)類型為整型,RandomState實例和None。其主要方法如下:split(X,y):切分數(shù)據(jù)集為訓練集和測試集。其中X為樣本集,形狀為(n_samples,n_features)。y為標簽集,為可選參數(shù),形狀為(n_samples)。輸出為長度為k的二維列表,其中每一行為訓練集(測試集)的下標。Scikit-learn提供的StratifiedKFold類實現(xiàn)了數(shù)據(jù)集的分層采樣k折交叉切分9
Scikit-learn提供的StratifiedKFold類實現(xiàn)了數(shù)據(jù)集的分層采樣k折交叉切分,它的用法類似于KFold,但是StratifiedKFold執(zhí)行的是分層采樣,確保訓練集、測試集中各類別樣本的比例與原始數(shù)據(jù)集中相同,其參數(shù)與KFold函數(shù)相同。Scikit-learn還提供了函數(shù)cross_val_score,它可以在分割數(shù)據(jù)集后,進行訓練和測試并計算評估指標結果。說明:如果需要輸出交叉驗證的預測結果,可以使用cross_val_predict函數(shù)?!纠?2-2】比較KFold和StratifiedKFold的區(qū)別【解】參考程序如下:10
【例12-3】使用10折交叉對支持向量機在鳶尾花數(shù)據(jù)集上的分類效果進行評估【解】參考程序如下:11
12
12.1.3留一法和留P法留一法(Leave-One-Out)是k折交叉驗證法的一個特例,當k等于樣本總數(shù)時的k折交叉驗證即是留一法。由于訓練集與原始數(shù)據(jù)集相比只差一個樣本,因此最接近原始數(shù)據(jù)集的分布,所以訓練出來的模型與真實模型比較近似,故留一法評估的結果往往比較準確。但由于要進行樣本總數(shù)次的訓練和預測,因此訓練復雜度高,一般在數(shù)據(jù)缺少時使用。Scikit-learn提供LeaveOneOut實現(xiàn)的是留一法拆分數(shù)據(jù)集。其主要方法為:
13
【例12-4】分別使用留一法和留P法對數(shù)據(jù)集進行劃分。【解】參考程序如下:14
距離度量方法本節(jié)介紹常用的一些距離度量方法12.216
17
18
19
分類有效性指標本節(jié)介紹常用的有效性指標、有效性指標的計算方式12.321
對于二類分類問題,通常將關注的類分為正類,其他類分為負類。分類器在測試集上的預測正確或者不正確,可以分為以下4種情況。1)TP:分類器將正類預測為正類的數(shù)量(TruePositive)。2)FN:分類器將正類預測為負類的數(shù)量(FalseNegative)。3)FP:分類器將負類預測為正類的數(shù)量(FalsePositive)。4)TN:分類器將負類預測為負類的數(shù)量(TrueNegative)。22
23
Scikit-learn提供了以下幾種有效性指標的計算方式:1.accuracy_score:Scikit-learn提供的accuracy_score函數(shù)用于計算分類結果的準確率,即預測標簽與真實標簽相同的樣本比例。其主要參數(shù)如下:1)y_true:樣本集的真實標簽集合。2)y_pred:分類器對樣本集的預測標簽值。3)normalize:選擇計算分類正確的比例或數(shù)量。數(shù)據(jù)類型為布爾型,若不指定該參數(shù)值,則自動使用默認參數(shù)值True。如果設置為True,則返回分類正確的比例(準確率),為一個浮點數(shù)。否則返回分類正確的數(shù)量,為一個整數(shù)。4)sample_weight:樣本權重。若不指定該參數(shù)值,則自動使用默認參數(shù)值None,此時每個樣本的權重均為1。24
2.precision_score:Scikit-learn提供的precision_score函數(shù)用于計算分類結果的查準率,返回值即預測結果為正類的那些樣本中真正正類的比例。其主要參數(shù)如下:1)y_true:樣本集的真實標簽集合。2)y_pred:分類器對樣本集的預測標簽值。3)pos_label:指定屬于正類的標簽。數(shù)據(jù)類型為字符串型或整型。4)sample_weight:樣本權重。若不指定該參數(shù)值,則自動使用默認參數(shù)值None,此時每個樣本的權重均為1。5)average:多分類時評價指標平均值的計算方式。數(shù)據(jù)類型為字符串型。3.recall_score:Scikit-learn提供的recall_score函數(shù)用于計算分類結果的查全率,即真正的正類中,被分類器正確劃分的比例。(其主要參數(shù)與precision_score相同)4.f1_score:Scikit-learn提供的f1_score函數(shù)用來計算分類結果的f1值。(其主要參數(shù)與precision_score相同)25
26
6.classification_report:Scikit-learn提供的classification_report函數(shù)以文本方式給出了分類結果的主要預測性能指標。除與precision_score相同的參數(shù)外,其他主要參數(shù)為:1)target_names:指定報告中類別對應顯示的名稱。數(shù)據(jù)類型為序列。2)digits:用于格式化報告中的浮點數(shù),即保留幾位小數(shù)?!纠?2-6】查看分類結果的分類報告?!窘狻繀⒖汲绦蛉缦拢?7
7.confusion_matrix:Scikit-learn提供的confusion_matrix函數(shù)給出了分類結果的混淆矩陣(其主要參數(shù)與precision_score相同)?!纠?2-7】查看分類結果的混淆矩陣?!窘狻繀⒖汲绦蛉缦拢夯貧w有效性指標本節(jié)介紹常用的回歸有效性指標、回歸有效性指標的計算方式12.4
29
其主要參數(shù)如下:1)y_true:樣本集的真實標簽值。2)y_pred:算法對樣本集的預測標簽值。3)sample_weight:樣本權重。數(shù)值型類為浮點型數(shù)組,若不指定該參數(shù)值,則自動使用默認參數(shù)值None,此時每個樣本的權重均為1。4)multioutput:多輸出變量回歸問題的誤差類型。數(shù)據(jù)類型為字符串型。2.Scikit-learn提供的mean_absolute_error函數(shù)用于計算MAE(其主要參數(shù)與計算MSE相同)。30
31
【例12-8】分別計算回歸結果的MAE和MSE值?!窘狻繀⒖汲绦蛉缦拢壕垲愑行灾笜吮竟?jié)介紹兩個聚類有效性指標:外部指標和內(nèi)部指標12.5
33
34
35
36
37
38
39
40
【例12-10】計算聚類結果的輪廓系數(shù)和Calinski-Harabaz指數(shù)?!窘狻繀⒖汲绦蛉缦拢?1
【例12-10】計算聚類結果的輪廓系數(shù)和Calinski-Harabaz指數(shù)。參數(shù)調(diào)優(yōu)本節(jié)介紹兩種常用的參數(shù)調(diào)優(yōu)方法12.643
12.6.1參數(shù)調(diào)優(yōu)的概念參數(shù)類型定義例子模型參數(shù)模型在訓練過程中從數(shù)據(jù)中自動學習得到的內(nèi)部變量線性回歸中的權重系數(shù)神經(jīng)網(wǎng)絡中的連接權重超參數(shù)在訓練開始前,由人為設定或通過算法選擇的“外部”配置。它們控制著模型的學習過程和整體結構學習率決策樹的最大深度隨機森林中樹的數(shù)量支持向量機的核函數(shù)懲罰系數(shù)......參數(shù)調(diào)優(yōu),也稱為超參數(shù)優(yōu)化,是機器學習模型開發(fā)中的關鍵步驟。它指的是系統(tǒng)性地為機器學習算法尋找一組最優(yōu)的超參數(shù)組合,以使模型在特定任務和數(shù)據(jù)集上達到最佳性能的過程。44
12.6.2參數(shù)調(diào)優(yōu)的重要性決定模型性能上限:許多機器學習算法對超參數(shù)非常敏感。同一算法,不同的參數(shù)組合可能導致性能(如準確率、精準率)天差地別。優(yōu)秀的參數(shù)是模型發(fā)揮其全部潛力的前提。緩解過擬合與欠擬合:通過調(diào)整如正則化強度、樹的最大深度等超參數(shù),可以有效地控制模型的復雜度,在“記憶訓練數(shù)據(jù)”(過擬合)和“無法捕捉模式”(欠擬合)之間找到最佳平衡點。保證結果的可靠性與公平性:在學術研究或業(yè)務應用中,一個未經(jīng)充分調(diào)優(yōu)的模型得出的結論是不可靠的。系統(tǒng)性的參數(shù)調(diào)優(yōu)是嚴謹建模流程的一部分,確保模型性能的比較是公平的(都在其最優(yōu)配置下對比),并且結果具有可重復性。45
12.6.3常用的參數(shù)調(diào)優(yōu)方法網(wǎng)格搜索定義:通過為每個需要調(diào)優(yōu)的超參數(shù)預先定義一個有限的候選值列表,然后遍歷這些列表所有可能的組合,來尋找使模型性能最佳的超參數(shù)集。主要步驟:1)定義超參數(shù)的搜索范圍2)遍歷所有可能的參數(shù)組合3)
對每組參數(shù)進行交叉驗證,評估模型性能4)返回最佳參數(shù)組合和對應的模型46
12.6.3常用的參數(shù)調(diào)優(yōu)方法網(wǎng)格搜索實現(xiàn)及參數(shù):其主要參數(shù)如下:1)estimator:指定的學習器,該學習器必須有fit方法以進行訓練。2)scoring:指定了評分函數(shù)。與cross_val_score函數(shù)相同。3)cv:k的值。與cross_val_score函數(shù)相同。4)fit_params:指定estimator執(zhí)行fit方法時的關鍵字參數(shù)。與cross_val_score函數(shù)相同。47
5)n_jobs:并行性。與cross_val_score函數(shù)相同。6)verbose:用于控制輸出日志。與cross_val_score函數(shù)相同。7)iid:數(shù)據(jù)是否獨立同分布的。數(shù)據(jù)類型為布爾型,若設置為True,則表示數(shù)據(jù)是獨立同分布的。8)refit:是否使用整個數(shù)據(jù)集重新訓練。數(shù)據(jù)類型為布爾型,若設置為True,則在參數(shù)優(yōu)化之后使用整個數(shù)據(jù)集來重新訓練該最優(yōu)的estimator。9)param_grid:指定了參數(shù)對應的候選值序列。數(shù)據(jù)類型為字典或字典的列表,每個字典給出學習器的一組參數(shù)。字典的鍵為參數(shù)名,字典的值為參數(shù)候選值。10)pre_dispatch:用于控制并行執(zhí)行時分發(fā)的總任務數(shù)量。數(shù)據(jù)類型為整型或字符串型。11)error_score:指定當estimator訓練發(fā)生異常時如何處理。數(shù)據(jù)類型為整型或字符串型,其可選值如下: raise:拋出異常。
數(shù)值:輸出本輪estimator的預測得分。其主要屬性:1)grid_scores_:命名元組組成的列表,列表中每個元素都對應了一個參數(shù)組合的測試得分。2)best_estimator_:學習器對象,代表根據(jù)候選參數(shù)組合篩選出來的最優(yōu)學習器。3)best_score_:最優(yōu)學習器的性能評分。4)best_params_:最優(yōu)參數(shù)組合。其主要方法為:1)fit(X[,y]):執(zhí)行參數(shù)優(yōu)化。2)predict(X):使用最優(yōu)學習器來預測數(shù)據(jù)。3)predict_log_proba(X):使用最優(yōu)學習器預測數(shù)據(jù)為各類別的概率的對數(shù)值。4)predict_proba(X):使用最優(yōu)學習器來預測數(shù)據(jù)為各類別的概率。5)score(X[,y]):最優(yōu)學習器的預測性能指標值。48
49
12.6.3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年玉環(huán)農(nóng)商銀行專業(yè)崗位招聘備考題庫附答案詳解
- 2025年浙江清華長三角研究院招聘備考題庫及參考答案詳解一套
- 2025年溫嶺農(nóng)商銀行招聘備考題庫及一套完整答案詳解
- 2025年河北省交通規(guī)劃設計研究院有限公司面向社會公開招聘工作人員的備考題庫完整答案詳解
- 2025年江門市交通建設投資集團有限公司招聘備考題庫附答案詳解
- 2025年廣州白云國際機場股份有限公司機場通事業(yè)部經(jīng)營財務管理崗市場化公開招聘備考題庫含答案詳解
- 2025年上海市浦東新區(qū)肺科醫(yī)院非編人員招聘備考題庫帶答案詳解
- 2025年巴中市中西醫(yī)結合醫(yī)院公開招聘員額管理專業(yè)技術人員15人備考題庫及1套完整答案詳解
- 2025年中央黨校(國家行政學院)其他專業(yè)技術崗位公開招聘6人備考題庫含答案詳解
- 2025年河南鋼鐵集團數(shù)字應用研究院招聘備考題庫及答案詳解一套
- 《網(wǎng)絡營銷策劃》課件
- 中華人民共和國保守國家秘密法實施條例培訓課件
- 《新能源汽車維護與保養(yǎng)》課件-任務2 新能源汽車二級維護
- GB/T 2423.65-2024環(huán)境試驗第2部分:試驗方法試驗:鹽霧/溫度/濕度/太陽輻射綜合
- 土地承包經(jīng)營權長期轉(zhuǎn)讓協(xié)議
- JB-T 10833-2017 起重機用聚氨酯緩沖器
- 股權代持協(xié)議書
- 殘疾人居家照護服務項目組織架構及人員配備
- 北師大版五年級數(shù)學上冊《全冊》完整版
- 圍手術期血糖管理指南
- 《毛遂自薦》成語故事
評論
0/150
提交評論