c#AutoML回归训练不会显示Rsquared或Mean绝对误差

c#AutoML回归训练不会显示Rsquared或Mean绝对误差,c#,ml.net,automl,C#,Ml.net,Automl,我正在使用c#AutoML训练回归模型,我看不到任何算法的Rsquared或MeanError //loading train data through Text Loader var trainData = loader.Load(_filePath); Console.WriteLine("created train data"); var settings = new RegressionExperimentSettings

我正在使用c#AutoML训练回归模型,我看不到任何算法的Rsquared或MeanError

        //loading train data through Text Loader
        var trainData = loader.Load(_filePath);
        Console.WriteLine("created train data");

        var settings = new RegressionExperimentSettings
        {
            MaxExperimentTimeInSeconds = 10,
            //OptimizingMetric = RegressionMetric.MeanAbsoluteError
        };

        var progress = new Progress<RunDetail<RegressionMetrics>>(p =>
        {
            if (p.ValidationMetrics != null)
            {
                Console.WriteLine($"Current Result - {p.TrainerName}, {p.ValidationMetrics.RSquared}, {p.ValidationMetrics.MeanAbsoluteError}");
            }
        });

        var experiment = context.Auto().CreateRegressionExperiment(settings);
        //find best model

        var labelColumnInfo = new ColumnInformation()
        {
            LabelColumnName = "median_house_value"
        };

        var result = experiment.Execute(trainData, labelColumnInfo, progressHandler: progress);
        Console.WriteLine(Environment.NewLine);
        Console.WriteLine("Best run:");
        Console.WriteLine($"Trainer name - {result.BestRun.TrainerName}");
        Console.WriteLine($"RSquared - {result.BestRun.ValidationMetrics.RSquared}");
        Console.WriteLine($"MAE - {result.BestRun.ValidationMetrics.MeanAbsoluteError}");
        Console.ReadLine();
//通过文本加载器加载列车数据
var trainData=loader.Load(_filePath);
Console.WriteLine(“创建的列车数据”);
变量设置=新的回归实验设置
{
MaxExperimentTimeInSeconds=10,
//优化度量=回归度量。平均绝对误差
};
变量进度=新进度(p=>
{
if(p.ValidationMetrics!=null)
{
WriteLine($“当前结果-{p.TrainerName},{p.ValidationMetrics.RSquared},{p.ValidationMetrics.MeanAbsoluteError}”);
}
});
var实验=context.Auto().CreateRegressionExperiment(设置);
//寻找最佳模型
var labelColumnInfo=新ColumnInformation()
{
LabelColumnName=“房屋价值中值”
};
var result=experiment.Execute(trainData、labelColumnInfo、progressHandler:progress);
Console.WriteLine(Environment.NewLine);
Console.WriteLine(“最佳运行:”);
WriteLine($“培训师名称-{result.BestRun.TrainerName}”);
WriteLine($“RSquared-{result.BestRun.ValidationMetrics.RSquared}”);
WriteLine($“MAE-{result.BestRun.ValidationMetrics.MeanAbsoluteError}”);
Console.ReadLine();

当我运行控制台应用程序时,我得到的输出是
0
-infinite或
不是一个数字

当我的数据集太小时,我得到了类似的结果

如果我没有记错的话,AutoML使用的是10倍交叉验证。这可能导致测试数据集太小,无法从中获得任何可用的度量

所以,如果您的数据集很小,您可以尝试使用更大的数据集,看看它是否有更好的度量,至少可以排除这种情况