【问题标题】:Retrieve categories name from the predictions column in the result table of the ml model从 ml 模型的结果表中的预测列中检索类别名称
【发布时间】:2019-12-06 07:26:32
【问题描述】:

我使用 spark 2.4.3 和 java 开发了一个 ml 模型(逻辑回归模型),它根据电子邮件主题(输入)的关键字预测电子邮件的 WorkType(标签)。我使用训练数据来训练模型,并在测试数据上使用如下:

        LogisticRegressionModel lrModel = lr.fit(training);


        Dataset<Row> result = lrModel.transform(testing);

       result.select("WorkType","Subject","probability","label","prediction")
                .orderBy(org.apache.spark.sql.functions.col("probability").desc())
                .show(100, 30);

我得到的结果如下:

+------------------------+------------------------------+------------------------------+-----+----------+
|                WorkType|                       Subject|                   probability|label|prediction|
+------------------------+------------------------------+------------------------------+-----+----------+
|            Cancellation|Automatic reply: Ticket #72...|[0.8562867173211978,0.02423...|  0.0|       0.0|
|            Cancellation|Ticket #72827 Cancelling Po...|[0.8244896056944511,0.03953...|  0.0|       0.0|
|            Cancellation|Ticket #72827 Cancelling Po...|[0.8127553003889683,0.04411...|  0.0|       0.0|
|            Cancellation|Ticket #72616 Daily Cancell...|[0.8115900852592474,0.03392...|  0.0|       0.0|

为了训练模型,工作类型被转换为标签,现在我们可以转换结果中的预测列,以便它将工作类型字符串作为输出吗?请帮我。谢谢!

【问题讨论】:

    标签: java apache-spark machine-learning data-science apache-spark-ml


    【解决方案1】:

    如果您使用 LabelEncoder 转换标签,则使用 le.inverse_transform([0.0]) 会返回字符串

    【讨论】:

    • 谢谢。它有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 2019-01-19
    相关资源
    最近更新 更多