1

我希望可以提出与特定教程相关的问题。也许这里有人使用相同的教程并且知道答案。

我正在关注二进制分类的 Databricks 教程,使用Kaggle Titanic Dataset

本教程使用带标签的数据集。执行以下步骤:

  • 预处理:索引所有分类特征,将所有特征放入一个称为“特征”的向量中。
  • 建立模型
  • 评估模型
  • 作出预测

本教程使用一个大的、标记的数据集,该数据集分为训练和测试来构建模型并随后对其进行评估。我可以毫无问题地使用我的火车数据集。

现在我想对来自 Kaggle 的单独的“测试”数据集进行预测,该数据集没有标签(在我的情况下是“幸存”列,在教程的情况下“收入”列丢失)。

有人知道如何解决这个问题吗?我是否必须在测试数据集上单独执行教程的整个预处理部分,然后调用以下内容:?

finalPredictions = bestModel.transform(preprocessedUnlabelledTestDataset)

还是我可能需要将缺少的标签列(收入/幸存)添加到测试数据集中,然后进行预处理,然后调用上面的?

4

1 回答 1

0

据我了解,您希望将教程模型用于泰坦尼克号数据集。最简单的方法是这样的:

添加 cols 名称,并添加名为 train_or_test 的列。

然后进行 SQL 转换,然后进行预处理。

然后替换这一行

(trainingData, testData) = dataset.randomSplit([0.7, 0.3], seed = 100) trainData = dataset.filter([dataset.train_or_test ==1) # assuming train is set to 1 testData = dataset.filter(dataset.train_or_test ==0) # assuming test is set to 0 然后放下 cols 并照常进行 。

于 2017-11-20T18:54:35.140 回答