當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn train_test_split用法及代碼示例


本文簡要介紹python語言中 sklearn.model_selection.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-sparse 矩陣或 pandas 數據幀。

test_size浮點數或整數,默認=無

如果是浮點數,則應介於 0.0 和 1.0 之間,表示要包含在測試拆分中的數據集的比例。如果是int,表示測試樣本的絕對數量。如果為 None,則將該值設置為火車大小的補碼。如果 train_size 也為 None,它將被設置為 0.25。

train_size浮點數或整數,默認=無

如果是浮點數,則應介於 0.0 和 1.0 之間,並表示要包含在訓練拆分中的數據集的比例。如果是int,表示訓練樣本的絕對數量。如果沒有,該值將自動設置為測試大小的補碼。

random_stateint、RandomState 實例或無,默認=無

控製應用拆分之前應用於數據的改組。傳遞 int 以在多個函數調用之間實現可重現的輸出。請參閱術語表。

shuffle布爾,默認=真

拆分前是否對數據進行洗牌。如果 shuffle=False 則分層必須為 None。

stratify類似數組,默認=無

如果不是 None,則以分層方式拆分數據,將其用作類標簽。在用戶指南中閱讀更多信息。

返回

splitting列表,長度=2 * len(數組)

包含train-test 輸入拆分的列表。

例子

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

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.model_selection.train_test_split。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。