PYTHON 訓練集與測試集切分

2021-10-25 15:34:53 字數 947 閱讀 6935

通常,我們在建模之前會對原始資料進行切分,現對該方法進行打包。

#資料切分, 按照7:3切分訓練集與測試集

## data_df:原始資料

## object_col:目標變數

defdata_split

(data_df , object_col)

:from sklearn.model_selection import train_test_split

y = data_df[object_col]

x = data_df.drop(object_col , axis =1)

#測試集佔比30%

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=

0.3, random_state=0)

# print(y_train)

train = pd.concat(

[y_train, x_train]

, axis=1)

test = pd.concat(

[y_test, x_test]

, axis=1)

return x_train, x_test, y_train, y_test

if __name__ ==

'__main__'

:import pandas as pd

import numpy as np

data = pd.read_csv(

'data/cs-training.csv'

)## 切分訓練集、測試集

x_train, x_test, y_train, y_test = data_split(data ,

'seriousdlqin2yrs'

)

訓練集與測試集切分

為了 更好的訓練資料並且更好測試模型,一般做機器學習之前都會進行訓練集和測試集的切分。其實我們可以先把資料的輸入x和輸出向量y進行乙個水平拼接,然後隨機之後拆開,但是過程比較麻煩。在sklearn中shuffle的並不是訓練集,而是訓練集長度大小的隨機索引。shuffle indexes np.ra...

劃分測試集與訓練集

cnn datasets為自有資料集,np.random.permutation操作為打亂資料 函式shuffle也是是對原來的陣列進行重新洗牌 即隨機打亂原來的元素順序 區別在於shuffle直接在原來的陣列上進行操作,改變原來陣列的順序,無返回值。而permutation不直接在原來的陣列上進行...

訓練集 驗證集 測試集

訓練集loss 驗證集loss 測試集loss 乙個好的網路,二者的差距應該是很低的。但一般情況下因為網路不可避免地存在一定程度上的過擬合,所以肯定是train loss低於test lost,但如果低太多,就得考慮是過擬合的問題還是因為樣本的特徵空間不統一的問題。驗證集基本是在每個epoch完成後...