public async Task LoadSubscribedFeeds() { var feeds = await _viewPointReaderRepository.GetFeedSubscriptionsAsync(); FeedSubscriptions.Clear(); feeds.ToList().ForEach(FeedSubscriptions.Add); }
public async Task <ActionResult <IEnumerable <string> > > Get() { var result = await _repository.GetFeedSubscriptionsAsync(); return(Ok()); }
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); } }