如何使用 python 中的 mord 模块进行序数回归?

Posted

技术标签:

【中文标题】如何使用 python 中的 mord 模块进行序数回归?【英文标题】:How can I do ordinal regression using the mord module in python? 【发布时间】:2016-11-27 17:36:03 【问题描述】:

我正在尝试根据一些特征预测标签,并且我有一些训练数据。

在 python 中搜索序数回归,我找到了http://pythonhosted.org/mord/,但我不知道如何使用它。

如果有人有示例代码来演示如何使用此模块,那就太好了。 以下是 mord 模块中的类:

>>>import mord    
>>>dir(mord)
    ['LAD',
 'LogisticAT',
 'LogisticIT',
 'LogisticSE',
 'OrdinalRidge',
 '__builtins__',
 '__doc__',
 '__file__',
 '__name__',
 '__package__',
 '__path__',
 '__version__',
 'base',
 'check_X_y',
 'grad_margin',
 'linear_model',
 'log_loss',
 'metrics',
 'np',
 'obj_margin',
 'optimize',
 'propodds_loss',
 'regression_based',
 'sigmoid',
 'svm',
 'threshold_based',
 'threshold_fit',
 'threshold_predict',
 'utils']

【问题讨论】:

【参考方案1】:

我相信它遵循 Scikit-learn 的 API。所以这里是一个例子:

import numpy as np
import mord as m
c = m.LogisticIT() #Default parameters: alpha=1.0, verbose=0, maxiter=10000
c.fit(np.array([[0,0,0,1],[0,1,0,0],[1,0,0,0]]), np.array([1,2,3]))
c.predict(np.array([0,0,0,1]))
c.predict(np.array([0,1,0,0]))
c.predict(np.array([1,0,0,0]))

输出如下:

array([1])

array([2])

array([3])

希望对你有帮助

【讨论】:

以上是关于如何使用 python 中的 mord 模块进行序数回归?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 cProfile 模块对 python 中的每个函数进行计时?

如何导入python中的模块

python如何在一个模块中调用另一个模块中的变量

如何使用 Python 中的 subprocess 模块启动和停止 Linux 程序?

Python如何安装模块

python socket 编程