我已经声明了MathNet矩阵和Vector类型,如下所示......
Matrix<double> X = Matrix<double>.Build.Dense(sampleSize,2);
Vector<double> yObserved = Vector<double>.Build.Dense(sampleSize);
但是当我打电话给...
Vector<double> p = MultipleRegression.NormalEquations(X, yObserved, true);
Visual Studio提供错误
错误CS0411无法从用法推断出方法'MultipleRegression.NormalEquations(T [] [],T [],bool)'的类型参数。尝试显式指定类型参数。
那么如果不是这样的话,我怎么能用Matrix和Vector参数调用Multiple Regression类呢?为什么Visual Studio发现我的类型编码含糊不清?
我让我的代码与矩阵的锯齿状数组一起工作得很好;现在我想让它与Matrix / Vector类型一起运行。
MultipleRegression.NormalEquations()
的重载只有Matrix
和Vector
参数集组合的2个参数。
添加布尔参数会让人感到困惑,并且认为你正在尝试提供T[][], T[], bool
而不是Matrix, Vector
的参数。
我不知道拦截意味着什么,但如果没有它,你将不得不研究它的作用。将参数转换为T[][]
和T[]
,或者在没有布尔值的情况下调用它(见下文)。
var p = MultipleRegression.NormalEquations(X, yObserved);
要么
var p = MultipleRegression.NormalEquations<double>(X, yObserved);