天天看點

《Web安全之機器學習入門》一 3.4 效果驗證

效果驗證是機器學習非常重要的一個環節,最常使用的是交叉驗證。常見的驗證過程如圖3-15所示。以SVM為例,導入SVM庫以及Scikit-Learn自帶的樣本庫datasets:

擷取樣本資料:

為了保證效果,使用函數train_test_spli随機分割樣本為訓練樣本和測試樣本:

調用SVM進行訓練:

判斷預測結果與測試樣本标記的結果,得到準确率:

《Web安全之機器學習入門》一 3.4 效果驗證

為了提高驗證的準确度,比較常見的方法是使用K折交叉驗證。所謂K折交叉驗證,就是初始采樣分割成K個子樣本,一個單獨的子樣本被保留作為驗證模型的資料,其他K-1個樣本用來訓練。交叉驗證重複K次,每個子樣本驗證一次,平均K次的結果或者使用其他結合方式,最終得到一個單一估測。三折交叉驗證原理圖見圖3-16。這個方法的優勢在于,同時重複運用随機産生的子樣本進行訓練和驗證,每次的結果驗證一次,十折交叉驗證是最常用的。還是上面的例子,十折交叉驗證實作如下:

《Web安全之機器學習入門》一 3.4 效果驗證

繼續閱讀