使用 Python API 进行逻辑回归多类分类

Posted

技术标签:

【中文标题】使用 Python API 进行逻辑回归多类分类【英文标题】:Logistic regression multiclass classification with Python API 【发布时间】:2016-12-16 00:07:28 【问题描述】:

目前 Python API 尚不支持 Spark 中的多类分类,但未来会支持,如 Spark 页面 1 中所述。

是否有任何发布日期或任何机会使用 Python 运行它,实现具有逻辑回归的多类?我知道它适用于 Scala,但我想用 Python 运行它。谢谢你。

【问题讨论】:

【参考方案1】:

scikit-learn 的 LogisticRegression 提供了一个 multi_class 参数。来自文档:

多类选项可以是“ovr”或“多项式”。如果选项 选择的是“ovr”,那么每个标签都适合一个二元问题。否则 损失最小化是多项损失拟合整个 概率分布。仅适用于“lbfgs”求解器。

因此,multi_class='ovr' 似乎是您的正确选择。

欲了解更多信息:see this link


添加:

根据 pyspark 文档,您仍然可以使用他们的 API 进行多类回归。使用类pyspark.mllib.classification.LogisticRegressionWithLBFGS,您可以获得用于多类分类的可选参数numClasses

【讨论】:

在 scikit-learn 和 scala api 中也有带有多类的 LogisticRegression,据我理解的问题是 这会在 PySpark API 中为 python 开发人员添加吗?跨度> 我已经尝试过您的建议,因为我也遇到了这样的问题,请您查看data science stackexchange的问题,希望您能解决我的问题。 我已经在github repo 发布了我的问题和完整的源代码,如果我遗漏了什么,请检查并告诉我?

以上是关于使用 Python API 进行逻辑回归多类分类的主要内容,如果未能解决你的问题,请参考以下文章

使用 scikit learn 训练逻辑回归进行多类分类

如何对python中未标记的数据进行多类分类?

《机器学习实战》之逻辑回归--基于Python3--02

《机器学习实战》之逻辑回归--基于Python3--01

机器学习之——多类分类问题

100 个离散值的多类分类的线性回归