public async Task LoadSubscribedFeeds()
        {
            var feeds = await _viewPointReaderRepository.GetFeedSubscriptionsAsync();

            FeedSubscriptions.Clear();
            feeds.ToList().ForEach(FeedSubscriptions.Add);
        }
Esempio n. 2
0
        public async Task <ActionResult <IEnumerable <string> > > Get()
        {
            var result = await _repository.GetFeedSubscriptionsAsync();

            return(Ok());
        }
Esempio n. 3
0
        public async Task BuildModel()
        {
            var createBlobContainerTask = CreateBlobContainer();

            MLContext mlContext = new MLContext();

            try
            {
                var sourceData = await _feedRepository.GetFeedSubscriptionsAsync();

                IDataView trainingData = mlContext.Data.LoadFromEnumerable <FeedData>(FormatFeedData(sourceData));
                //trainingData = mlContext.Data.Cache(trainingData);

                #region not used

                //var pipeline = mlContext.Transforms.Text.FeaturizeText("idFeaturized", nameof(FeedData.Id))
                //        .Append(mlContext.Transforms.Text.FeaturizeText("keyPhrasesFeaturized", nameof(FeedData.KeyPhrases))
                //        .Append(mlContext.Transforms.Concatenate("Features", "idFeaturized", "keyPhrasesFeaturized"))
                //        .Append(mlContext.BinaryClassification.Trainers.FieldAwareFactorizationMachine(new string[]
                //            {"Features"})));

                #endregion

                var pipeline = mlContext.Transforms.Text
                               .FeaturizeText("keyPhrasesFeaturized", nameof(FeedData.KeyPhrases))
                               .Append(mlContext.Transforms.Concatenate("Features", "keyPhrasesFeaturized"))
                               .Append(mlContext.BinaryClassification.Trainers.FieldAwareFactorizationMachine(new string[]
                                                                                                              { "Features" }));

                //train model
                var model = pipeline.Fit(trainingData);

                #region manual testing of model

                //test model

                //var predictionEngine = mlContext.Model.CreatePredictionEngine<FeedData, FeedRecommendation>(model);

                //var testFeedData = new FeedData
                //{
                //    KeyPhrases = new string[] {"skating"}
                //};

                //var testPrediction = predictionEngine.Predict(testFeedData);

                #endregion

                //save model
                var modelMemoryStream = new MemoryStream();
                mlContext.Model.Save(model, trainingData.Schema, modelMemoryStream);
                modelMemoryStream.Seek(0, SeekOrigin.Begin);

                await createBlobContainerTask;
                var   cloudBlockBlob = _cloudBlobContainer.GetBlockBlobReference("vprrecommendationmodel-mdl");
                await cloudBlockBlob.UploadFromStreamAsync(modelMemoryStream);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }