ML.NET: Machine Learning for .NET Developers

0

Welcome, .NET developers! Explore the power of ML.NET, Microsoft's opensource machine learning framework. Leverage your existing C# skills to build intelligent applications. No Python or TensorFlow needed.

 Step by Step Project Implementation:


Create Console Application Project using C#

Download Micorsoft.ML Package


Step 1st:

using Microsoft.ML.Data;



namespace MLExample

{

    internal class StudentData

    {

        [LoadColumn(0)]

        public float StudyHours;


        [LoadColumn(1)]

        public float Attendance;


        [LoadColumn(2), ColumnName("Label")]

        public bool Passed;

    }

}

2) Create StudentPrediction Class

internal class StudentPrediction
{
    [ColumnName("PredictedLabel")]
    public bool Passed;

    public float Probability { get; set; }

    public float Score { get; set; }
}

3) Create student-data.csv file as a Data Source
5,90,True
2,60,False
8,95,True
1,50,False
6,85,True
3,65,False
7,92,True
2,40,False
4,70,True
1,30,False


4) Program.cs file
using Microsoft.ML;
using MLExample;
using System;

    class Program
    {
        static void Main(String[] args)
        {
        Console.WriteLine("Hello");
        var context = new MLContext();

        // 2. Load Data (update your file path here)
        var data = context.Data.LoadFromTextFile<StudentData>(
            path: @"d:\student-data.csv",
            hasHeader: false,
            separatorChar: ',');

        // 3. Define the pipeline
        var pipeline = context.Transforms
      .Concatenate("Features", nameof(StudentData.StudyHours), nameof(StudentData.Attendance))
      .Append(context.BinaryClassification.Trainers.SdcaLogisticRegression(
          new Microsoft.ML.Trainers.SdcaLogisticRegressionBinaryTrainer.Options
          {
              MaximumNumberOfIterations = 10
          }));
        Console.WriteLine("Training started...");
        // 4. Train the model
        var model = pipeline.Fit(data);
        Console.WriteLine("Training completed.");

        // 5. Create prediction engine (for single prediction)
        var predictor = context.Model.CreatePredictionEngine<StudentData, StudentPrediction>(model);

        // 6. Create sample input
        var newStudent = new StudentData
        {
            StudyHours = 4,
            Attendance = 80
        };

        // 7. Predict
        var result = predictor.Predict(newStudent);

        // 8. Output result
        Console.WriteLine($"Study Hours: {newStudent.StudyHours}, Attendance: {newStudent.Attendance}");
        Console.WriteLine($"Will Pass: {result.Passed}, Probability: {result.Probability:P2}");
    }
    }

Post a Comment

0Comments

POST Answer of Questions and ASK to Doubt

Post a Comment (0)