StratifiedKFold()与KFold()比较
生活随笔
收集整理的這篇文章主要介紹了
StratifiedKFold()与KFold()比较
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、KFold()
先看代碼示例:
import numpy as np from sklearn.model_selection import KFold X=np.array([[1,2],[3,4],[5,6],[7,8],[9,10],[11,12]]) y=np.array([1,2,3,4,5,6])kf=KFold(n_splits=2) # 定義分成幾個組#for循環中的train_index與test_index是索引而并非我們的訓練數據 for train_index,test_index in kf.split(X):print("Train Index:",train_index,",Test Index:",test_index)X_train,X_test=X[train_index],X[test_index]y_train,y_test=y[train_index],y[test_index]KFold(): KFold 將所有的樣例劃分為 k 個組,稱為折疊 (fold) ,每組數據都具有相同的大小。每一次分割會將其中的 K-1 組作為訓練數據,剩下的一組用作測試數據,一共會分割K次。
可以通過這張圖只管的體現出來。(這是四折交叉驗證,即K取4)
二、StratifiedKFold()
先看代碼示例:
import numpy as np from sklearn.model_selection import StratifiedKFold X=np.array([[1,2],[3,4],[5,6],[7,8],[9,10],[11,12]]) y=np.array([1,1,1,2,2,2]) skf=StratifiedKFold(n_splits=3)#for循環中的train_index與test_index是索引而并非我們的訓練數據 for train_index,test_index in skf.split(X,y):print("Train Index:",train_index,",Test Index:",test_index)X_train,X_test=X[train_index],X[test_index]y_train,y_test=y[train_index],y[test_index]StratifiedKFold: 是KFold()的變種,采用分層分組的形式(有點類似分層抽樣), 使每個分組中各類別的比例 同整體數據中各類別的比例盡可能的相同。(它相對于KFold()方法更完善)
總結
以上是生活随笔為你收集整理的StratifiedKFold()与KFold()比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: urllib.parse包学习
- 下一篇: 分隔百度百科中的名人信息与非名人信息