Ml.net 0.7 (Машинное Обучение .Net)

Мы рады объявить о выпуске ML.NET 0.7, последней версии кроссплатформенной среды машинного обучения с открытым исходным кодом для разработчиков .

NET ( ML.NET 0.1 был выпущен на //Build 2018. ).

Данный релиз направлен на расширение функциональности платформы.

Подробности под катом!

ML.NET 0.7 (машинное обучение .
</p><p>
NET)



Поддержка системы рекомендаций с помощью матричной факторизации



ML.NET 0.7 (машинное обучение .
</p><p>
NET)

Рекомендательные системы позволяют создавать персонализированные рекомендации для продуктов каталога, песен, фильмов и т. д. Мы улучшили поддержку создания рекомендательных систем в ML.NET, добавив матричную факторизацию (MF).

Это популярный подход к рекомендациям, позволяющий получить данные о том, как пользователи оценивают определенные товары в каталоге.

Например, вы можете знать, как пользователи оценивают определенные фильмы.

Обладая этими знаниями, вы сможете порекомендовать им другие фильмы, которые они тоже захотят посмотреть.

Мы добавили MF в ML.NET, потому что он зачастую значительно быстрее, чем машины факторизации с учетом полей (которые мы добавили в ML.NET 0.3), и он может поддерживать числовые рейтинги (например, 1–5 звезд), а не двоичные значения.

(«Нравится» или «не нравится»).

Несмотря на то, что мы добавили MF, вы все равно можете использовать FFM, если хотите использовать другую информацию, помимо рейтинга, который пользователь присваивает элементу (например, жанр фильма, дата выхода фильма, профиль пользователя).

Более подробное обсуждение различий можно найти Здесь .

Пример использования MF можно найти Здесь .

Этот пример является общим, но вы можете представить себе строки матрицы, соответствующие пользователям, столбцы матрицы, соответствующие фильмам, и значения матрицы, соответствующие рейтингам.

Эта матрица довольно разрежена, поскольку пользователи оценили лишь небольшую часть каталога.

MF ML.NET использует ЛИБМФ .



Сценарии обнаружения аномалий — обнаружение необычных событий



ML.NET 0.7 (машинное обучение .
</p><p>
NET)

Обнаружение аномалий позволяет выявить необычные значения или события.

Он используется в таких сценариях, как обнаружение мошенничества (выявление подозрительных транзакций по кредитным картам) и мониторинг серверов (выявление необычной активности).

ML.NET 0.7 позволяет обнаружить два типа аномального поведения:

  • Обнаружение пиков: пики связаны с внезапными временными скачками значений входных данных.

    Это могут быть выбросы из-за операционных сбоев, кибератак, вирусного веб-контента и т. д.

  • Обнаружение точки изменения: точки изменения отмечают начало постоянных отклонений в поведении данных.

Эти аномалии можно обнаружить на двух типах данных с использованием разных компонентов ML.NET:
  • IidSpikeDetector и IidChangePointDetector используются для данных, полученных из одного и того же стационарного распределения (каждая точка данных не зависит от предыдущей).

  • SsaSpikeDetector и SsaChangePointDetector используются для данных, которые имеют компоненты сезонности/тренда (возможно, упорядоченные по времени, например продажи продуктов).

Пример кода, использующего обнаружение аномалий в ML.NET, можно найти.

Здесь .



Улучшенные возможности настройки конвейеров ML.NET.



ML.NET 0.7 (машинное обучение .
</p><p>
NET)

ML.NET предлагает множество преобразований данных (например, обработку текста, обработку изображений, категориальные функции и т. д.).

Однако в некоторых случаях использования требуются определенные преобразования.

Теперь мы добавили поддержку пользовательских преобразований, чтобы вы могли легко включать собственные решения.

CustomMappingEstimator позволяет создавать собственные методы обработки данных и добавлять их в конвейер ML.NET. Вот как это будет выглядеть в конвейере:

  
   

var estimator = mlContext.Transforms.CustomMapping<MyInput, MyOutput>(MyLambda.MyAction, "MyLambda") .

Append(.

) .

Append(.

)

Ниже приведено определение того, что будет делать это пользовательское сопоставление.

В этом примере мы преобразуем текстовую метку («спам» или «ветчина») в логическую метку (истина или ложь).



public class MyInput { public string Label { get; set; } } public class MyOutput { public bool Label { get; set; } } public class MyLambda { [Export("MyLambda")] public ITransformer MyTransformer => ML.Transforms.CustomMappingTransformer<MyInput, MyOutput>(MyAction, "MyLambda"); [Import] public MLContext ML { get; set; } public static void MyAction(MyInput input, MyOutput output) { output.Label= input.Label == "spam" ? true : false; } }

Более полный пример CustomMappingEstimator можно найти.

Здесь .



поддержка x86 в дополнение к x64



ML.NET 0.7 (машинное обучение .
</p><p>
NET)

В этом выпуске ML.NET теперь можно запускать модели машинного обучения на устройствах x86/32-разрядных версиях (только для Windows).

Раньше ML.NET был ограничен устройствами x64 (Windows, Linux и Mac).

Обратите внимание, что некоторые компоненты, основанные на внешних соединениях (например, TensorFlow), недоступны в x86-Windows.

НимбусМЛ — экспериментальная привязка Python для ML.NET.



ML.NET 0.7 (машинное обучение .
</p><p>
NET)

NimbusML предоставляет экспериментальные привязки Python для ML.NET. Мы видели отзывы внешнего сообщества и внутренних команд разработчиков относительно использования нескольких языков программирования.

Мы хотели, чтобы как можно больше людей могли использовать ML.NET. ML.NET не только позволяет ученым, работающим с данными, использовать модели машинного обучения на Python (с компонентами, которые также можно использовать в scikit-learn конвейеры), но также позволяет сохранять модели, которые можно легко использовать в приложениях .

NET через ML.NET (более подробную информацию см.

в разделе ML.NET).

Здесь ).



Если вы пропустили: обзор нового API

В ML.NET 0.6 представлен новый набор API-интерфейсов для ML.NET, обеспечивающих повышенную гибкость.

Эти API в версии 0.7 и более поздних версиях все еще развиваются, и мы хотели бы получить ваши отзывы, чтобы сделать систему еще лучше.

Хотите принять участие? Оставить отзыв на ML.NET на GitHub !

Дополнительные ресурсы

  • Здесь знакомит с наиболее важными концепциями ML.NET для понимания нового API.
  • Здесь Вы можете найти руководство, в котором показано, как использовать эти API для различных существующих и новых сценариев.

  • Предоставляется ссылка на API ML.NET со всей документацией по API. Здесь .



Начать!



ML.NET 0.7 (машинное обучение .
</p><p>
NET)

Если вы еще этого не сделали, скачайте МЛ.

НЕТ здесь .

А также изучите другие полезные ресурсы:



Минута рекламы

Ребята из AI-Community сейчас проводят онлайн-чемпионат по Data Science с призовым фондом 600 000 руб.

Присоединяйтесь к нам, кейс может вас заинтересовать.

Теги: #Машинное обучение #microsoft #python #программирование #машинное обучение #.

NET #.

net core #ML.NET

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.