2017-07-11 68 views
-1

有誰知道我該如何訓練一個數據集並測試另一個數據集?
到目前爲止,我只知道,我們可以將一個數據集分成訓練和測試這一行代碼:將數據分割爲訓練和測試

X_train, X_test, y_train, y_test = \ 
     train_test_split(X, y, test_size=0.30, random_state=1) 

我不知道是什麼的一部分,如果我們培養的一個數據集和測試,我應該在該行改變在另一個數據集上。

+0

其他數據集必須具有相同數量和類型的特徵才能發生。除此之外,只需用第一個數據集訓練模型,然後預測其他數據。有什麼問題? –

回答

1

,您所提供的代碼行約train_test_split是第一步到訓練和測試你的數據集的不同部分。之後,您需要fit a modelpredict某些給定的結果model

然而,你似乎是機器學習和scikit學習的新手,只是回答你的問題並不能真正幫助你,相反,我會建議你遵循這個tutorial,它非常簡單明瞭也很簡單。

這將幫助你快速入門,並給你如何訓練和測試工作有很好的瞭解,併爲您提供有關cross_validation一些例子。

以防萬一,這裏是另一個tutorial,你可以遵循更好的理解。這個比較複雜一點,所以在第二位檢查一下。

這些之後,你將幾乎能找到使用scikit學習官方文檔的方式。

編輯:

如果你想要的工作完全不同的組,它幾乎一樣train_test_split,現在唯一的區別是,你不會有分裂您的數據進行訓練和測試部分:

X_train, X_test, y_train, y_test = \ 
     train_test_split(X, y, test_size=0.30, random_state=1) 

代替你只是把你的第一data_set(一個用於培訓),使您的X_trainy_train出來的:

X_train = data_train[feature_cols] 
y_train = data_train['y_col'] 

,併爲您的測試集相同的(前提是你有一個):

X_test = data_test[feature_cols] # make sure you're having the same features 
y_test = data_test['y_col'] 

之後,沒有什麼變化。

現在,如果你注意到,它的使用train_test_split如果你有兩個數據集相結合(所不同的是train_test_split隨機劃分的數據)

完全相同的情況下,我相信這是你問什麼。

希望這會在某種程度上有所幫助。

+0

我熟悉機器學習和您提到的所有概念!我還沒有看到的是在整個數據集中進行訓練並在全新的數據集中進行測試! – user8034918

+0

@ user8034918編輯,希望這次我得到了你的觀點 –

+0

@ user8034918你一直在說「一個全新的數據集」。你到底意味着什麼?兩個數據集之間的特徵類型和數量是否不同?如果是,那麼你可能不會使用它進行測試。因爲它沒有任何意義。機器學習只能做很多事情。 –

相關問題