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

Python PYSPARK-预测目标标签缺少一类-逻辑回归,python,apache-spark,pyspark,apache-spark-mllib,logistic-regression,Python,Apache Spark,Pyspark,Apache Spark Mllib,Logistic Regression,我刚刚开始我的Pyspark之旅,建立一个逻辑回归模型,预测用户的设备类型(平板电脑、手机、电视、平板电脑和桌面) 我有四个特点: 总分钟 供应商版本(iOs、Web、Android等) 一周中的第二天 每天的时间 准确度 算法正在运行,我的准确率达到了83%,当我进行最终检查以查看预测的目标标签(设备类型)时,我可以看到我缺少一个类(pad) 原型 起初,我使用小数据进行原型设计,并认为可能需要更多数据。因此,我获取了更多数据(100万行)并运行了Log-Reg模型 当检查预测目标类标签时,

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

我有四个特点:

  • 总分钟
  • 供应商版本(iOs、Web、Android等)
  • 一周中的第二天
  • 每天的时间

  • 准确度

    算法正在运行,我的准确率达到了83%,当我进行最终检查以查看预测的目标标签(设备类型)时,我可以看到我缺少一个类(pad)

    原型

    起初,我使用小数据进行原型设计,并认为可能需要更多数据。因此,我获取了更多数据(100万行)并运行了Log-Reg模型

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

    假设

    首先,我的假设是,“pad”类标签非常小(完整数据中有3312行,尚未拆分为训练和测试,而其他目标类标签的数据为150000行及以上),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
    
    最好的


    Sugi

    我建议你打印一份混淆矩阵,你可以验证你关于“阶级失衡”的假设。这个问题与机器学习比spark或pyspkark更相关

    编辑: 您可以找到有关混淆矩阵的详细信息。
    您可能会发现这很有帮助。

    嗯,我没有打印混淆矩阵。但是我设法得到了预测的不同类别的概率。最后一个类的所有值的概率都很小,为0.04%或更小。这似乎强化了我的假设。虽然我的同事能够在他的预测中得到所有的目标类很奇怪,但我仍然认为你应该打印一个混淆矩阵,你的同事是否使用了完全相同的log reg(package/algo/programming language)来获得相同的结果?如果您和您的同事使用完全相同的代码并得到不同的结果,那么这是代码的问题,如果存在差异,那么您必须分析结果以及您使用的算法(包/库)。缺少一个类是什么意思?你能回答你的问题并显示一些代码+输出,表明你缺少一个类吗?此外,概述(简要)如何将LR设置为多标签预测因子。