在accord.net中缓慢的逻辑回归性能

时间:2014-08-03 09:25:48

标签: sas logistic-regression accord.net

使用Accord.net(http://accord-framework.net/docs/html/T_Accord_Statistics_Analysis_LogisticRegressionAnalysis.htm)的Logistic回归计算大约需要5分钟。 SAS在几秒钟内完成(使用单CPU内核)。

数据集大约有40000行和30个输入。

为什么会有这样的差异? SAS是否使用更复杂的算法?据我所知,Logistic回归算法非常简单。

还有其他库会做得更好(最好是免费的)吗?

2 个答案:

答案 0 :(得分:1)

解决方案是注释掉这一行:

https://github.com/accord-net/framework/blob/development/Sources/Accord.Statistics/Analysis/LogisticRegressionAnalysis.cs#L504

它计算了一些我不需要的非常昂贵的统计数据。

有一个类可以与标准的Accord包一起使用:https://gist.github.com/eugenem/e1dd2ef2149e8c21c37d

答案 1 :(得分:0)

我在多项逻辑回归中有同样的过期。我对Accord,R,SPSS和Python的Scikit进行了比较。我有30个输入,10个输出和1600多个训练样例。雅阁花了8分钟,其余的花了2-8 sek。雅阁看起来很漂亮,但对于多项逻辑回归来说,它是缓慢的。我的解决方案是我创建了一个小型python webservice来计算回归并将结果保存在数据库中。