| 
 | 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