簡體   English   中英

帶有test_size = 0的train_test_split如何影響數據?

[英]How is train_test_split with test_size=0 affecting the data?

我在代碼中使用了train_test_split,然后想將其更改為交叉驗證,但是奇怪的是正在暫停。

train, test = train_test_split(data, test_size=0)

x_train = train.drop('CRO', axis=1)
y_train = train['CRO']

scaler = MinMaxScaler(feature_range=(0, 1))
x_train_scaled = scaler.fit_transform(x_train)
x_train = pd.DataFrame(x_train_scaled)

for k in range(1, 5):
    knn = neighbors.KNeighborsRegressor(n_neighbors=k, weights='uniform')
    scores = model_selection.cross_val_score(knn, x_train, y_train, cv=5)
    print(scores.mean(), 'score for k = ', k)

這段代碼給出的得分大約為0.8,但是當我刪除第一行並更改第二行和第三行中為“數據”設置的“火車”設置時,得分更改為0.2,這很奇怪,因為我什至設置了test_size設為0,因此火車應該等於整個數據。 什么是羽化?

要注意的一件事是在train_test_split中傳遞的隱式參數。

默認情況下, shuffle=True ,可以很容易地通過混排將噪聲添加到您的訓練數據中,在不進行混排的情況下僅傳遞數據就可以將其他模式引入模型中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM