ShuffleSplit#
- class sklearn.model_selection.ShuffleSplit(n_splits=10, *, test_size=None, train_size=None, random_state=None)[原始碼]#
隨機排列交叉驗證器。
產生將資料分割成訓練集和測試集的索引。
注意:與其他交叉驗證策略相反,隨機分割不保證所有摺疊的測試集將是互斥的,並且可能包含重疊的樣本。然而,對於相當大的資料集,這仍然是非常有可能的。
在使用者指南中閱讀更多資訊。
如需視覺化交叉驗證行為以及比較常見的 scikit-learn 分割方法,請參閱在 scikit-learn 中視覺化交叉驗證行為
- 參數:
- n_splitsint,預設值=10
重新洗牌和分割的迭代次數。
- test_sizefloat 或 int,預設值=None
如果為 float,則應介於 0.0 和 1.0 之間,並表示包含在測試分割中的資料集比例。如果為 int,則表示測試樣本的絕對數量。如果為 None,則該值會設定為訓練大小的補數。如果
train_size
也為 None,則會將其設定為 0.1。- train_sizefloat 或 int,預設值=None
如果為 float,則應介於 0.0 和 1.0 之間,並表示包含在訓練分割中的資料集比例。如果為 int,則表示訓練樣本的絕對數量。如果為 None,則該值會自動設定為測試大小的補數。
- random_stateint、RandomState 實例或 None,預設值=None
控制產生的訓練和測試索引的隨機性。傳遞一個 int 以在多個函數呼叫中產生可重複的輸出。請參閱詞彙表。
範例
>>> import numpy as np >>> from sklearn.model_selection import ShuffleSplit >>> X = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [3, 4], [5, 6]]) >>> y = np.array([1, 2, 1, 2, 1, 2]) >>> rs = ShuffleSplit(n_splits=5, test_size=.25, random_state=0) >>> rs.get_n_splits(X) 5 >>> print(rs) ShuffleSplit(n_splits=5, random_state=0, test_size=0.25, train_size=None) >>> for i, (train_index, test_index) in enumerate(rs.split(X)): ... print(f"Fold {i}:") ... print(f" Train: index={train_index}") ... print(f" Test: index={test_index}") Fold 0: Train: index=[1 3 0 4] Test: index=[5 2] Fold 1: Train: index=[4 0 2 5] Test: index=[1 3] Fold 2: Train: index=[1 2 4 0] Test: index=[3 5] Fold 3: Train: index=[3 4 1 0] Test: index=[5 2] Fold 4: Train: index=[3 5 1 0] Test: index=[2 4] >>> # Specify train and test size >>> rs = ShuffleSplit(n_splits=5, train_size=0.5, test_size=.25, ... random_state=0) >>> for i, (train_index, test_index) in enumerate(rs.split(X)): ... print(f"Fold {i}:") ... print(f" Train: index={train_index}") ... print(f" Test: index={test_index}") Fold 0: Train: index=[1 3 0] Test: index=[5 2] Fold 1: Train: index=[4 0 2] Test: index=[1 3] Fold 2: Train: index=[1 2 4] Test: index=[3 5] Fold 3: Train: index=[3 4 1] Test: index=[5 2] Fold 4: Train: index=[3 5 1] Test: index=[2 4]
- get_metadata_routing()[原始碼]#
取得此物件的元數據路由。
請查看使用者指南,了解路由機制如何運作。
- 返回:
- routingMetadataRequest
一個封裝路由資訊的
MetadataRequest
。