diff options
author | Serghei Cebotari <serghei@cebotari.ru> | 2023-09-20 13:46:55 +0300 |
---|---|---|
committer | Serghei Cebotari <serghei@cebotari.ru> | 2023-09-20 13:46:55 +0300 |
commit | cde4fca02029cf3552cb63c050d3002bab68828f (patch) | |
tree | 35f1c25e6c0089708f607dd11a81682209ce4123 /RhSolutions.ML.Builder/Program.cs | |
parent | 0c85e000b401c1bab36d07b82c4a0b727562c42a (diff) |
Solution organize
Diffstat (limited to 'RhSolutions.ML.Builder/Program.cs')
-rw-r--r-- | RhSolutions.ML.Builder/Program.cs | 47 |
1 files changed, 8 insertions, 39 deletions
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<Product>( - 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<ITransformer> 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<ITransformer> BuildAndTrainModel(IDataView trainingDataView, IEstimator<ITransformer> 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 |