private static MalMyMediaLiteRatingPredictionRecSource <BiasedMatrixFactorization> CreateRecSourceFromRequest(LoadRecSourceRequest <BiasedMatrixFactorizationRecSourceParams> request)
        {
            BiasedMatrixFactorization underlyingRecSource = new BiasedMatrixFactorization();

            if (request.Params.BiasLearnRate != null)
            {
                underlyingRecSource.BiasLearnRate = request.Params.BiasLearnRate.Value;
            }
            if (request.Params.BiasReg != null)
            {
                underlyingRecSource.BiasReg = request.Params.BiasReg.Value;
            }
            if (request.Params.BoldDriver != null)
            {
                underlyingRecSource.BoldDriver = request.Params.BoldDriver.Value;
            }
            if (request.Params.FrequencyRegularization != null)
            {
                underlyingRecSource.FrequencyRegularization = request.Params.FrequencyRegularization.Value;
            }
            if (request.Params.LearnRate != null)
            {
                underlyingRecSource.LearnRate = request.Params.LearnRate.Value;
            }
            if (request.Params.NumFactors != null)
            {
                underlyingRecSource.NumFactors = request.Params.NumFactors.Value;
            }
            if (request.Params.NumIter != null)
            {
                underlyingRecSource.NumIter = request.Params.NumIter.Value;
            }
            if (request.Params.OptimizationTarget != null)
            {
                underlyingRecSource.Loss = (OptimizationTarget)Enum.Parse(typeof(OptimizationTarget), request.Params.OptimizationTarget);
            }
            if (request.Params.RegI != null)
            {
                underlyingRecSource.RegI = request.Params.RegI.Value;
            }
            if (request.Params.RegU != null)
            {
                underlyingRecSource.RegU = request.Params.RegU.Value;
            }

            MalMyMediaLiteRatingPredictionRecSource <BiasedMatrixFactorization> recSource = new MalMyMediaLiteRatingPredictionRecSource <BiasedMatrixFactorization>(
                recommender: underlyingRecSource,
                minEpisodesToCountIncomplete: request.Params.MinEpisodesToCountIncomplete,
                useDropped: request.Params.UseDropped,
                minUsersToCountAnime: request.Params.MinUsersToCountAnime
                );

            return(recSource);
        }
Пример #2
0
        private static MalMyMediaLiteRatingPredictionRecSource <ItemKNN> CreateRecSourceFromRequest(LoadRecSourceRequest <ItemKNNRecSourceParams> request)
        {
            ItemKNN underlyingRecSource = new ItemKNN();

            if (request.Params.Alpha != null)
            {
                underlyingRecSource.Alpha = request.Params.Alpha.Value;
            }
            if (request.Params.Correlation != null)
            {
                underlyingRecSource.Correlation = (RatingCorrelationType)Enum.Parse(typeof(RatingCorrelationType), request.Params.Correlation);
            }
            if (request.Params.K != null)
            {
                underlyingRecSource.K = request.Params.K.Value;
            }
            if (request.Params.NumIter != null)
            {
                underlyingRecSource.NumIter = request.Params.NumIter.Value;
            }
            if (request.Params.RegI != null)
            {
                underlyingRecSource.RegI = request.Params.RegI.Value;
            }
            if (request.Params.RegU != null)
            {
                underlyingRecSource.RegU = request.Params.RegU.Value;
            }
            if (request.Params.WeightedBinary != null)
            {
                underlyingRecSource.WeightedBinary = request.Params.WeightedBinary.Value;
            }

            MalMyMediaLiteRatingPredictionRecSource <ItemKNN> recSource = new MalMyMediaLiteRatingPredictionRecSource <ItemKNN>(
                recommender: underlyingRecSource,
                minEpisodesToCountIncomplete: request.Params.MinEpisodesToCountIncomplete,
                useDropped: request.Params.UseDropped,
                minUsersToCountAnime: request.Params.MinUsersToCountAnime
                );

            return(recSource);
        }
Пример #3
0
        private static MalMyMediaLiteRatingPredictionRecSource <SVDPlusPlus> CreateRecSourceFromRequest(LoadRecSourceRequest <SVDPlusPlusRecSourceParams> request)
        {
            SVDPlusPlus underlyingRecSource = new SVDPlusPlus();

            if (request.Params.BiasLearnRate != null)
            {
                underlyingRecSource.BiasLearnRate = request.Params.BiasLearnRate.Value;
            }
            if (request.Params.BiasReg != null)
            {
                underlyingRecSource.BiasReg = request.Params.BiasReg.Value;
            }
            if (request.Params.FrequencyRegularization != null)
            {
                underlyingRecSource.FrequencyRegularization = request.Params.FrequencyRegularization.Value;
            }
            if (request.Params.LearnRate != null)
            {
                underlyingRecSource.LearnRate = request.Params.LearnRate.Value;
            }
            if (request.Params.NumFactors != null)
            {
                underlyingRecSource.NumFactors = request.Params.NumFactors.Value;
            }
            if (request.Params.NumIter != null)
            {
                underlyingRecSource.NumIter = request.Params.NumIter.Value;
            }
            if (request.Params.Regularization != null)
            {
                underlyingRecSource.Regularization = request.Params.Regularization.Value;
            }

            MalMyMediaLiteRatingPredictionRecSource <SVDPlusPlus> recSource = new MalMyMediaLiteRatingPredictionRecSource <SVDPlusPlus>(
                recommender: underlyingRecSource,
                minEpisodesToCountIncomplete: request.Params.MinEpisodesToCountIncomplete,
                useDropped: request.Params.UseDropped,
                minUsersToCountAnime: request.Params.MinUsersToCountAnime
                );

            return(recSource);
        }