On m'a confié cette tâche pour analyser les journaux du serveur de notre application qui contient les journaux d'exceptions, les journaux des événements, les journaux de base de données, etc. Je suis nouveau dans l'apprentissage automatique, nous utilisons Spark avec recherche élastique et Sparks MLlib (ou PredictionIO). Le résultat serait de pouvoir prédire sur la base des journaux d'exceptions collectés pour pouvoir prédire quel utilisateur est le plus susceptible de provoquer la prochaine exception et à quelle fonctionnalité (et un tas d'autres choses pour suivre et améliorer l'optimisation de l'application).
J'ai réussi à ingérer des données d'ElasticSearch dans spark et à créer des DataFrames et à cartographier les données nécessaires. Ce que je voudrais savoir, c'est comment aborder l'aspect Machine Learning de ma mise en œuvre. J'ai parcouru des articles et des articles qui parlent du prétraitement des données, de la formation des modèles de données et de la création d'étiquettes, puis de la génération de prédictions.
Mes questions sont
Comment aborder la transformation des données de journal existantes en vecteurs numériques qui peuvent être utilisés pour des ensembles de données à former.
Quels algorithmes dois-je utiliser pour former mon ensemble de données (avec les connaissances limitées que j'ai rassemblées ces derniers jours, je pensais à mettre en œuvre une régression linéaire, veuillez suggérer quelle mise en œuvre serait la meilleure)
Je cherche juste des suggestions sur la façon d'aborder ce problème.
Merci.
Réponses:
Je ne pense pas que vous ayez nécessairement besoin de convertir les entrées de journal individuelles en vecteurs pour les utiliser dans un algorithme. Je suppose que ce qui vous intéresse, c'est une séquence d'entrées de journal, qui représentent une série d'événements, ordonnés dans le temps, qui forment ensemble une série de «cas». Ici, la relation entre une série d'entrées de journal collectées est importante.
Si tel est le cas, vous pouvez envisager d'utiliser des techniques d' exploration de processus . Cela vous permet de créer des modèles de votre processus (l'utilisation de votre application) et de déterminer des modèles d'étapes de processus, ainsi que des erreurs et des étapes de reprise.
Il y a un bon cours d'introduction sur Coursera, ici . Il existe même des packages commerciaux développés comme «disco» pour vous aider dans l'analyse et la visualisation
la source