Foi-me atribuída esta tarefa para analisar os logs do servidor de nosso aplicativo, que contém logs de exceção, logs de banco de dados, etc. Sou novo no aprendizado de máquina, usamos o Spark com pesquisa elástica e o Sparks MLlib (ou PredictionIO). O resultado seria poder prever com base nos logs de exceção coletados para prever qual usuário tem mais probabilidade de causar a próxima exceção e em qual recurso (e várias outras coisas para acompanhar e melhorar a otimização do aplicativo).
Consegui ingerir com sucesso os dados do ElasticSearch no spark, criar DataFrames e mapear os dados necessários. O que eu gostaria de saber é como abordar o aspecto Machine Learning da minha implementação. Passei por artigos e documentos que falam sobre pré-processamento de dados, treinando os modelos de dados e criando etiquetas e gerando previsões.
As perguntas que tenho são
Como abordar a transformação dos dados de log existentes em vetores numéricos que podem ser usados em conjuntos de dados a serem treinados.
Quais algoritmos eu uso para treinar meu conjunto de dados (com o conhecimento limitado que reuni nos últimos dois dias, eu estava pensando em implementar a regressão linear, sugerir qual seria a melhor implementação)
Apenas procurando sugestões sobre como abordar esse problema.
Obrigado.
Respostas:
Eu não acho que você precise necessariamente converter as entradas de log individuais em vetores para usar em um algoritmo. Eu acho que o que você está interessado é em uma sequência de entradas de log, que representam uma série de eventos, ordenados no tempo, que juntos formam uma série de 'casos'. Aqui, o relacionamento entre uma série de entradas de log coletadas é importante.
Se esse for o caso, convém considerar o uso de técnicas de Mineração de Processos . Isso permite criar modelos do seu processo (o uso do seu aplicativo) e determinar padrões de etapas do processo, juntamente com erros e etapas de retrabalho.
Há um bom curso de introdução ao Coursera, aqui . Existem até alguns pacotes comerciais desenvolvidos, como o 'disco', para ajudá-lo na análise e visualização
fonte