train_test_split#
- sklearn.model_selection.train_test_split(*arrays, test_size=None, train_size=None, random_state=None, shuffle=True, stratify=None)[原始碼]#
將陣列或矩陣分割成隨機的訓練和測試子集。
快速實用工具,封裝了輸入驗證、
next(ShuffleSplit().split(X, y))
,並將其應用於輸入資料,只需單一呼叫即可將資料分割(並選擇性地進行子取樣)成一行程式碼。請在使用者指南中閱讀更多資訊。
- 參數:
- *arrays具有相同長度/形狀[0]的可索引序列
允許的輸入為列表、NumPy 陣列、SciPy 稀疏矩陣或 Pandas 資料框架。
- test_size浮點數或整數,預設值為 None
如果為浮點數,則應介於 0.0 和 1.0 之間,表示要包含在測試分割中的資料集比例。如果為整數,則表示測試樣本的絕對數量。如果為 None,則該值會設定為訓練大小的補數。如果
train_size
也為 None,則會設定為 0.25。- train_size浮點數或整數,預設值為 None
如果為浮點數,則應介於 0.0 和 1.0 之間,表示要包含在訓練分割中的資料集比例。如果為整數,則表示訓練樣本的絕對數量。如果為 None,則該值會自動設定為測試大小的補數。
- random_state整數、RandomState 實例或 None,預設值為 None
控制在分割資料前應用於資料的洗牌。傳遞整數值以便在多個函式呼叫之間產生可重複的輸出。請參閱詞彙表。
- shuffle布林值,預設值為 True
是否在分割資料之前打亂資料。如果 shuffle=False,則 stratify 必須為 None。
- stratify類陣列,預設值為 None
如果不是 None,則資料會以分層方式分割,並以此作為類別標籤。請在使用者指南中閱讀更多資訊。
- 返回:
- splitting列表,長度 = 2 * len(arrays)
包含輸入資料訓練測試分割的列表。
0.16 版新增: 如果輸入為稀疏矩陣,則輸出將會是
scipy.sparse.csr_matrix
。否則,輸出類型與輸入類型相同。
範例
>>> import numpy as np >>> from sklearn.model_selection import train_test_split >>> X, y = np.arange(10).reshape((5, 2)), range(5) >>> X array([[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]]) >>> list(y) [0, 1, 2, 3, 4]
>>> X_train, X_test, y_train, y_test = train_test_split( ... X, y, test_size=0.33, random_state=42) ... >>> X_train array([[4, 5], [0, 1], [6, 7]]) >>> y_train [2, 0, 3] >>> X_test array([[2, 3], [8, 9]]) >>> y_test [1, 4]
>>> train_test_split(y, shuffle=False) [[0, 1, 2], [3, 4]]