Fermer

juillet 31, 2019

Comment comparer les modèles d'apprentissage automatique dans Oracle Analytics Cloud11 minutes de lecture

Avantages de la modernisation des applications: accélérer l'innovation


A présent, vous savez probablement déjà que Oracle Analytics Cloud (OAC) fournit plusieurs algorithmes d'apprentissage automatique (ML) pour prendre en charge l'analyse prédictive sans codage requis. Avec plusieurs modèles ML parmi lesquels choisir dans CAO, il est important de savoir comment comparer les modèles. Dans ce billet de blog, nous discuterons de la manière d’évaluer et de comparer les modèles de BC pour la tâche spécifique de prédire l’attrition des ressources humaines. Pour ce faire, nous allons créer, former et tester 3 modèles ML disponibles au CAO en utilisant le même jeu de données de formation pour les trois modèles. Nous comparerons ensuite la qualité et les mesures de chaque modèle pour déterminer lequel fonctionnera le mieux pour le résultat final souhaité. Nous utiliserons un ensemble de données relatives à l'attrition des ressources humaines que vous pouvez télécharger gratuitement depuis Kaggle:

https://www.kaggle.com/pavansubhasht/ibm-hr-analytics-attrition-dataset

Cet ensemble de données de formation est un ensemble de données 'étiqueté', ce qui signifie que chaque ligne a une valeur pour l'attrition – oui ou non.

Ceci nous amène à quelques définitions sur les deux principaux types d'apprentissage automatique: l'apprentissage supervisé et l'apprentissage non supervisé.

Apprentissage supervisé, nous formons un modèle en utilisant un ensemble de données étiquetées. En effet, nous donnons les réponses au modèle et lui demandons d’utiliser ces ‘réponses’ pour déduire les règles permettant de prédire une valeur spécifique – dans ce cas, l’attrition. Une fois que le modèle a été formé, vous pouvez l'utiliser contre des ensembles de données non étiquetés pour prédire la valeur souhaitée

Dans Apprentissage non supervisé, le modèle est formé à l'aide d'un ensemble de données non étiqueté. Dans ce cas, les réponses ne sont pas données au modèle. Il est demandé au modèle de rechercher dans les données des modèles précédemment inconnus pouvant être utilisés pour la mise en cluster, la détection anamoly et l'exploration d'association (par exemple, pour l'analyse de paniers de marché). Le tableau ci-dessous répertorie tous les algorithmes d'apprentissage machine disponibles dans Oracle Analytics Cloud. Les algorithmes surlignés en jaune seront utilisés comme exemples dans cet article de blog. Veuillez noter que les algorithmes de prédiction sont utilisés pour prédire des valeurs numériques, tandis que les algorithmes de classification sont utilisés pour prédire des valeurs non numériques telles que des attributs, des catégories, des valeurs binaires, etc.

Voici les étapes que nous suivrons. :

  1. Téléchargez le jeu de données sur l’attrition des ressources humaines étiquetées au CAO et entraînez le modèle Naïve Bayes
  2. Analysez et expliquez la qualité et les métriques clés du modèle Naïve Bayes
  3. Répétez les étapes du n ° 1 pour former le réseau de neurones et Modèles SVM
  4. Analysez la qualité et les métriques clés des modèles de réseau de neurones et de SVM
  5. Comparez les trois modèles

Étape 1: Chargement du jeu de données de formation étiquetée dans le CAO

La deuxième colonne contient la valeur de l'attrition. Ceci est notre ensemble de données d'apprentissage étiqueté.

Étape 2: Créer un flux de données – Ajouter un ensemble de données d'entraînement étiqueté

L'étape suivante consiste à créer un flux de données dans lequel nous allons utiliser cet ensemble de données. le modèle. Dans l'écran ci-dessous, vous pouvez voir dans la zone entourée en rouge que le jeu de données d'apprentissage étiqueté a été ajouté au flux de données.

Étape 3: Créer un flux de données – Sélectionner Algorithme d'apprentissage machine

Nous sélectionnerons ensuite l'algorithme d'apprentissage machine à utiliser pour prédire l'attrition. Nous utiliserons le modèle "Naïve Bayes pour la classification".

Étape 4: Création d'un flux de données – Désignez une cible pour la prédiction

Cette étape est nécessaire pour désigner la colonne cible pour la prédiction. Vous pouvez voir dans la zone entourée en rouge que nous avons sélectionné la colonne "Attrition" comme cible de prédiction.

Étape 5: Créer un flux de données – Donnez la formation Modéliser un nom

Lorsque ce flux de données est exécuté, il crée un modèle d'apprentissage. Dans cette étape suivante, nous attribuons un nom au modèle de formation (modèle naïf de Bayes pour la prévision de l'attrition).

