用于训练和测试机器学习模型的不同数据集

时间:2021-06-23 11:06:27

标签: python jupyter-notebook

我目前正在研究来自 kaggle 的 BNP Paribas Cardiff Claim Management 数据集,并且我已经在 python(jupyter notebook)上为火车数据集编写了我的代码,我使用了其中的 20% 进行测试。这项研究要求我在完全不同的数据集 test.csv 上测试我的模型,并将预测的概率附加到 sample_sumbission.csv 上。我该怎么做。由于我使用特征选择技术对训练数据集进行了许多调整,因此我必须做出哪些改变

1 个答案:

答案 0 :(得分:0)

让我们定义以下内容:

Xtrain - Training data with shape nxm where n is number of records and m is features
ytrain - Target for each row in Xtrain
model - The chosen model
ypred_train - model(Xtrain)

我假设您有一个数据集 data,其中您已经完成了一些清理/特征工程,例如 Xtrain = clean(data)

由于您的模型是在 Xtrain 上训练的,该 clean 已使用 Xtest = clean(data_test) “转换”过,因此您需要确保 clean

你可以用不同的方式来做,最简单的是

  1. 定义一个函数 def clean(X): """ Cleans the data in X input ------ X: pandas.DataFrame """ X["sum"] = X["feature1"] + X["feature2"] X["lower"] = X["string_feature"].str.lower() X.drop(columns=["string"], inplace=True) return X #Cleaned data 例如
Xtrain = clean(data)
Xtest = clean(data_test)
ytest = model(Xtest)

然后你就可以简单地做

clean
  1. 根据您在 import 'dart:html' as html; import 'dart:js_util' as js_util; url = html.Url(provider); // Not defined url.hash = html.UrlSearchParams(js_util.jsify({ 'origin': html.window.location.origin, })).toString(); 中所做的工作,您可以查看 pipelines