Skip to content

Commit 2feb479

Browse files
bamurtaughCESARDELATORRE
authored andcommitted
Migration/v1.3.1 (dotnet#597)
* Add anomaly detection example to solution * Updated label/score printing for anomaly detect With ML.NET v1.3.0, fixed issue where Predicted Label was always true. No longer need "hack" of comparing score to 0.2 * Update build props nuget versions ML.NET v1.3.1, ML Preview 0.15.0 * Renamed solution to match v1.3.1 * Update C# readmes to v1.3.1 * Update F# E2E readme * Update F# getting started readmes Change to v1.3.1 * Rename F# solution to v1.3.1 * Update to preview v0.15.1 * Changed to ML from MLPreview Update TimeSeries to v1.3.1 instead of preview * Update timeseries from preview to regular v1.3.1 * Change TimeSeries from preview to regular v1.3.1 * Update TensorFlow from Preview to regular v1.3.1 * Update TensorFlow from preview to regular v1.3.1
1 parent 8fbe3b4 commit 2feb479

File tree

56 files changed

+91
-56
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+91
-56
lines changed

samples/Directory.Build.props

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<Project>
22

33
<PropertyGroup>
4-
<MicrosoftMLVersion>1.2.0</MicrosoftMLVersion>
5-
<MicrosoftMLPreviewVersion>0.14.0</MicrosoftMLPreviewVersion>
4+
<MicrosoftMLVersion>1.3.1</MicrosoftMLVersion>
5+
<MicrosoftMLPreviewVersion>0.15.1</MicrosoftMLPreviewVersion>
66
</PropertyGroup>
77

88
</Project>

samples/csharp/end-to-end-apps/AnomalyDetection-Sales/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | WinForms app | .csv files | Spike and Change Point Detection of Product Sales | Anomaly Detection | IID Spike Detection and IID Change point Detection |
5+
| v1.3.1 | Dynamic API | Up-to-date | WinForms app | .csv files | Spike and Change Point Detection of Product Sales | Anomaly Detection | IID Spike Detection and IID Change point Detection |
66

77
![Alt Text](./SpikeDetectionE2EApp/SpikeDetection.WinForms/images/productsales.gif)
88

samples/csharp/end-to-end-apps/AnomalyDetection-Sales/SpikeDetectionE2EApp/SpikeDetection.ModelTrainer/SpikeDetectionModelTrainer.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
<ItemGroup>
1919
<PackageReference Include="Microsoft.ML" Version="$(MicrosoftMLVersion)" />
20-
<PackageReference Include="Microsoft.ML.TimeSeries" Version="$(MicrosoftMLPreviewVersion)" />
20+
<PackageReference Include="Microsoft.ML.TimeSeries" Version="$(MicrosoftMLVersion)" />
2121
</ItemGroup>
2222

2323
</Project>

samples/csharp/end-to-end-apps/DeepLearning_ImageClassification_TensorFlow/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | up-to-date | Console app | Images and text labels | Images classification | TensorFlow model | DeepLearning model |
5+
| v1.3.1 | Dynamic API | up-to-date | Console app | Images and text labels | Images classification | TensorFlow model | DeepLearning model |
66

77

88
## Problem

samples/csharp/end-to-end-apps/DeepLearning_ObjectDetection_Onnx/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | End-End app | image files | Object Detection | Deep Learning | Tiny Yolo2 ONNX model |
5+
| v1.3.1 | Dynamic API | Up-to-date | End-End app | image files | Object Detection | Deep Learning | Tiny Yolo2 ONNX model |
66

77
## Problem
88
Object detection is one of the classical problems in computer vision: Recognize what objects are inside a given image and also where they are in the image. For these cases, you can either use pre-trained models or train your own model to classify images specific to your custom domain.

samples/csharp/end-to-end-apps/MulticlassClassification-GitHubLabeler/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data sources | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | Console app | .csv file and GitHub issues | Issues classification | Multi-class classification | SDCA multi-class classifier, AveragedPerceptronTrainer |
5+
| v1.3.1 | Dynamic API | Up-to-date | Console app | .csv file and GitHub issues | Issues classification | Multi-class classification | SDCA multi-class classifier, AveragedPerceptronTrainer |
66

77

88
This is a simple prototype application to demonstrate how to use [ML.NET](https://www.nuget.org/packages/Microsoft.ML/) APIs. The main focus is on creating, training, and using ML (Machine Learning) model that is implemented in Predictor.cs class.

samples/csharp/end-to-end-apps/Recommendation-MovieRecommender/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data sources | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
|v1.2.0 | Dynamic API | up-to-date | End-End app | .csv | Movie Recommendation | Recommendation | Field Aware Factorization Machines |
5+
|v1.3.1 | Dynamic API | up-to-date | End-End app | .csv | Movie Recommendation | Recommendation | Field Aware Factorization Machines |
66

77
![Alt Text](https://github.com/dotnet/machinelearning-samples/blob/master/samples/csharp/end-to-end-apps/Recommendation-MovieRecommender/MovieRecommender/movierecommender/wwwroot/images/movierecommender.gif)
88

samples/csharp/end-to-end-apps/Regression-SalesForecast/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | ASP.NET Core web app and Console app | SQL Server and .csv files | Sales forecast | Regression | FastTreeTweedie Regression |
5+
| v1.3.1 | Dynamic API | Up-to-date | ASP.NET Core web app and Console app | SQL Server and .csv files | Sales forecast | Regression | FastTreeTweedie Regression |
66

77

88
eShopDashboardML is a web app with Sales Forecast predictions (per product and per country) using [Microsoft Machine Learning .NET (ML.NET)](https://github.com/dotnet/machinelearning).

samples/csharp/end-to-end-apps/ScalableMLModelOnWebAPI-IntegrationPkg/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
| ML.NET version | Status | App Type | Data type | Scenario | ML Task | Algorithms |
77
|----------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
8-
| v1.2.0 | Up-to-date | ASP.NET Core 2.2 WebAPI | Single data sample | Sentiment Analysis | Binary classification | Linear Classification |
8+
| v1.3.1 | Up-to-date | ASP.NET Core 2.2 WebAPI | Single data sample | Sentiment Analysis | Binary classification | Linear Classification |
99

1010

1111
**This posts explains how to optimize your code when running an ML.NET model on an ASP.NET Core WebAPI service.** The code would be very similar when running it on an ASP.NET Core MVC or Razor web app, too.

samples/csharp/end-to-end-apps/ScalableMLModelOnWebAPI/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
| ML.NET version | Status | App Type | Data type | Scenario | ML Task | Algorithms |
77
|----------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
8-
| v1.2.0 | Up-to-date | ASP.NET Core 2.2 WebAPI | Single data sample | Sentiment Analysis | Binary classification | Linear Classification |
8+
| v1.3.1 | Up-to-date | ASP.NET Core 2.2 WebAPI | Single data sample | Sentiment Analysis | Binary classification | Linear Classification |
99

1010

1111
**This posts explains how to optimize your code when running an ML.NET model on an ASP.NET Core WebAPI service.** The code would be very similar when running it on an ASP.NET Core MVC or Razor web app, too.

samples/csharp/end-to-end-apps/ScalableSentimentAnalysisBlazorWebApp/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
| ML.NET version | Status | App Type | Data type | Scenario | ML Task | Algorithms |
77
|----------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
8-
| v1.2.0 | Up-to-date | Blazor / ASP.NET Core 3.0 Preview 6 | Single data sample | Sentiment Analysis | Binary classification | Linear Classification |
8+
| v1.3.1 | Up-to-date | Blazor / ASP.NET Core 3.0 Preview 6 | Single data sample | Sentiment Analysis | Binary classification | Linear Classification |
99

1010
# Goal
1111

samples/csharp/getting-started/AnomalyDetection_CreditCardFraudDetection/CreditCardFraudDetection.Common/DataModels/TransactionFraudPrediction.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ public void PrintToConsole()
2222
// There is currently an issue where PredictedLabel is always set to true
2323
// Due to this issue, we'll manually choose the treshold that will indicate an anomaly
2424
// Issue: https://github.com/dotnet/machinelearning/issues/3990
25-
Console.WriteLine($"Predicted Label: {Score > 0.2f} (Score: {Score})");
25+
//Console.WriteLine($"Predicted Label: {Score > 0.2f} (Score: {Score})");
2626

27-
//Console.WriteLine($"Predicted Label: {PredictedLabel} (Score: {Score})");
27+
Console.WriteLine($"Predicted Label: {PredictedLabel} (Score: {Score})");
2828
}
2929
}
3030
}

samples/csharp/getting-started/AnomalyDetection_CreditCardFraudDetection/Readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------|------------|------------------|-----------|-----------------|-------------------|----------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | Two console apps | .csv file | Fraud Detection | Anomaly Detection | Randomized PCA |
5+
| v1.3.1 | Dynamic API | Up-to-date | Two console apps | .csv file | Fraud Detection | Anomaly Detection | Randomized PCA |
66

77
In this introductory sample, you'll see how to use ML.NET to predict a credit card fraud. In the world of machine learning, this type of prediction is known as anomaly (or outlier) detection.
88

samples/csharp/getting-started/AnomalyDetection_PowerMeterReadings/PowerAnomalyDetection/PowerAnomalyDetection.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<ItemGroup>
99
<PackageReference Include="Microsoft.ML" Version="$(MicrosoftMLVersion)" />
10-
<PackageReference Include="Microsoft.ML.TimeSeries" Version="$(MicrosoftMLPreviewVersion)" />
10+
<PackageReference Include="Microsoft.ML.TimeSeries" Version="$(MicrosoftMLVersion)" />
1111
</ItemGroup>
1212

1313
<ItemGroup>

samples/csharp/getting-started/AnomalyDetection_PowerMeterReadings/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | Console app | .csv files | Power Meter Anomaly Detection | Time Series- Anomaly Detection | SsaSpikeDetection |
5+
| v1.3.1 | Dynamic API | Up-to-date | Console app | .csv files | Power Meter Anomaly Detection | Time Series- Anomaly Detection | SsaSpikeDetection |
66

77
In this sample, you'll see how to use [ML.NET](https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet) to detect anomalies in time series data.
88

samples/csharp/getting-started/AnomalyDetection_Sales/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | Console app | .csv files | Product Sales Spike Detection| Time Series - Anomaly Detection | IID Spike Detection and IID Change point Detection |
5+
| v1.3.1 | Dynamic API | Up-to-date | Console app | .csv files | Product Sales Spike Detection| Time Series - Anomaly Detection | IID Spike Detection and IID Change point Detection |
66

77
In this introductory sample, you'll see how to use [ML.NET](https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet) to detect **spikes** and **change points** in Product sales. In the world of machine learning, this type of task is called TimeSeries Anomaly Detection.
88

samples/csharp/getting-started/AnomalyDetection_Sales/SpikeDetection/SpikeDetectionConsoleApp/SpikeDetection.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<ItemGroup>
99
<PackageReference Include="Microsoft.ML" Version="$(MicrosoftMLVersion)" />
10-
<PackageReference Include="Microsoft.ML.TimeSeries" Version="$(MicrosoftMLPreviewVersion)" />
10+
<PackageReference Include="Microsoft.ML.TimeSeries" Version="$(MicrosoftMLVersion)" />
1111
</ItemGroup>
1212

1313
</Project>

samples/csharp/getting-started/BinaryClassification_CreditCardFraudDetection/Readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | Two console apps | .csv file | Fraud Detection | Two-class classification | FastTree Binary Classification |
5+
| v1.3.1 | Dynamic API | Up-to-date | Two console apps | .csv file | Fraud Detection | Two-class classification | FastTree Binary Classification |
66

77
In this introductory sample, you'll see how to use ML.NET to predict a credit card fraud. In the world of machine learning, this type of prediction is known as binary classification.
88

samples/csharp/getting-started/BinaryClassification_HeartDiseaseDetection/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | Console app | .txt files | Heart disease classification | Binary classification | FastTree |
5+
| v1.3.1 | Dynamic API | Up-to-date | Console app | .txt files | Heart disease classification | Binary classification | FastTree |
66

77
In this introductory sample, you'll see how to use [ML.NET](https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet) to predict type of heart disease. In the world of machine learning, this type of prediction is known as **binary classification**.
88

samples/csharp/getting-started/BinaryClassification_SentimentAnalysis/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | up-to-date | Console app | .tsv files | Sentiment Analysis | Two-class classification | Linear Classification |
5+
| v1.3.1 | Dynamic API | up-to-date | Console app | .tsv files | Sentiment Analysis | Two-class classification | Linear Classification |
66

77
In this introductory sample, you'll see how to use [ML.NET](https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet) to predict a sentiment (positive or negative) for customer reviews. In the world of machine learning, this type of prediction is known as **binary classification**.
88

samples/csharp/getting-started/BinaryClassification_SpamDetection/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Might need to update project structure to match template | Console app | .tsv files | Spam detection | Two-class classification | Averaged Perceptron (linear learner) |
5+
| v1.3.1 | Dynamic API | Might need to update project structure to match template | Console app | .tsv files | Spam detection | Two-class classification | Averaged Perceptron (linear learner) |
66

77
In this sample, you'll see how to use [ML.NET](https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet) to predict whether a text message is spam. In the world of machine learning, this type of prediction is known as **binary classification**.
88

samples/csharp/getting-started/Clustering_CustomerSegmentation/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | Console app | .csv files | Customer segmentation | Clustering | K-means++ |
5+
| v1.3.1 | Dynamic API | Up-to-date | Console app | .csv files | Customer segmentation | Clustering | K-means++ |
66

77
## Problem
88

samples/csharp/getting-started/Clustering_Iris/READMe.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | Console app | .txt file | Clustering Iris flowers | Clustering | K-means++ |
5+
| v1.3.1 | Dynamic API | Up-to-date | Console app | .txt file | Clustering Iris flowers | Clustering | K-means++ |
66

77
In this introductory sample, you'll see how to use [ML.NET](https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet) to divide iris flowers into different groups that correspond to different types of iris. In the world of machine learning, this task is known as **clustering**.
88

samples/csharp/getting-started/DeepLearning_ImageClassification_TensorFlow/ImageClassification/ImageClassification.Score.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<ItemGroup>
1414
<PackageReference Include="Microsoft.ML" Version="$(MicrosoftMLVersion)" />
1515
<PackageReference Include="Microsoft.ML.ImageAnalytics" Version="$(MicrosoftMLVersion)" />
16-
<PackageReference Include="Microsoft.ML.TensorFlow" Version="$(MicrosoftMLPreviewVersion)" />
16+
<PackageReference Include="Microsoft.ML.TensorFlow" Version="$(MicrosoftMLVersion)" />
1717
</ItemGroup>
1818

1919
</Project>

samples/csharp/getting-started/DeepLearning_ImageClassification_TensorFlow/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | up-to-date | Console app | Images and text labels | Images classification | TensorFlow Inception5h | DeepLearning model |
5+
| v1.3.1 | Dynamic API | up-to-date | Console app | Images and text labels | Images classification | TensorFlow Inception5h | DeepLearning model |
66

77

88
## Problem

samples/csharp/getting-started/DeepLearning_ObjectDetection_Onnx/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
| ML.NET version | API type | Status | App Type | Data type | Scenario | ML Task | Algorithms |
44
|----------------|-------------------|-------------------------------|-------------|-----------|---------------------|---------------------------|-----------------------------|
5-
| v1.2.0 | Dynamic API | Up-to-date | Console app | image files | Object Detection | Deep Learning | Tiny Yolo2 ONNX model |
5+
| v1.3.1 | Dynamic API | Up-to-date | Console app | image files | Object Detection | Deep Learning | Tiny Yolo2 ONNX model |
66

77
## Problem
88
Object detection is one of the classical problems in computer vision: Recognize what the objects are inside a given image and also where they are in the image. For these cases, you can either use pre-trained models or train your own model to classify images specific to your custom domain.

samples/csharp/getting-started/DeepLearning_TensorFlowEstimator/ImageClassification.Predict/ImageClassification.Predict.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<ItemGroup>
1717
<PackageReference Include="Microsoft.ML" Version="$(MicrosoftMLVersion)" />
1818
<PackageReference Include="Microsoft.ML.ImageAnalytics" Version="$(MicrosoftMLVersion)" />
19-
<PackageReference Include="Microsoft.ML.TensorFlow" Version="$(MicrosoftMLPreviewVersion)" />
19+
<PackageReference Include="Microsoft.ML.TensorFlow" Version="$(MicrosoftMLVersion)" />
2020
</ItemGroup>
2121

2222
<ItemGroup>

0 commit comments

Comments
 (0)