Add Evaluate method
This commit is contained in:
parent
327251d5e8
commit
ac86f7ff28
@ -1,21 +1,31 @@
|
||||
using Microsoft.ML;
|
||||
using Microsoft.ML.Data;
|
||||
|
||||
namespace RhSolutions.ML.Lib;
|
||||
|
||||
public class RhSolutionsMLBuilder
|
||||
{
|
||||
private static string _appPath = Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]) ?? ".";
|
||||
private static string _testDataPath = Path.Combine(_appPath, "..", "..", "..", "..", "TestData", "*");
|
||||
|
||||
private static MLContext _mlContext = new MLContext(seed: 0);
|
||||
private static ITransformer? _trainedModel = null;
|
||||
|
||||
public static void RebuildModel()
|
||||
{
|
||||
var _trainDataView = _mlContext.Data.LoadFromTextFile<Product>(
|
||||
Path.Combine(_appPath, "..", "..", "..", "..", "TrainData", "*"), hasHeader: false);
|
||||
var pipeline = ProcessData();
|
||||
BuildAndTrainModel(_trainDataView, pipeline, out ITransformer trainedModel);
|
||||
SaveModelAsFile(_mlContext, _trainDataView.Schema, trainedModel);
|
||||
BuildAndTrainModel(_trainDataView, pipeline, out ITransformer _trainedModel);
|
||||
SaveModelAsFile(_mlContext, _trainDataView.Schema, _trainedModel);
|
||||
}
|
||||
|
||||
public static MulticlassClassificationMetrics? EvaluateModel()
|
||||
{
|
||||
var testDataView = _mlContext.Data.LoadFromTextFile<Product>(_testDataPath, hasHeader: false, separatorChar: ';');
|
||||
return _mlContext.MulticlassClassification.Evaluate(_trainedModel?.Transform(testDataView));
|
||||
}
|
||||
|
||||
private static IEstimator<ITransformer> ProcessData()
|
||||
{
|
||||
var pipeline = _mlContext.Transforms.Conversion.MapValueToKey(inputColumnName: "Type", outputColumnName: "Label")
|
||||
|
Loading…
Reference in New Issue
Block a user