Почему ML.NET Matrix Factorization использует регрессионную оценку? - PullRequest
0 голосов
/ 04 июня 2019

Пример ML.NET для матричной факторизации здесь не имеет метода оценки для тестирования модели. Это пример one-class matrix factorization, потому что его параметры тренера установлены на options.LossFunction = MatrixFactorizationTrainer.LossFunctionType.SquareLossOneClass;

Я продолжил поиск и нашел другой пример факторизации матрицы . Хотя это не one-class matrixfactorization, но на этот раз у него есть оценка. Однако метод оценки предназначен для регрессионной модели. var metrics = mlcontext.Regression.Evaluate(prediction, labelColumnName: "Label", scoreColumnName: "Score");

Разве матричная факторизация не является классом бинарной классификации? Допустимо ли использование регрессионной оценки для модели? На самом деле я несколько раз задавал этот вопрос в сообществе в чате для ML.NET, но пока у меня нет ответов. Будем благодарны за любые комментарии или ответы.

1 Ответ

0 голосов
/ 04 июня 2019

Проблема, которую пытается решить второй пример, - это рекомендация, если вы посмотрите на строку 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

...