Étape 6: Sauvegarde et exécution du flux de données pour créer, former et tester le modèle

Nous devons maintenant enregistrer le flux de données, puis l'exécuter pour «former le modèle». Le modèle est créé par une exécution réussie du flux de données.

Nous disposons maintenant d'un modèle ML expérimenté pour prédire l'attrition des ressources humaines. Nous analyserons ensuite la qualité et les métriques clés de ce modèle.

Lorsque nous formons un modèle au CAO, nous devons définir la quantité de jeu de données qui sera utilisée pour former le modèle et la quantité de jeu de données qui sera utilisée. pour tester le modèle. Dans ce cas, nous avons choisi d'utiliser 80% de l'ensemble de données pour former le modèle et 20% de l'ensemble de données pour tester le modèle.

Vous trouverez ci-dessous un résumé des résultats des tests du modèle de Naïve Bayes que nous venons de décrire. qualifié. Ce tableau est appelé matrice de confusion et contient les mesures clés qui peuvent être utilisées pour évaluer la qualité du modèle et comprendre son comportement lors de la prédiction de l'attrition dans des ensembles de données non étiquetés.

[19659003] Vous trouverez ci-dessous une explication de chacun de ces paramètres clés:

Étiquette positive: Le libellé positif de l'attrition dans ce modèle est «Oui».

Précision du modèle: ] Ceci définit combien de prédictions correctes ont été faites par le modèle en% de toutes les lignes du jeu de données de test. L’exactitude globale de ce modèle est de 87% – calculée comme suit: (238 + 17) / 294.

Précision: Pourcentage d’instances réellement positives prédites par rapport au nombre total d’instances positives prédites [17/17+9= 65% ]. Veuillez noter que le dénominateur de Precision est le nombre total d'instances positives prédites par le modèle. La précision ne dit rien sur le nombre d'instances positives qui auraient dû être prédites par le modèle (par exemple, dans ce cas, le modèle a prédit un total de 26 instances positives, mais il y en a eu 47 réelles. n’a pas abordé un grand nombre d’instances vraiment positives). Bien que la précision soit une métrique importante, un modèle avec la précision la plus élevée n'est pas nécessairement le meilleur.

Rappel : Pourcentage d'instances prédites vraiment positives par rapport au nombre total d'instances positives réelles [17/17+30= 36% ]. Il est important d’analyser Recall conjointement avec Precision, car Recall indique combien de prédictions vraiment positives auraient dû être faites par le modèle. Il vous dira si le modèle ne traitera correctement qu'une mince tranche de votre jeu de données ou si le modèle aura une large couverture. Tout comme avec Precision, un modèle avec un rappel élevé n'est pas nécessairement le meilleur modèle.

Valeur F1: Il s'agit de la moyenne harmonique ( réciproque de la moyenne arithmétique des inverses) de précision et de rappel [2/((1/.65)+(1/.36)) =.47]. La valeur F1 est une mesure de la balance entre précision et rappel. Une mesure de 1 pour F1 signifie une précision et un rappel parfaits (ce qui est très rare).

Taux de faux positifs: Pourcentage d'instances de faux positifs par rapport au nombre total d'instances négatives réelles [9/247= 4 % ]. Un taux faible de faux positifs est requis pour que la précision soit élevée.

