Quest-ce que le self en Python ? Exemples concrets
Qu'est-ce que le self en Python ? Exemples concrets
La détection des valeurs aberrantes est une tâche importante dans le domaine de l'apprentissage automatique. Il est utilisé pour identifier des observations inhabituelles ou des points de données qui s'écartent de la tendance générale de l'ensemble de données. Un algorithme efficace pour la détection des valeurs aberrantes est l' algorithme Isolation Forest .
Dans le blog d'aujourd'hui, nous couvrirons les bases de l'algorithme Isolation Forest et montrerons comment l'utiliser pour détecter les valeurs aberrantes dans un ensemble de données à l'aide de Python . Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog .
Table des matières
Algorithme de la forêt d'isolement vs méthode de la boîte à moustaches
Ci-dessous, deux visuels pour la détection des valeurs aberrantes. Notez les différences significatives dans la représentation visuelle lors de l'utilisation de la par rapport à l'utilisation du modèle Isolation Forest ML pour la détection des valeurs aberrantes.
Dans le modèle Isolation Forest ML, le pourcentage de valeurs aberrantes détectées par l'algorithme IS Anomaly Detection est de 32,56 %. En utilisant le même algorithme, les 67,44% restants des données se situent dans la plage normale, ce qui est assez sensible. Notre objectif est d'affiner cette sensibilité en utilisant Python .
La méthode traditionnelle de détection des valeurs aberrantes
La manière traditionnelle de trouver une valeur aberrante consiste à utiliser une méthode de diagramme en boîte . Dans cette méthode, nous utilisons l'IQR pour trouver ce qui se situe en dehors de la plage attendue des données.
Dans cet exemple, ce point unique au-dessus de la moustache est notre valeur aberrante.
Si nous traduisons ce graphique visuel en graphique à secteurs, nous obtiendrons cette valeur aberrante particulière qui équivaut à 2,33 % du total des données.
Dans ce blog, nous apprendrons à utiliser la méthode Isolation Forest ML, à l'ajuster pour qu'elle corresponde à la méthode traditionnelle et à augmenter ou diminuer sa sensibilité.
L'ensemble de données pour l'algorithme de forêt d'isolement
Ouvrez notre jeu de données dans LuckyTemplates. Cliquez ensuite sur Transformer les données.
Notre ensemble de données pour ce didacticiel s'affichera. Il contient la date , le nombre d' utilisateurs , l' index et la valeur aberrante de la forêt d'isolement avec la sortie 1 pour la plage normale et -1 pour les valeurs aberrantes.
Nous avons également une colonne pour Traditional Outlier et une colonne conditionnelle intitulée IS Anomaly Detection reflétant Isolation Forest Outlier.
Notre deuxième requête montre notre trame de données que nous apprendrons à tout assembler.
Les codes Python
Dans le volet Propriétés , nous pouvons voir nos deux scripts Python en cours d'exécution. Nous créons la sortie Isolation Forest avec l'un de ces scripts Python et générons la valeur aberrante traditionnelle avec l'autre.
Code Python de l'algorithme de la forêt d'isolement
Cliquez sur Exécuter le script Python pour afficher le code.
Dans ce code Python, nous importons des pandas en tant que pd et utilisons quelque chose appelé Isolation Forest.
Une forêt d'isolement est un modèle arborescent qui prend des décisions basées sur une structure arborescente, puis décide s'il s'agit d'une valeur aberrante ou non. Nous appelons cela un modèle d'ensemble car il utilise deux méthodes différentes pour trouver une valeur aberrante particulière.
Nous remplaçons également la variable dataset , qui contient notre jeu de données par défaut, en tant que df .
Compte tenu de notre ensemble de données, nous n'aurons pas besoin des deux lignes de codes mises en évidence ci-dessous, nous pouvons donc simplement supprimer ces lignes.
Ce que nous faisons, c'est instancier le modèle.
Enregistrez le modèle sous IsolationForest et laissez le modèle apprendre les données avec les utilisateurs. Ensuite, créez une nouvelle colonne appelée Anomaly Detection qui reviendra sur toutes les données qu'elle apprend et prédira laquelle doit être une valeur aberrante ou non.
Pour cette fonction, la valeur par défaut pour la contamination est fixée à 0,5 . Ainsi, il est super sensible pour le moment et recherchera beaucoup de valeurs aberrantes. C'est pourquoi, dans notre graphique circulaire précédent, nous avons une fourchette très élevée de valeurs aberrantes à 32,56 %.
Pour le rendre moins sensible, nous pouvons ajouter contamination = .1 dans la fonction IsolationForest .
Enfin, réinitialisez l'index et cliquez sur OK.
Le résultat affichera un tableau récapitulatif. Dirigez-vous vers le volet Étapes appliquées et cliquez sur df.
Dans la sortie, nous pouvons trouver les valeurs aberrantes sous la colonne Anomaly Detection .
Nous voulons également voir comment il se comporte à côté de la valeur aberrante traditionnelle.
Code Python traditionnel des valeurs aberrantes
Nous allons exécuter un autre script Python qui, dans cet exemple, est le script Run Python1.
Ce code ajoute une fonction de valeur aberrante en utilisant les premier et troisième quartiles. Lorsque nous soustrayons q1 de q3 , nous obtenons l' Interquartile Range (IQR) .
Les deux lignes suivantes définissent les conditions pour les valeurs aberrantes. La première ligne indique que tout ce qui est inférieur à 1,5 * iqr est considéré comme une valeur aberrante négative ou inférieure. C'est aussi ainsi que nous trouvons les valeurs aberrantes de manière traditionnelle.
Nous savons également que nous avons une valeur aberrante comme point le plus élevé dans nos données. Pour tenir compte de cela, la deuxième ligne indique que les points de données supérieurs à q3 + 1,5 * iqr sont également considérés comme des valeurs aberrantes.
Renvoyez cet ensemble de données et utilisez la fonction outliers(df, 'Users') . Cliquez ensuite sur OK.
Un tableau récapitulatif similaire à celui que nous avons précédemment apparaîtra.
Si nous allons dans le volet Applied Steps et cliquez sur Changed Type1 , nous obtiendrons côte à côte les colonnes Traditional Outlier et Anomaly Detection , cette dernière utilisant 1 et -1 pour indiquer les valeurs aberrantes et non.
Cependant, lorsque nous utilisons des dates avec Python, elles peuvent sembler erronées.
Ce que nous pouvons faire, c'est créer une colonne supplémentaire à l'aide de l' Index à partir de Ajouter une colonne .
Ensuite, ajoutez Index à la colonne précédente avec Merge , afin que nous puissions conserver toutes les informations dans cette colonne/ensemble de données d'origine.
Une fois que nous avons tout ensemble, nous pouvons exécuter notre code et mettre à jour nos visuels. Rappelez-vous que nous avons changé la contamination de la valeur aberrante de 0,5 à 0,1, nous devrions donc voir cette partie du graphique se réduire un peu.
Revenez aux visuels et cliquez sur Appliquer les modifications.
Remarquez comment la détection d'anomalies est passée de 32,56 % à 11,63 % de nos données.
Comme nous le voyons dans nos résultats, c'est un bon moyen d'optimiser notre détection des valeurs aberrantes.
Rappelez-vous également que lorsque les gens utilisent la méthode traditionnelle, ils peuvent utiliser des valeurs inférieures à 1,5, mais 1,5 x IQR est néanmoins la méthode traditionnelle.
Détection et présentation des résultats de valeurs aberrantes dans LuckyTemplates
Création de points de déclenchement de valeurs
aberrantes dynamiques dans LuckyTemplates
Conclusion
En utilisant l'algorithme Isolation Forest, nous pouvons facilement identifier et exclure toute observation inhabituelle de notre ensemble de données, améliorant ainsi la précision de notre analyse. Ce tutoriel a fourni un guide étape par étape sur la façon d'utiliser l'algorithme Isolation Forest pour la détection des valeurs aberrantes à l'aide de Python, ce qui devrait vous aider à commencer à l'implémenter dans vos propres projets.
Ce que nous avons fait était un moyen très simple d'utiliser notre code Python pour trouver des anomalies. Vous pouvez optimiser davantage cet algorithme en modifiant la contamination et une foule d'autres variables que vous pouvez apprendre via la page de code de Python .
Tous mes vœux,
Qu'est-ce que le self en Python ? Exemples concrets
Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.
Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.
Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.
Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.
Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.
Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.
Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.
Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.
Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir