Mastering .NET Machine Learning
的书Jamie Dixon
有一些代码实现了多元线性回归。使用这些数据:
let xs = [| [|15.0;130.0|];[|18.0;127.0|];[|15.0;128.0|];[|17.0;120.0|];[|16.0;115.0|] |]
let y = [|3.6;3.5;3.8;3.4;2.6|]
以下统计数据在书中计算:
val sse : float = 0.1734125099 // Sum of Squared Errors
val mse : float = 0.03468250198 // Mean Squared Error
val rmse : float = 0.186232387 // Root Mean Squared Error
val r2 : float = 0.7955041157 // Coefficient of Determination or R-Squared
本书中的代码使用version 3.0.2
的{{1}}。
在最新版本(Accord.NET
)下,本书中的代码不起作用。以下是在此最新版本下的作品:
3.8.0
本书展示了计算open Accord.Statistics.Models.Regression.Linear
let ols = OrdinaryLeastSquares()
let regression = ols.Learn(xs, y)
let stderr = regression.GetStandardError(xs, y)
,sse
和mse
的方法,但是使用当前的API,我无法找到计算这些统计信息的方法。
有人可以使用rmse
的API推荐一种计算sse
,mse
或rmse
之一的方法吗?这三个统计数据通过简单公式相关,因此计算其中一个就足够了。我找到了一个公式,将其中一个与通过调用version 3.8.0
获得的值相关联,但该公式对我来说并不直观,它只是一个临时关系。
顺便说一句,我知道如何使用简单的公式计算三个统计数据,我只想知道它们与GetStandardError
和API函数返回的其他统计信息的关系,以及不节省一些执行时间用我自己的代码计算它们。