Je vais répéter les mêmes étapes que celles utilisées pour former le modèle Naïve Bayes à la formation du modèle de réseau neuronal et des modèles SVM. Pour ce faire, à l'étape 3 ci-dessus, je choisirai soit l'algorithme Réseau neuronal au lieu de Naïve Bayes.

Après avoir formé les modèles Réseau neuronal et SVM, nous pouvons maintenant examiner la matrice de confusion pour chacun d'entre eux.

est la matrice de confusion pour le modèle de réseau neuronal.

Analysons la qualité et les métriques clés de ce modèle de réseau neuronal par rapport au modèle de Naïve Bayes:

. : 80% – ce qui est un peu moins que les 87% du modèle Naïf Bayes.

Précision: 38% – Ce pourcentage est nettement inférieur au modèle 65% du modèle Naïve Bayes.

Rappel: 36% – il s'agit du même modèle que le modèle Naïve Bayes. Malheureusement, bien que la précision soit moindre dans ce modèle, il n’ya aucun avantage compensatoire sous la forme d’un pourcentage de rappel plus élevé.

Taux de faux positifs: 11% – C’est supérieur au modèle de Naïve Bayes mais avec Pas d'augmentation du rappel.

Par rapport au modèle de Naïve Bayes, le modèle de réseau de neurones n'offre aucun avantage significatif. La précision est bien inférieure à celle de Naïve Bayes sans augmentation compensatoire de Recall. De plus, le taux de faux positifs est plus élevé – encore une fois sans aucune augmentation de Recall.

Examinons maintenant les métriques du modèle SVM. Ci-dessous, la matrice de confusion pour le modèle SVM:

Analysons la qualité et les métriques clés de ce modèle SVM par rapport au modèle Naïve Bayes:

. 76% – Ce chiffre est inférieur aux 87% de Bayis Naïfs.

Précision: 37% – Ce pourcentage est nettement inférieur au modèle 65% de Naïve Bayes.

[1965 Rappel: 72% – Il s'agit du double du 36% du modèle de Bayes Naïf et du modèle de réseau neuronal. Ce modèle de SVM avait des prédictions plus véritablement positives que le modèle de Naïve Bayes et le modèle de réseau de neurones. Il couvre davantage de données en termes de prévisions précises que les modèles de Bayes naïfs et de réseaux neuronaux.

Taux de faux positifs: 23% – Ce taux est supérieur à celui du modèle de Naïve Bayes et du réseau de neurones. modèle. Ainsi, le coût (pour ainsi dire) d'un pourcentage de rappel plus élevé avec le modèle SVM est un taux de faux positif plus élevé.

Vous trouverez ci-dessous un graphique comparant les trois modèles.

In Afin de décider quel modèle serait le meilleur pour prévoir l’attrition, nous devons définir ce qui est important. Étant donné que nous prévoyons l’attrition, nous ne voulons manquer aucune situation dans laquelle une personne risque de quitter la société. Pour le dire autrement, nous voulons maximiser le% de rappel. Cela revient à dire que nous voulons un modèle qui prédit avec précision le plus grand nombre possible de cas vraiment positifs.

L'autre critère à analyser est l'impact des faux positifs par rapport aux faux négatifs. En ce qui concerne l'attrition, un faux négatif signifierait que nous concluons à tort qu'une personne ne risque pas de quitter l'entreprise. Nous pourrions potentiellement perdre l'occasion d'empêcher une telle personne de partir. Un faux positif signifierait que nous pourrions prendre certaines mesures pour garder une personne qui ne risquait pas réellement de quitter l'entreprise.

Bien qu'il n'y ait pas de réponse absolument correcte (cela dépend de ce qui est important pour chaque entreprise), si nous croyons que la conséquence d'un faux négatif (quelqu'un qui quitte l'entreprise) est plus préjudiciable que celle d'un faux positif (accorder de l'attention à quelqu'un qui n'en a peut-être pas besoin) et que nous sommes disposés à «supporter le faux» positifs, le modèle SVM peut être le modèle correct à utiliser.



Source link