分割归一化数据集逻辑回归

时间:2020-05-30 15:11:51

标签: apache-spark machine-learning pyspark logistic-regression

给了我一个数据集,该数据集已经分为两个文件,一个测试数据文件和一个火车数据文件。两个文件中的数据均已标准化。 我被要求进行二项式逻辑回归,并使用一些指标评估模型,并使用Spark创建训练摘要。我将python与Spark结合使用。

目标是开发一个Spark应用程序,该应用程序将首先使用训练数据集构建分类模型,然后使用测试数据集对其进行测试。 最后,我将执行Spark应用程序并研究模型性能,同时改变训练期间允许的最大迭代次数。 对于最大迭代次数,我必须选择五个值来执行应用程序。对于每次执行,我需要记录至少三个 模拟性能指标,例如ROC曲线下的面积,准确性,精度,召回率等

Train: https://pastebin.com/KWsp6jAp
Test: https://pastebin.com/KVYEWZeA

我已经完成编码,但是由于数据集已经被分割而感到困惑。

我的问题是:

我愿意吗

  1. 需要同时检查文件,训练和测试缺失值或0和 用NaN替换它们(因为它们已经标准化)了?
  2. 两个文件的计算机都没有?
  3. 输入两个不同的单个矢量(每个文件一个)所有功能?
  4. StandardScaler可以缩放两个向量的特征列?
  5. 检查火车数据是否存在不平衡并进行处理?
  6. 如何找出我应该运行哪五个迭代?

我在这里遵循了本指南:https://github.com/dhirajprai/SparkML/blob/master/SparkML/logisticregression.ipynb (此处使用的数据集似乎具有不同的值/未标准化)

1 个答案:

答案 0 :(得分:0)

这是一个常识性的问题。

看这个例子http://www.semspirit.com/artificial-intelligence/machine-learning/preparing-the-data/preparing-the-data-in-python/splitting-the-dataset-into-training-and-test-sets/。我只是在Google上搜索并发现了这一点,尽管我从机器学习课程中知道我将陈述的内容。另外,您自己的参考文献也暗示相同的内容。

您从这两个来源中看到了通用方法:

  • 它们会执行您引用的所有操作。
  • 然后他们分裂了。

对于我来说,为什么不将数据作为培训和测试的先期原因传递给我,这并不常见。

您提到的所有方面都已经完成了很多工作-当您声明数据已标准化时。

归一化是一种缩放技术,其中可以对值进行移位和重新缩放,以使它们最终的范围为0到1。这也称为“最小-最大”缩放。因此,您无需对0(某物)的值做任何事情。在某些情况下,关于BTW的一些争论。

因此仅需要步骤3和6。