RepeatedStratifiedKFold#
- class sklearn.model_selection.RepeatedStratifiedKFold(*, n_splits=5, n_repeats=10, random_state=None)[來源]#
重複分層 K 折交叉驗證器。
重複分層 K 折 n 次,每次重複使用不同的隨機化。
在使用者指南中閱讀更多內容。
- 參數:
- n_splitsint,預設值=5
折數。必須至少為 2。
- n_repeatsint,預設值=10
交叉驗證器需要重複的次數。
- random_stateint、RandomState 實例或 None,預設值=None
控制每次重複的隨機狀態產生。傳遞 int 以便在多個函數調用中產生可重現的輸出。請參閱詞彙表。
另請參閱
RepeatedKFold
重複 K 折 n 次。
注意事項
隨機的交叉驗證分割器在每次呼叫 split 時可能會返回不同的結果。您可以將
random_state
設定為整數,使結果一致。範例
>>> import numpy as np >>> from sklearn.model_selection import RepeatedStratifiedKFold >>> X = np.array([[1, 2], [3, 4], [1, 2], [3, 4]]) >>> y = np.array([0, 0, 1, 1]) >>> rskf = RepeatedStratifiedKFold(n_splits=2, n_repeats=2, ... random_state=36851234) >>> rskf.get_n_splits(X, y) 4 >>> print(rskf) RepeatedStratifiedKFold(n_repeats=2, n_splits=2, random_state=36851234) >>> for i, (train_index, test_index) in enumerate(rskf.split(X, y)): ... print(f"Fold {i}:") ... print(f" Train: index={train_index}") ... print(f" Test: index={test_index}") ... Fold 0: Train: index=[1 2] Test: index=[0 3] Fold 1: Train: index=[0 3] Test: index=[1 2] Fold 2: Train: index=[1 3] Test: index=[0 2] Fold 3: Train: index=[0 2] Test: index=[1 3]
- get_metadata_routing()[原始碼]#
取得此物件的中繼資料路由。
請查看使用者指南,了解路由機制如何運作。
- 回傳值:
- routingMetadataRequest
一個封裝路由資訊的
MetadataRequest
。
- get_n_splits(X=None, y=None, groups=None)[原始碼]#
回傳交叉驗證器中的分割迭代次數。
- 參數:
- X物件
總是忽略,為了相容性而存在。可以使用
np.zeros(n_samples)
作為佔位符。- y物件
總是忽略,為了相容性而存在。可以使用
np.zeros(n_samples)
作為佔位符。- groupsarray-like,形狀為 (n_samples,),預設為 None
用於將資料集分割為訓練/測試集的樣本群組標籤。
- 回傳值:
- n_splits整數
回傳交叉驗證器中的分割迭代次數。
- split(X, y, groups=None)[原始碼]#
產生將資料分割為訓練集和測試集的索引。
- 參數:
- Xarray-like,形狀為 (n_samples, n_features)
訓練資料,其中
n_samples
是樣本數,n_features
是特徵數。請注意,提供
y
足以產生分割,因此可以使用np.zeros(n_samples)
作為X
的佔位符,而不是實際的訓練資料。- yarray-like,形狀為 (n_samples,)
用於監督式學習問題的目標變數。分層是根據 y 標籤完成的。
- groups物件
總是忽略,為了相容性而存在。
- 產生:
- trainndarray
該分割的訓練集索引。
- testndarray
該分割的測試集索引。
注意事項
隨機的交叉驗證分割器在每次呼叫 split 時可能會返回不同的結果。您可以將
random_state
設定為整數,使結果一致。