有谁知道如何在一个数据集上训练并在另一个数据集上进行测试? 到目前为止,我只知道我们可以使用这行代码将一个数据集拆分为训练和测试:
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
model
和predict
给出model
给出的某些结果。
但是,您似乎对机器学习和scikit-learn不熟悉,只是回答您的问题并不能真正帮助您,而是我建议您遵循此{{} 3}},它非常简单明了,也很简单。
这将有助于您入门并让您更好地了解培训和测试的工作方式,并为您提供有关cross_validation
的示例。
以防万一,您可以遵循另一个tutorial以便更好地理解。这个有点复杂,所以请在第二位检查。
在这些之后,您将能够使用scikit-learn官方文档找到自己的方式。
编辑:
如果您想处理完全不同的设置,它与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_train
和y_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
随机分割数据除外)
我相信这就是你要求的。
希望这在某种程度上有所帮助。