【发布时间】:2014-05-07 22:25:46
【问题描述】:
我的代码快照:(完整版:http://pastebin.com/7ALhSKgX)
var crossvalidation = new CrossValidation(size: data.Rows.Count, folds: 7);
crossvalidation.Fitting =
delegate(int k, int[] indicesTrain, int[] indicesValidation)
{
//omitted declarations for clarity
DecisionTree tree = new DecisionTree(attributes, classCount);
//omitted
double trainingError =
id3learning.ComputeError(trainingInputs, trainingOutputs);
double validationError =
id3learning.ComputeError(validationInputs, validationOutputs);
return new CrossValidationValues<DecisionTree>
(tree, trainingError, validationError);
};
错误在这一行:
return new CrossValidationValues<DecisionTree>
(tree, trainingError, validationError);
及其给出错误: 无法将匿名方法转换为委托类型“Accord.MachineLearning.CrossValidationFittingFunction”,因为块中的某些返回类型不能隐式转换为委托返回类型
【问题讨论】:
-
您的返回类型似乎与 watherver 兼容的类型不同。期待拟合。
标签: c# id3 cross-validation accord.net