1. 程式人生 > >留出法、K折交叉驗證、留一法進行數據集劃分

留出法、K折交叉驗證、留一法進行數據集劃分

leave targe lec digits 行數據 import one 訓練 訓練集

from sklearn import datasets from sklearn import model_selection #引入sklearn庫中手寫數字的數據集 digits = datasets.load_digits() #留出法 X_train, X_test, y_train, y_test = model_selection.train_test_split(digits.data, digits.target, test_size = 0.2, shuffle = True) #K折交叉驗證 #設置K為5 kf = model_selection.KFold(n_splits=5) #使用5折交叉驗驗證劃分數據集,返回一個生成器對象(即索引) digits_gen = kf.split(digits.data) for train_idx, test_idx in digits_gen: X_train = digits.data[train_idx] #訓練集 X_test = digits.data[test_idx] #測試集 y_train = digits.target[train_idx] #訓練集標簽 y_test = digits.target[test_idx] #測試及標簽 #留一法交叉驗證 loo = model_selection.LeaveOneOut() digits_gen = loo.split(digits.data) for train_idx, test_idx in digits_gen: X_train = digits_gen[train_idx] X_test = digits_gen[test_idx] y_train = digits_gen[train_idx] y_test = digits_gen[test_idx]

留出法、K折交叉驗證、留一法進行數據集劃分