Skip to content

Commit cffb3fe

Browse files
GalOshrishauheen
authored andcommitted
Add release notes for ML.NET 0.7 (dotnet#1517)
1 parent 73762a8 commit cffb3fe

File tree

1 file changed

+143
-0
lines changed

1 file changed

+143
-0
lines changed

Diff for: docs/release-notes/0.7/release-0.7.md

+143
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# ML.NET 0.7 Release Notes
2+
3+
Today we are excited to release ML.NET 0.7, which our algorithms strongly
4+
recommend you to try out! This release enables making recommendations with
5+
matrix factorization, identifying unusual events with anomaly detection,
6+
adding custom transformations to your ML pipeline, and more! We also have a
7+
small surprise for those who work in teams that use both .NET and Python.
8+
Finally, we wanted to thank the many new contributors to the project since the
9+
last release!
10+
11+
### Installation
12+
13+
ML.NET supports Windows, MacOS, and Linux. See [supported OS versions of .NET
14+
Core
15+
2.0](https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0-supported-os.md)
16+
for more details.
17+
18+
You can install ML.NET NuGet from the CLI using:
19+
```
20+
dotnet add package Microsoft.ML
21+
```
22+
23+
From package manager:
24+
```
25+
Install-Package Microsoft.ML
26+
```
27+
28+
### Release Notes
29+
30+
Below are some of the highlights from this release.
31+
32+
* Added Matrix factorization for recommendation problems
33+
([#1263](https://github.com/dotnet/machinelearning/pull/1263))
34+
35+
* Matrix factorization (MF) is a common approach to recommendations when
36+
you have data on how users rated items in your catalog. For example, you
37+
might know how users rated some movies and want to recommend which other
38+
movies they are likely to watch next.
39+
* ML.NET's MF uses [LIBMF](https://github.com/cjlin1/libmf).
40+
* Example usage of MF can be found
41+
[here](https://github.com/dotnet/machinelearning/blob/d68388a1c9994a5b429b194b64b2b0782834cb78/docs/samples/Microsoft.ML.Samples/Dynamic/MatrixFactorization.cs).
42+
The example is general but you can imagine that the matrix rows
43+
correspond to users, matrix columns correspond to movies, and matrix
44+
values correspond to ratings. This matrix would be quite sparse as users
45+
have only rated a small subset of the catalog.
46+
* Note: [ML.NET
47+
0.3](https://github.com/dotnet/machinelearning/blob/d68388a1c9994a5b429b194b64b2b0782834cb78/docs/release-notes/0.3/release-0.3.md)
48+
included Field-Aware Factorization Machines (FFM) as a learner for
49+
binary classification. FFM is a generalization of MF, but there are a
50+
few differences:
51+
* FFM enables taking advantage of other information beyond the rating
52+
a user assigns to an item (e.g. movie genre, movie release date,
53+
user profile).
54+
* FFM is currently limited to binary classification (the ratings needs
55+
to be converted to 0 or 1), whereas MF solves a regression problem
56+
(the ratings can be continuous numbers).
57+
* If the only information available is the user-item ratings, MF is
58+
likely to be significantly faster than FFM.
59+
* A more in-depth discussion can be found
60+
[here](https://www.csie.ntu.edu.tw/~cjlin/talks/recsys.pdf).
61+
62+
* Enabled anomaly detection scenarios
63+
([#1254](https://github.com/dotnet/machinelearning/pull/1254))
64+
65+
* [Anomaly detection](https://en.wikipedia.org/wiki/Anomaly_detection)
66+
enables identifying unusual values or events. It is used in scenarios
67+
such as fraud detection (identifying suspicious credit card
68+
transactions) and server monitoring (identifying unusual activity).
69+
* This release includes the following anomaly detection techniques:
70+
SSAChangePointDetector, SSASpikeDetector, IidChangePointDetector, and
71+
IidSpikeDetector.
72+
* Example usage can be found
73+
[here](https://github.com/dotnet/machinelearning/blob/7fb76b026d0035d6da4d0b46bd3f2a6e3c0ce3f1/test/Microsoft.ML.TimeSeries.Tests/TimeSeriesDirectApi.cs).
74+
75+
* Enabled using ML.NET in Windows x86 apps
76+
([#1008](https://github.com/dotnet/machinelearning/pull/1008))
77+
78+
* ML.NET can now be used in x86 apps.
79+
* Some components that are based on external dependencies (e.g.
80+
TensorFlow) will not be available in x86. Please open an issue on GitHub
81+
for discussion if this blocks you.
82+
83+
* Added the `CustomMappingEstimator` for custom data transformations
84+
[#1406](https://github.com/dotnet/machinelearning/pull/1406)
85+
86+
* ML.NET has a wide variety of data transformations for pre-processing and
87+
featurizing data (e.g. processing text, images, categorical features,
88+
etc.).
89+
* However, there might be application-specific transformations that would
90+
be useful to do within an ML.NET pipeline (as opposed to as a
91+
pre-processing step). For example, calculating [cosine
92+
similarity](https://en.wikipedia.org/wiki/Cosine_similarity) between two
93+
text columns (after featurization) or something as simple as creating a
94+
new column that adds the values in two other columns.
95+
* An example of the `CustomMappingEstimator` can be found
96+
[here](https://github.com/dotnet/machinelearning/blob/d68388a1c9994a5b429b194b64b2b0782834cb78/test/Microsoft.ML.Tests/Transformers/CustomMappingTests.cs#L55).
97+
98+
* Consolidated several API concepts in `MLContext`
99+
[#1252](https://github.com/dotnet/machinelearning/pull/1252)
100+
101+
* `MLContext` replaces `LocalEnvironment` and `ConsoleEnvironment` but
102+
also includes properties for ML tasks like
103+
`BinaryClassification`/`Regression`, various transforms/trainers, and
104+
evaluation. More information can be found in
105+
[#1098](https://github.com/dotnet/machinelearning/issues/1098).
106+
* Example usage can be found
107+
[here](https://github.com/dotnet/machinelearning/blob/d68388a1c9994a5b429b194b64b2b0782834cb78/docs/code/MlNetCookBook.md).
108+
109+
* Open sourced [NimbusML](https://github.com/microsoft/nimbusml): experimental
110+
Python bindings for ML.NET.
111+
112+
* NimbusML makes it easy for data scientists to train models in Python and
113+
hand them off to .NET developers to include in their apps and services
114+
using ML.NET.
115+
* NimbusML components easily integrate into
116+
[scikit-learn](http://scikit-learn.org/stable/) pipelines.
117+
* Note that NimbusML is an experimental project without the same support
118+
level as ML.NET.
119+
120+
### Acknowledgements
121+
122+
Shoutout to [dzban2137](https://github.com/dzban2137),
123+
[beneyal](https://github.com/beneyal),
124+
[pkulikov](https://github.com/pkulikov),
125+
[amiteshenoy](https://github.com/amiteshenoy),
126+
[DAXaholic](https://github.com/DAXaholic),
127+
[Racing5372](https://github.com/Racing5372),
128+
[ThePiranha](https://github.com/ThePiranha),
129+
[helloguo](https://github.com/helloguo),
130+
[elbruno](https://github.com/elbruno),
131+
[harshsaver](https://github.com/harshsaver),
132+
[f1x3d](https://github.com/f1x3d), [rauhs](https://github.com/rauhs),
133+
[nihitb06](https://github.com/nihitb06),
134+
[nandaleite](https://github.com/nandaleite),
135+
[timitoc](https://github.com/timitoc),
136+
[feiyun0112](https://github.com/feiyun0112),
137+
[Pielgrin](https://github.com/Pielgrin),
138+
[malik97160](https://github.com/malik97160),
139+
[Niladri24dutta](https://github.com/Niladri24dutta),
140+
[suhailsinghbains](https://github.com/suhailsinghbains),
141+
[terop](https://github.com/terop), [Matei13](https://github.com/Matei13),
142+
[JorgeAndd](https://github.com/JorgeAndd), and the ML.NET team for their
143+
contributions as part of this release!

0 commit comments

Comments
 (0)