DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Newsletter
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Building and Serving a Custom Model With Azure ML, Then Wiring It Into a Foundry Agent
  • How Multi-Agent Systems can replace most of Manual ML Validation decisions - The Karpathy Loop Approach
  • Architecting Production AI Across Clouds: Patterns That Decide System Survival
  • Build Your First Knowledge Graph From Unstructured Documents Using Python

Trending

  • Data Integration Landscape 2026: Event Streaming, API, and Batch in the Era of Agentic AI
  • OpenCode: Setting Up an Open-Source AI Coding Assistant
  • YAGNI in the Age of AI Coding
  • Running a Self-Hosted WAF in Production: Practical Lessons From SafeLine

Draft This article hasn't been published, so readers can't see it.

In moderation This article is waiting for review, so readers can't see it yet.

Deleted This article has been deleted, so readers can't see it.

  1. DZone
  2. Data Engineering
  3. AI/ML
  4. Machine Learning for .Net Developers Using Visual Studio

Machine Learning for .Net Developers Using Visual Studio

Se how to install an extension to Visual Studio and a Nuget package.

By 
Ajay Kumar Singh user avatar
Ajay Kumar Singh
·
May. 21, 19 · Tutorial
Post on X (opens in a new tab) Share on LinkedIn (opens in a new tab)
15.7K Views

Join the DZone community Save articles, join the discussion, and download Refcards and Trend Reports with a free account.

Join for free Already a member? Log in

To do machine learning, I have been learning Python and R, and learning a new language sometimes takes time and effort (but of course Python is easy).

But I am very happy with the fact that I can also create machine learning applications using my .Net skills. The only extra effort I have to put forth is installing an extension to Visual Studio and a Nuget package. Let's see how to do this.

What we need:

Visual Studio 2017 15.6 or later

What we will build:

We will be creating a machine learning Hello World! app.

Installing Extension:

Download and install the Extension "ML.NET Model Builder."

Let's Start

Once we are done with the extension, let's create a Console App (.Net Core) named myMLApp.

Image title

The above is a simple console solution. Now we make use of the extension. When we right-click the project and click Add, We see an option for machine learning.

Image title

So let's add it. After adding, we get the below model builder.
Image titleChoose Sentiment Analysis (Binary classification) for Now. On the next step, we are asked to add data. The best thing is that it also has the option to add data from SQL Server.
Image titleBut we would choose file and upload the file downloaded from here. The data looks like below

SentimentSentimentText
1  ==RUDE== Dude, you are rude upload that carl picture back, or else.
1  == OK! ==  IM GOING TO VANDALIZE WILD ONES WIKI THEN!!!   

Select "Sentiment" under Column to Predict (Label). After uploading the file, we also see the preview of data.

Now its time to train our model. So we go to the next tab: "Train." This step is simple; you select the time duration you want to train your model for and the model builder will choose the best possible algorithm based on the accuracy. I think that's the best part of it.
Image titleWe can see that the best accuracy for the data we uploaded is 82.35 percent. No, we would also like to evaluate. Below, we can see why the particular algorithm was chosen and we could also increase the time and look for more options. But we'll continue with this for now.
Image titleNow comes the best part where the model builder generates code for us. So we just move to the next tab, "Code," and click "Add Projects." This has added 2 new projects in my solution, as shown below.
Image titleFor now, we can run the myMLAppML.ConsoleApp to try the model. In the above screenshot, we also have the sample code to consume the model.

Let's consume the model:

1. From myMLApp, add reference of "myMLAppML.Model"

2. Install nuget package Microsoft.ML to myMLApp

3. In myMLAppML.Model for the file MLModel.zip set the property "Copy to Output" to "Always"

4. Change the Program.cs Code for myMLApp to the below code

namespace myMLApp
{
class Program
{
static void Main(string[] args)
{
ConsumeModel();
}

public static void ConsumeModel()
{
// Load the model
MLContext mlContext = new MLContext();
ITransformer mlModel = mlContext.Model.Load("MLModel.zip", out var modelInputSchema);
var predEngine = mlContext.Model.CreatePredictionEngine<ModelInput, ModelOutput>(mlModel);
// Use the code below to add input data
var input = new ModelInput();
Console.WriteLine("Type your sentiment :");
input.SentimentText = Console.ReadLine();
// Try model on sample data
ModelOutput result = predEngine.Predict(input);
Console.WriteLine("Result=" + result.Prediction);
Console.ReadKey();
}
}
}

Now we can run our project "myMLApp."
Image titleWe're done! I tried to make it simple to understand, but you can also look at the below pages to learn more about it. Enjoy machine learning in .Net.

  • https://dotnet.microsoft.com/learn/machinelearning-ai/ml-dotnet-get-started-tutorial/intro
  • https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet
Machine learning

Opinions expressed by DZone contributors are their own.

Related

  • Building and Serving a Custom Model With Azure ML, Then Wiring It Into a Foundry Agent
  • How Multi-Agent Systems can replace most of Manual ML Validation decisions - The Karpathy Loop Approach
  • Architecting Production AI Across Clouds: Patterns That Decide System Survival
  • Build Your First Knowledge Graph From Unstructured Documents Using Python

Partner Resources

×

Comments

Likes

Loading

The next likes didn't load. Please try again.

The likes didn't load

Please try again in a moment.

See who liked this

Log in or join DZone for free to see who liked this article.

Log in Join for free
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook