public static void CalcolaPrevisioni(MLContext mlContext, string nomeModello, PredictionEngine <AnalisiML, AnalisiMLPrevisioni> algoritmoDiPrevisione, int numeroDiPrevisioni, List <AnalisiML> listaDatiDiTest) { List <string> datiPrevisti = new List <string>(); List <string> valoriGrassiPrevisti = new List <string>(); valoriGrassiPrevisti.Add("Previsioni grasso (per calcolo): "); for (int i = 1; i < numeroDiPrevisioni; i++) { var risultatoPrevisione = algoritmoDiPrevisione.Predict(listaDatiDiTest[i]); valoriGrassiPrevisti.Add(risultatoPrevisione.ProteinePerCalcoloPreviste.ToString()); GestoreInterfaccia.StampaConfrontoDatoRealeControPrevisto(risultatoPrevisione.GrassoPerCalcoloPrevisto.ToString(), listaDatiDiTest[i].GrassoPerCalcolo.ToString()); } GestoreInterfaccia.StampaPrevisioneDati(valoriGrassiPrevisti); datiPrevisti.Add("Grasso (per calcolo) previsto"); foreach (var valoreGrasso in valoriGrassiPrevisti) { datiPrevisti.Add(valoreGrasso); } List <string> valoriProteinePrevisti = new List <string>(); valoriProteinePrevisti.Add("Previsioni proteine (per calcolo): "); for (int i = 1; i < numeroDiPrevisioni; i++) { var risultatoPrevisione = algoritmoDiPrevisione.Predict(listaDatiDiTest[i]); valoriProteinePrevisti.Add(risultatoPrevisione.ProteinePerCalcoloPreviste.ToString()); GestoreInterfaccia.StampaConfrontoDatoRealeControPrevisto(risultatoPrevisione.ProteinePerCalcoloPreviste.ToString(), listaDatiDiTest[i].ProteinePerCalcolo.ToString()); } GestoreInterfaccia.StampaPrevisioneDati(valoriProteinePrevisti); }
static void Main(string[] args) { Console.SetWindowSize(190, 70); var fileExcel = new XLWorkbook(percorsoFileExcel); var foglioExcelAnalisi = fileExcel.Worksheet("Analisi"); var listaAnalisiLatte = PrendiDatiFoglioAnalisi(foglioExcelAnalisi); var datiProduttori = PrendiDati(listaAnalisiLatte); //GestoreInterfaccia.StampaDatiSingoloProduttore(datiProduttori); var analisiML = TrasformaProduttoreInAnalisiML(datiProduttori); var datiPrevisti = PrevisioniML(analisiML); //CreaFileCsv(analisiML, datiPrevisti); GestoreInterfaccia.TerminaEsecuzione(); }