为什么ML.NET矩阵分解使用回归评估?

时间:2019-06-04 01:43:00

标签: ml.net matrix-factorization

The example of ML.NET for Matrix Factorization here没有用于测试模型的评估方法。这是一个one-class matrix factorization的示例,因为它的培训师选项设置为options.LossFunction = MatrixFactorizationTrainer.LossFunctionType.SquareLossOneClass;

我进一步搜索并发现了another matrix factorization example。虽然它不是one-class matrixfactorization,但是这次它有一个评估。但是,评估方法是针对回归模型的。 var metrics = mlcontext.Regression.Evaluate(prediction, labelColumnName: "Label", scoreColumnName: "Score");

矩阵分解不是一类二进制分类吗?对模型使用回归评估是否有效?实际上,我在ML.NET的community chat上提出了几次这个问题,但到目前为止我还没有任何答案。任何意见或答案将不胜感激。

1 个答案:

答案 0 :(得分:0)

第二个示例试图解决的问题是推荐,如果您查看line 55

用于评估的指标与回归指标相同,这就是为什么要使用它们的原因。

有关矩阵分解的更多示例,请查看文档:

https://docs.microsoft.com/en-us/dotnet/api/microsoft.ml.trainers.matrixfactorizationtrainer?view=ml-dotnet-preview

https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/Trainers/Recommendation