【发布时间】:2014-01-05 06:35:30
【问题描述】:
我第一次在 F# 中使用 Accord.NET,在创建计算 KNN 距离的函数时遇到问题。
这是我的代码
static member RunKNN =
let inputs = MachineLearningEngine.TrainingInputClass
let outputs = MachineLearningEngine.TrainingOutputClass
let knn = new KNearestNeighbors<int*int*int*int>(1,inputs,outputs,null)
let input = 1,1,1,1
knn.Compute(input)
当我将 null 换成这样的函数时
let distanceFunction = fun (a:int,b:int,c:int,d:int)
(e:int,f:int,g:int,h:int)
(i:float) ->
0
我遇到这样的异常:
*Error 1 这个表达式应该有类型 System.Func 但这里有类型 int * int * int * int -> int * int * int * int -> float -> int*
到目前为止,我发现的唯一一篇接近我的问题的文章是 this 一篇。显然,F# 和 C# 处理委托的方式有问题?
我在 Accord.NET here 的 Google 群组上发布了同样的问题。
提前致谢
【问题讨论】:
标签: f# accord.net