Temos o prazer de anunciar o lançamento do ML.NET 0.7, a versão mais recente de um sistema de aprendizado de máquina de plataforma cruzada e código aberto para desenvolvedores .NET (o
ML.NET 0.1 foi lançado em // Build 2018 ). Esta versão visa expandir a funcionalidade da plataforma. Mais detalhes sob o corte!

Recomendações de sistema de suporte com fatoração de matriz

Os sistemas de recomendação permitem criar recomendações personalizadas para produtos de catálogo, músicas, filmes etc. Melhoramos o suporte para a criação de sistemas de recomendação no ML.NET adicionando fatoração de matriz (MF). Essa é uma abordagem popular das recomendações quando você pode obter dados sobre como os usuários classificam determinados itens no catálogo. Por exemplo, você pode saber como os usuários classificam determinados filmes. Graças a esse conhecimento, você pode recomendar outros filmes que provavelmente também desejam assistir.
Adicionamos o MF ao ML.NET porque geralmente Ă© significativamente mais rápido que as Máquinas de Fatorização com Reconhecimento de Campo (que adicionamos ao ML.NET 0.3), e pode suportar classificações numĂ©ricas (por exemplo, 1 a 5 estrelas) valores binários ("Gostei" ou "nĂŁo gostei"). Apesar de termos adicionado o MF, vocĂŞ ainda pode usar o FFM se desejar usar outras informações fora da classificação atribuĂda pelo usuário ao elemento (por exemplo, gĂŞnero do filme, data de lançamento do filme, perfil do usuário). Uma discussĂŁo mais detalhada das diferenças pode ser encontrada
aqui .
Um exemplo do uso de MF pode ser encontrado
aqui . Este exemplo é geral, mas você pode imaginar que as linhas da matriz correspondem aos usuários, as colunas da matriz correspondem aos filmes e os valores da matriz correspondem às classificações. Essa matriz é bastante escassa, pois os usuários classificaram apenas um pequeno subconjunto do diretório.
MF ML.NET usa
LIBMF .
Cenários de detecção de anomalias - detectar eventos incomuns
A detecção de anomalias permite identificar valores ou eventos incomuns. É usado em cenários como detecção de fraude (detecção de transações suspeitas com cartão de crédito) e monitoramento do servidor (detecção de atividade incomum).
O ML.NET 0.7 detecta dois tipos de comportamento anormal:
- Detecção de pico: os picos sĂŁo atribuĂdos a rajadas temporárias repentinas nos valores de entrada. Estes podem ser discrepantes devido a mau funcionamento, ataques cibernĂ©ticos, conteĂşdo da web viral etc.
- Detecção de ponto de mudança: os pontos de mudança marcam o inĂcio de desvios constantes no comportamento dos dados.
Essas anomalias podem ser detectadas em dois tipos de dados usando diferentes componentes do ML.NET:
- IidSpikeDetector e IidChangePointDetector são usados ​​para dados obtidos de uma distribuição estacionária (cada ponto de dados não depende do anterior).
- SsaSpikeDetector e SsaChangePointDetector são usados ​​para dados que possuem componentes de sazonalidade / tendência (possivelmente ordenados por tempo, como vendas de produtos).
Código de exemplo usando detecção de anomalia no ML.NET pode ser encontrado
aqui .
Personalização aprimorada dos pipelines do ML.NET

O ML.NET oferece muitas transformações de dados (por exemplo, processamento de texto, imagens, funções categĂłricas, etc.). No entanto, casos de uso especĂficos requerem conversões especĂficas. Agora, adicionamos suporte para transformações personalizadas, para que vocĂŞ possa incluir facilmente soluções personalizadas.
CustomMappingEstimator permite criar seus próprios métodos de processamento de dados e adicioná-los ao pipeline do ML.NET. Aqui está como será o pipeline:
var estimator = mlContext.Transforms.CustomMapping<MyInput, MyOutput>(MyLambda.MyAction, "MyLambda") .Append(...) .Append(...)
Abaixo está uma definição do que esse mapeamento personalizado fará. Neste exemplo, converteremos o rótulo de texto ("spam" ou "presunto") no rótulo lógico (verdadeiro ou falso).
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; } }
Um exemplo mais completo de CustomMappingEstimator pode ser encontrado
aqui .
Suporte para X86 além de x64

Nesta versĂŁo do ML.NET, agora vocĂŞ pode usar modelos de aprendizado de máquina em dispositivos x86 / 32 bits (somente Windows). Anteriormente, o ML.NET era limitado a dispositivos x64 (Windows, Linux e Mac). Observe que alguns componentes baseados em conexões externas (por exemplo, TensorFlow) nĂŁo estĂŁo disponĂveis no x86-Windows.
NimbusML - Ligação experimental em Python para ML.NET

O NimbusML fornece ligações experimentais em Python para o ML.NET. Vimos feedback da comunidade externa e das equipes de desenvolvimento interno sobre o uso de várias linguagens de programação. QuerĂamos que o maior nĂşmero possĂvel de pessoas usasse o ML.NET.
O ML.NET não apenas permite que os cientistas de dados usem modelos de aprendizado de máquina em Python (com componentes que também podem ser usados ​​em pipelines de
aprendizado do scikit), mas também permite salvar modelos que podem ser facilmente usados ​​em aplicativos .NET através do ML.NET (mais veja
aqui ).
Se vocĂŞ perdeu: feedback sobre a nova API
O ML.NET 0.6 apresenta um novo conjunto de APIs para o ML.NET que fornece maior flexibilidade. Essas APIs na versĂŁo 0.7 e versões futuras ainda estĂŁo em desenvolvimento e gostarĂamos de receber seus comentários para tornar o sistema ainda melhor.
Deseja participar? Deixe um comentário no
ML.NET GitHub !
Recursos Adicionais
- Aqui estĂŁo os conceitos mais importantes do ML.NET para entender a nova API.
- Você pode encontrar um guia aqui que mostra como usar essas APIs para vários cenários existentes e novos.
- Um link para a API do ML.NET com toda a documentação da API é fornecido aqui .
Comece já!

Se você ainda não o fez, faça o download do
ML.NET aqui . Explore também outros recursos úteis:
Minuto de publicidade
Os caras da AI-Community agora estĂŁo realizando um
campeonato on -
line em Data Science com um prĂŞmio de 600.000 rublos. Junte-se a nĂłs, o caso pode lhe interessar.