Microsoft выпустила обновленную версию ML.NET, кроссплатформенной платформы машинного обучения с открытым исходным кодом для разработчиков .NET. В обновленной версии есть улучшения API, более подробное описание моделей и поддержка графического процессора при оценке моделей ONNX.
ML.NET был анонсирован на Build в прошлом году. Разработчики могут использовать его для разработки пользовательских моделей машинного обучения ИИ, которые затем можно будет включить в свои приложения. Вы можете создавать и использовать модели машинного обучения для решения общих задач, таких как классификация, регрессия, кластеризация, ранжирование, рекомендации и обнаружение аномалий. Он поддерживает платформы глубокого обучения, такие как TensorFlow, и возможность взаимодействия через ONNX.
ML.NET включает Infer.NET как «часть семейства ML.NET». Infer.NET — это кроссплатформенный фреймворк для выполнения байесовского вывода в графических моделях, который также можно использовать для вероятностного программирования. Он был разработан Microsoft Research и в прошлом году стал открытым исходным кодом, а в октябре был внесен в семейство ML.NET и его название было изменено на Microsoft.ML.Probabilistic.
Улучшения в новом выпуске начинаются с изменений в API. Это упрощает загрузку текстовых данных; и добавьте коэффициент достоверности прогноза при использовании оценщиков калибратора. Это показывает столбец вероятности, который показывает вероятность того, что этот пример относится к предсказанному классу.
Также имеется новый оценщик сопоставления «ключ-значение», который предоставляет способ указать сопоставление между двумя значениями на основе списка ключей и списка значений.
Разработчики также выпустили предварительную версию шаблонов проектов Visual Studio для ML.NET. Шаблоны разработаны, чтобы упростить начало работы с машинным обучением.
С практической точки зрения, одним из основных изменений в новой версии является функция расчета вклада функций (FCC). Это показывает, какие функции имеют наибольшее влияние на прогноз модели на конкретной выборке данных, путем определения того, насколько каждая функция внесла свой вклад в оценку модели для этой конкретной выборки данных. Разработчики говорят, что FCC особенно важен, когда у вас изначально есть много функций в ваших исторических данных и вы хотите решить, какие функции использовать. Использование слишком большого количества функций может снизить производительность и точность модели.