PYSPARK - 预测目标标签缺少一类 - 逻辑回归

时间:2018-06-13 01:40:27

标签: python apache-spark pyspark apache-spark-mllib logistic-regression

我刚刚开始我的Pyspark之旅,建立一个Logistic回归模型,预测用户的设备类型(平板电脑,手机,电视,平板电脑和桌面)。

我有4个功能:

  1. total_minutes
  2. vendor_version(iOs,Web,Android等)
  3. DAY_OF_WEEK
  4. TIME_OF_DAY
  5. 精度

    该算法正在运行,我的准确率达到了很高的~83%,当我做最终检查以查看我预测的目标标签(device_type)时,我可以看到我缺少一个类(pad)。

    原型

    起初,我正在使用小数据进行原型设计,并认为可能需要更多数据。所以我抓住了更多数据(100万行)并运行了Log Reg模型。

    当检查预测目标类标签时,我仍然缺少一个类(pad)。有人遇到过同样的问题吗?

    假设

    我的假设首先是,'pad'类标签是如此之小(完整数据中的3312行,未分成火车和测试,而不是150,000行数据,以及其他目标类标签以上)Log Reg甚至懒得去预测它。

    问题

    可能是这种情况吗?或者还有其他我应该检查的事情吗?

    我的同事运行相同的算法,但是在Scala中,但是在他预测的表中有所有目标类标签。所以我不确定这里有什么问题。

    如果您需要更多信息,请与我们联系。

    以下是数据的示例:

    device_id   vendor_version  total_minutes   dow hour    device_type
    1   TV           100                5               22          tv
    2   Web           20                6               10          desktop
    3   iOs            4                3               9           phone
    4   Android    12030                7               15          pad
    5   Chromecast  2300                2               12          tablet
    6   Playstation  587                1               3           tv
    

    最佳,

1 个答案:

答案 0 :(得分:0)

我建议你打印一个混淆矩阵,你可以验证你的“阶级失衡”假设。这个问题与机器学习有关,而不是火花或pyspkark。

编辑: 您可以找到有关混淆矩阵here的详细信息。 此外,您可能会发现此link有用。