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]]