From cde4fca02029cf3552cb63c050d3002bab68828f Mon Sep 17 00:00:00 2001 From: Serghei Cebotari Date: Wed, 20 Sep 2023 13:46:55 +0300 Subject: Solution organize --- RhSolutions.ML.Builder/Program.cs | 47 +++++++-------------------------------- 1 file changed, 8 insertions(+), 39 deletions(-) (limited to 'RhSolutions.ML.Builder/Program.cs') diff --git a/RhSolutions.ML.Builder/Program.cs b/RhSolutions.ML.Builder/Program.cs index 898e872..ffb62e3 100644 --- a/RhSolutions.ML.Builder/Program.cs +++ b/RhSolutions.ML.Builder/Program.cs @@ -1,42 +1,11 @@ -using Microsoft.ML; +using RhSolutions.ML.Lib; -namespace RhSolutions.ML.Builder +try { - public class Program - { - private static string _appPath = Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]) ?? "."; - private static MLContext _mlContext = new MLContext(seed: 0); - public static void Main() - { - var _trainDataView = _mlContext.Data.LoadFromTextFile( - Path.Combine(_appPath, "..", "..", "..", "Data", "train.tsv"), hasHeader: true); - var pipeline = ProcessData(); - BuildAndTrainModel(_trainDataView, pipeline, out ITransformer trainedModel); - SaveModelAsFile(_mlContext, _trainDataView.Schema, trainedModel); - } - - private static IEstimator ProcessData() - { - var pipeline = _mlContext.Transforms.Conversion.MapValueToKey(inputColumnName: "Type", outputColumnName: "Label") - .Append(_mlContext.Transforms.Text.FeaturizeText(inputColumnName: "Name", outputColumnName: "NameFeaturized")) - .Append(_mlContext.Transforms.Concatenate("Features", "NameFeaturized")) - .AppendCacheCheckpoint(_mlContext); - return pipeline; - } - - private static IEstimator BuildAndTrainModel(IDataView trainingDataView, IEstimator pipeline, out ITransformer trainedModel) - { - var trainingPipeline = pipeline.Append(_mlContext.MulticlassClassification.Trainers.SdcaMaximumEntropy("Label", "Features")) - .Append(_mlContext.Transforms.Conversion.MapKeyToValue("PredictedLabel")); - - trainedModel = trainingPipeline.Fit(trainingDataView); - return trainingPipeline; - } - - private static void SaveModelAsFile(MLContext mlContext, DataViewSchema trainingDataViewSchema, ITransformer model) - { - mlContext.Model.Save(model, trainingDataViewSchema, - Path.Combine(_appPath, "..", "..", "..", "Models", "model.zip")); - } - } + RhSolutionsMLBuilder.RebuildModel(); + Console.WriteLine("Model built"); +} +catch (Exception ex) +{ + Console.WriteLine(ex.Message); } \ No newline at end of file -- cgit v1.2.3