public void SetupIrisPipeline() { _irisExample = new IrisData() { SepalLength = 3.3f, SepalWidth = 1.6f, PetalLength = 0.2f, PetalWidth = 5.1f, }; string _irisDataPath = Program.GetInvariantCultureDataPath("iris.txt"); var env = new MLContext(seed: 1, conc: 1); var reader = new TextLoader(env, columns: new[] { new TextLoader.Column("Label", DataKind.R4, 0), new TextLoader.Column("SepalLength", DataKind.R4, 1), new TextLoader.Column("SepalWidth", DataKind.R4, 2), new TextLoader.Column("PetalLength", DataKind.R4, 3), new TextLoader.Column("PetalWidth", DataKind.R4, 4), }, hasHeader: true ); IDataView data = reader.Read(_irisDataPath); var pipeline = new ColumnConcatenatingEstimator(env, "Features", new[] { "SepalLength", "SepalWidth", "PetalLength", "PetalWidth" }) .Append(new SdcaMultiClassTrainer(env, "Label", "Features", advancedSettings: (s) => { s.NumThreads = 1; s.ConvergenceTolerance = 1e-2f; })); var model = pipeline.Fit(data); _irisModel = model.CreatePredictionEngine <IrisData, IrisPrediction>(env); }
public void SetupPredictBenchmarks() { _trainedModel = Train(_dataPath); _predictionEngine = _trainedModel.CreatePredictionEngine <IrisData, IrisPrediction>(_env); _consumer.Consume(_predictionEngine.Predict(_example)); var reader = new TextLoader(_env, columns: new[] { new TextLoader.Column("Label", DataKind.R4, 0), new TextLoader.Column("SepalLength", DataKind.R4, 1), new TextLoader.Column("SepalWidth", DataKind.R4, 2), new TextLoader.Column("PetalLength", DataKind.R4, 3), new TextLoader.Column("PetalWidth", DataKind.R4, 4), }, hasHeader: true ); IDataView testData = reader.Read(_dataPath); IDataView scoredTestData = _trainedModel.Transform(testData); var evaluator = new MultiClassClassifierEvaluator(_env, new MultiClassClassifierEvaluator.Arguments()); _metrics = evaluator.Evaluate(scoredTestData, DefaultColumnNames.Label, DefaultColumnNames.Score, DefaultColumnNames.PredictedLabel); _batches = new IrisData[_batchSizes.Length][]; for (int i = 0; i < _batches.Length; i++) { var batch = new IrisData[_batchSizes[i]]; for (int bi = 0; bi < batch.Length; bi++) { batch[bi] = _example; } _batches[i] = batch; } }
public void SetupIrisPipeline() { _irisExample = new IrisData() { SepalLength = 3.3f, SepalWidth = 1.6f, PetalLength = 0.2f, PetalWidth = 5.1f, }; string irisDataPath = GetBenchmarkDataPath("iris.txt"); var env = new MLContext(seed: 1); // Create text loader. var options = new TextLoader.Options() { Columns = new[] { new TextLoader.Column("Label", DataKind.Single, 0), new TextLoader.Column("SepalLength", DataKind.Single, 1), new TextLoader.Column("SepalWidth", DataKind.Single, 2), new TextLoader.Column("PetalLength", DataKind.Single, 3), new TextLoader.Column("PetalWidth", DataKind.Single, 4), }, HasHeader = true, }; var loader = new TextLoader(env, options: options); IDataView data = loader.Load(irisDataPath); var pipeline = new ColumnConcatenatingEstimator(env, "Features", new[] { "SepalLength", "SepalWidth", "PetalLength", "PetalWidth" }) .Append(env.Transforms.Conversion.MapValueToKey("Label")) .Append(env.MulticlassClassification.Trainers.SdcaMaximumEntropy( new SdcaMaximumEntropyMulticlassTrainer.Options { NumberOfThreads = 1, ConvergenceTolerance = 1e-2f, })); var model = pipeline.Fit(data); _irisModel = env.Model.CreatePredictionEngine <IrisData, IrisPrediction>(model); }
public void SetupIrisPipeline() { _irisExample = new IrisData() { SepalLength = 3.3f, SepalWidth = 1.6f, PetalLength = 0.2f, PetalWidth = 5.1f, }; string _irisDataPath = BaseTestClass.GetDataPath("iris.txt"); var env = new MLContext(seed: 1, conc: 1); // Create text loader. var options = new TextLoader.Options() { Columns = new[] { new TextLoader.Column("Label", DataKind.Single, 0), new TextLoader.Column("SepalLength", DataKind.Single, 1), new TextLoader.Column("SepalWidth", DataKind.Single, 2), new TextLoader.Column("PetalLength", DataKind.Single, 3), new TextLoader.Column("PetalWidth", DataKind.Single, 4), }, HasHeader = true, }; var loader = new TextLoader(env, options: options); IDataView data = loader.Load(_irisDataPath); var pipeline = new ColumnConcatenatingEstimator(env, "Features", new[] { "SepalLength", "SepalWidth", "PetalLength", "PetalWidth" }) .Append(env.MulticlassClassification.Trainers.StochasticDualCoordinateAscent( new SdcaMultiClassTrainer.Options { NumberOfThreads = 1, ConvergenceTolerance = 1e-2f, })); var model = pipeline.Fit(data); _irisModel = model.CreatePredictionEngine <IrisData, IrisPrediction>(env); }
public void SetupIrisPipeline() { _irisExample = new IrisData() { SepalLength = 3.3f, SepalWidth = 1.6f, PetalLength = 0.2f, PetalWidth = 5.1f, }; string _irisDataPath = Program.GetInvariantCultureDataPath("iris.txt"); using (var env = new ConsoleEnvironment(seed: 1, conc: 1, verbose: false, sensitivity: MessageSensitivity.None, outWriter: EmptyWriter.Instance)) { var reader = new TextLoader(env, new TextLoader.Arguments() { Separator = "\t", HasHeader = true, Column = new[] { new TextLoader.Column("Label", DataKind.R4, 0), new TextLoader.Column("SepalLength", DataKind.R4, 1), new TextLoader.Column("SepalWidth", DataKind.R4, 2), new TextLoader.Column("PetalLength", DataKind.R4, 3), new TextLoader.Column("PetalWidth", DataKind.R4, 4), } }); IDataView data = reader.Read(new MultiFileSource(_irisDataPath)); var pipeline = new ConcatEstimator(env, "Features", new[] { "SepalLength", "SepalWidth", "PetalLength", "PetalWidth" }) .Append(new SdcaMultiClassTrainer(env, new SdcaMultiClassTrainer.Arguments { NumThreads = 1, ConvergenceTolerance = 1e-2f }, "Features", "Label")); var model = pipeline.Fit(data); _irisModel = model.MakePredictionFunction <IrisData, IrisPrediction>(env); } }
public void SetupPredictBenchmarks() { _trainedModel = Train(_dataPath); _consumer.Consume(_trainedModel.Predict(_example)); var testData = new Legacy.Data.TextLoader(_dataPath).CreateFrom <IrisData>(useHeader: true); var evaluator = new ClassificationEvaluator(); _metrics = evaluator.Evaluate(_trainedModel, testData); _batches = new IrisData[_batchSizes.Length][]; for (int i = 0; i < _batches.Length; i++) { var batch = new IrisData[_batchSizes[i]]; _batches[i] = batch; for (int bi = 0; bi < batch.Length; bi++) { batch[bi] = _example; } } }
public void Setup() { s_dataPath = Program.GetDataPath("iris.txt"); s_trainedModel = TrainCore(); IrisPrediction prediction = s_trainedModel.Predict(s_example); var testData = new TextLoader(s_dataPath).CreateFrom <IrisData>(useHeader: true); var evaluator = new ClassificationEvaluator(); s_metrics = evaluator.Evaluate(s_trainedModel, testData); s_batches = new IrisData[s_batchSizes.Length][]; for (int i = 0; i < s_batches.Length; i++) { var batch = new IrisData[s_batchSizes[i]]; s_batches[i] = batch; for (int bi = 0; bi < batch.Length; bi++) { batch[bi] = s_example; } } }
public void SetupPredictBenchmarks() { _trainedModel = Train(_dataPath); _predictionEngine = _mlContext.Model.CreatePredictionEngine <IrisData, IrisPrediction>(_trainedModel); _consumer.Consume(_predictionEngine.Predict(_example)); // Create text loader. var options = new TextLoader.Options() { Columns = new[] { new TextLoader.Column("Label", DataKind.Single, 0), new TextLoader.Column("SepalLength", DataKind.Single, 1), new TextLoader.Column("SepalWidth", DataKind.Single, 2), new TextLoader.Column("PetalLength", DataKind.Single, 3), new TextLoader.Column("PetalWidth", DataKind.Single, 4), }, HasHeader = true, }; var loader = new TextLoader(_mlContext, options: options); IDataView testData = loader.Load(_dataPath); IDataView scoredTestData = _trainedModel.Transform(testData); var evaluator = new MulticlassClassificationEvaluator(_mlContext, new MulticlassClassificationEvaluator.Arguments()); _metrics = evaluator.Evaluate(scoredTestData, DefaultColumnNames.Label, DefaultColumnNames.Score, DefaultColumnNames.PredictedLabel); _batches = new IrisData[_batchSizes.Length][]; for (int i = 0; i < _batches.Length; i++) { var batch = new IrisData[_batchSizes[i]]; for (int bi = 0; bi < batch.Length; bi++) { batch[bi] = _example; } _batches[i] = batch; } }
public void SetupIrisPipeline() { _irisExample = new IrisData() { SepalLength = 3.3f, SepalWidth = 1.6f, PetalLength = 0.2f, PetalWidth = 5.1f, }; string _irisDataPath = Program.GetInvariantCultureDataPath("iris.txt"); var pipeline = new LearningPipeline(); pipeline.Add(new TextLoader(_irisDataPath).CreateFrom <IrisData>(useHeader: true, separator: '\t')); pipeline.Add(new ColumnConcatenator("Features", new[] { "SepalLength", "SepalWidth", "PetalLength", "PetalWidth" })); pipeline.Add(new StochasticDualCoordinateAscentClassifier() { NumThreads = 1, ConvergenceTolerance = 1e-2f }); _irisModel = pipeline.Train <IrisData, IrisPrediction>(); }
public void SetupIrisPipeline() { _irisExample = new IrisData() { SepalLength = 3.3f, SepalWidth = 1.6f, PetalLength = 0.2f, PetalWidth = 5.1f, }; string _irisDataPath = Program.GetInvariantCultureDataPath("iris.txt"); var env = new MLContext(seed: 1, conc: 1); var reader = new TextLoader(env, columns: new[] { new TextLoader.Column("Label", DataKind.R4, 0), new TextLoader.Column("SepalLength", DataKind.R4, 1), new TextLoader.Column("SepalWidth", DataKind.R4, 2), new TextLoader.Column("PetalLength", DataKind.R4, 3), new TextLoader.Column("PetalWidth", DataKind.R4, 4), }, hasHeader: true ); IDataView data = reader.Read(_irisDataPath); var pipeline = env.Transforms.Concatenate("Features", new[] { "SepalLength", "SepalWidth", "PetalLength", "PetalWidth" }) .Append(env.MulticlassClassification.Trainers.StochasticDualCoordinateAscent( new SdcaMultiClassTrainer.Options { NumThreads = 1, ConvergenceTolerance = 1e-2f })); var model = pipeline.Fit(data); _irisModel = model.CreatePredictionEngine <IrisData, IrisPrediction>(env); }