【发布时间】:2014-08-03 09:25:47
【问题描述】:
使用 Accord.net (http://accord-framework.net/docs/html/T_Accord_Statistics_Analysis_LogisticRegressionAnalysis.htm) 的逻辑回归需要大约 5 分钟的计算时间。 SAS 在几秒钟内完成(也使用单 CPU 内核)。
数据集大约有 40000 行和 30 个输入。
为什么会有这样的差异? SAS 是否使用复杂度更高的算法?据我所知,逻辑回归是非常简单的算法。
有没有其他库会做得更好(最好是免费的)?
【问题讨论】:
-
SAS 可能不是免费的 - 但你得到你所支付的!
-
我需要轻量级的 .net 库,而不是 SAS、Matlab 等
-
请问,您能说出您从 SAS 获得哪些输出吗?我猜想是后处理部分(提取一些特定的统计数据)占用了大部分处理时间。如果是这种情况,我们可以尝试关闭信息提取部分中您不感兴趣的部分。
-
这是我在雅阁中使用的:
var regression = new LogisticRegressionAnalysis(inputs, outputs, titles.ToArray(), targetField.Title); regression.Compute(); foreach (var c in regression.Coefficients) { DS.Regressions.AddRegressionsRow(reg_id, groupKey, int.Parse(periodValRules), c.Name, c.OddsRatio, c.StandardError, c.ConfidenceLower, c.ConfidenceUpper, c.Value, c.Wald.Statistic * c.Wald.Statistic, c.Wald.PValue, targetField.Title); } -
我将在几天内对 R、SAS、Accord.NET 和 Extreme Optimization 进行比较...
标签: sas logistic-regression accord.net