Validation de votre modèle

10.2 Validation de votre modèle

OBJECTIFS D'APPRENTISSAGE :

À la fin de cette section, vous devriez être en mesure de :

  • 10.2.1 Identifier des hypothèses significatives, préciser comment elles sont utilisées dans le processus de modélisation et fournir des justifications pour chaque hypothèse.
  • 10.2.2 Discuter de diverses mesures d'erreur dans le contexte d'un problème de modélisation.
  • 10.2.3 Effectuer une analyse de sensibilité sur des modèles et interpréter les résultats afin de déterminer l'impact des différentes variables et hypothèses sur les résultats d'un modèle.
  • 10.2.4 Rédiger des résumés informatifs sur les forces et les faiblesses d'un modèle.

Comme indiqué dans Séries temporelles et prévisions, la modélisation (modeling) est le processus consistant à créer une représentation mathématique de phénomènes du monde réel afin de permettre des prédictions et d'en tirer des enseignements à partir des données. La modélisation implique de sélectionner des algorithmes appropriés, d'entraîner le modèle sur des données historiques et de valider ses performances afin de s'assurer qu'il se généralise bien à de nouvelles données inconnues. Avant de développer des modèles, il est essentiel d'identifier et d'énoncer clairement les hypothèses et de fournir des justifications pour les stratégies de collecte et d'analyse des données utilisées. Dans cette section, nous présentons les méthodes employées pour évaluer la manière dont les prédictions d'un modèle concordent avec les données réelles observées et nous introduisons le concept de validation de modèle. Nous examinons également brièvement les approches utilisées pour appréhender la robustesse de différents modèles et partageons des pratiques visant à soutenir la documentation et les boucles de rétroaction en vue d'une analyse équilibrée et transparente.

Énoncer les hypothèses et les justifications

Un élément fondamental de la rédaction de rapports en science des données réside dans la capacité à identifier et à documenter les hypothèses importantes qui émergent lors de la mise en place d'un projet ou d'une tâche. De manière générale, une hypothèse (assumption) est une affirmation tenue pour vraie sans avoir été vérifiée ou prouvée. Les hypothèses découlent souvent de l'expérience, de connaissances accumulées ou même de l'intuition. Pour les scientifiques des données, les hypothèses ont un sens très précis : ce sont des suppositions ou des croyances fondamentales concernant la structure, les relations ou la distribution des données qui orientent l'approche analytique et le choix du modèle pour un projet. Ces hypothèses jouent un rôle majeur dans l'orientation du processus décisionnel et l'élaboration de la solution. Cependant, il est important de noter que les hypothèses comportent leurs propres risques. Si elles s'avèrent fausses ou inexactes, elles peuvent entraîner des biais, des erreurs, des retards ou l'échec pur et simple du projet. Par conséquent, documenter les hypothèses de manière claire et explicite est de la plus haute importance. Fournir des justifications pour chaque hypothèse est tout aussi crucial.

Hypothèses et contraintes

Les hypothèses doivent être documentées dans la section méthodologique du rapport. Lors de la rédaction de la section consacrée aux hypothèses, plusieurs bonnes pratiques doivent être respectées. Tout d'abord, il est important de distinguer les hypothèses des contraintes. Les hypothèses sont des éléments que nous considérons comme vrais mais que nous n'avons pas encore confirmés, tandis que les contraintes (constraints) sont des limites ou des restrictions imposées à un projet ou à sa solution. Une hypothèse fréquente en science des données est la conviction que les données historiques utilisées pour entraîner un modèle prédictif sont représentatives des conditions futures, ce qui implique que les tendances observées dans le passé persisteront à l'avenir. Cette hypothèse sous-tend l'utilisation de l'analyse de séries temporelles et des modèles de prévision pour anticiper les tendances futures à partir de schémas de données historiques. En revanche, une contrainte fréquemment rencontrée est la disponibilité limitée de données pertinentes et de haute qualité, ce qui peut restreindre considérablement la profondeur et l'exactitude des analyses. De plus, les limitations computationnelles, telles que la puissance de calcul et la capacité de mémoire, peuvent poser des défis majeurs pour le traitement de grands jeux de données ou de modèles complexes, ayant un impact direct sur la faisabilité et l'évolutivité des projets de science des données. D'autres contraintes sont encore imposées par les commanditaires du projet, comme la recherche de solutions qui ne dépassent pas certaines exigences de ressources ou qui doivent atteindre des objectifs précis.

L'utilisation d'un langage précis et dénué d'ambiguïté, ainsi que l'élimination de toute imprécision ou généralité, permettent d'énoncer fidèlement les hypothèses. Les hypothèses doivent être des affirmations vérifiables, ce qui signifie qu'elles doivent pouvoir être évaluées ou validées à l'aide de preuves ou de données. Cette démarche aide les scientifiques des données à éviter les jugements subjectifs ou les biais personnels.

Exemple 10.2

Problème

Une entreprise manufacturière a commandé un rapport sur les ventes et les revenus à différents niveaux de production. L'entreprise dispose d'un maximum de 13 machines pouvant être utilisées pour fabriquer le produit, et compte 29 employés capables d'opérer ces machines. Énumérez les contraintes du projet ainsi que toutes les hypothèses implicites. De plus, formulez des questions de suivi que vous devriez poser aux dirigeants de l'entreprise avant d'entreprendre toute analyse de données.

Solution

Contraintes :

  • L'entreprise dispose d'un maximum de 13 machines, ce qui limite le nombre de produits pouvant être fabriqués simultanément.
  • Il existe également une limite quant au nombre d'employés, au plus 29 étant capables d'opérer les machines.

Hypothèses :

  • Les 13 machines peuvent toutes être utilisées s'il y a suffisamment d'employés pour les opérer. Les 29 employés suffisent pour faire fonctionner les 13 machines simultanément. (Remarque : nous ignorons combien d'employés sont nécessaires pour opérer une machine, cela doit donc être vérifié.)
  • Les machines et les opérateurs sont supposés présenter des caractéristiques uniformes, ce qui signifie que le volume de production dépend uniquement du nombre de machines et d'opérateurs disponibles.
  • La production ne sera pas interrompue par des temps d'arrêt des machines ou des employés. La demande du marché est suffisante pour absorber les niveaux de production à différents stades, ce qui signifie que tous les biens produits peuvent être vendus.

(Ce ne sont là que quelques-unes des hypothèses qui pourraient être formulées.)

Questions de suivi pour l'entreprise :

  • Quelle est la capacité de production maximale de chaque machine par heure/jour ?
  • Combien d'employés sont requis pour opérer chaque machine ?
  • Les machines ont-elles un rendement uniforme, ou certaines sont-elles capables de produire une plus grande quantité de produits ? Si c'est le cas, des employés supplémentaires sont-ils nécessaires pour faire fonctionner les machines les plus performantes (par exemple, certaines machines peuvent être plus grandes et nécessiter plus d'opérateurs, produisant par conséquent davantage de produits) ?
  • Quels sont les temps de fonctionnement et d'arrêt moyens de chaque machine ?
  • À quelle fréquence les machines font-elles l'objet d'une maintenance ? Y a-t-il des moments particuliers où les machines ne sont pas opérationnelles (par exemple, maintenance programmée, changements de quart) ?
  • Concernant les employés, existe-t-il des contraintes d'horaires, des niveaux d'expertise différenciés ou d'autres facteurs à prendre en considération ?
  • Y a-t-il des limites liées à la chaîne d'approvisionnement ou au marché ?

(Bien d'autres questions peuvent être formulées au-delà de cet échantillon initial.)

Hypothèses non constantes

En plus des pratiques susmentionnées, il est essentiel d'inclure des plages temporelles pertinentes pour la validité des hypothèses. Cela consiste à préciser à quel moment les hypothèses sont applicables et à noter tout changement ou mise à jour susceptible de les affecter. Par exemple, on peut supposer que les ventes d'un nouveau produit technologique ne seront très élevées que pendant les mois précédant la période des fêtes.

Fournir des justifications ou un contexte — c'est-à-dire expliquer le fondement de chaque hypothèse et sa cohérence avec les objectifs, les exigences ou la portée du projet — est également capital. Les facteurs externes susceptibles d'influencer les hypothèses, tels que les conditions du marché, les préférences des consommateurs ou les réglementations juridiques, doivent être pris en compte. Ces facteurs pouvant évoluer avec le temps, il importe de le souligner dans le processus de modélisation.

De plus, il est indispensable de reconnaître toute restriction relative aux ressources, comme le budget, le personnel, l'équipement ou le matériel, car celles-ci peuvent affecter l'exécution ou l'issue du projet. Les contraintes techniques, notamment celles relatives au calcul, aux logiciels, au matériel ou au réseau, doivent également être prises en compte, car elles peuvent influencer la fonctionnalité ou les performances du projet et sont susceptibles d'évoluer à l'avenir.

Pour chaque hypothèse posée, le rédacteur technique doit proposer une justification appuyée par des preuves, des données ou un raisonnement logique. Par exemple, nous pourrions supposer qu'un logiciel sera compatible avec le système d'exploitation Microsoft Windows 11 car les données d'études de marché indiquent que Windows 11 est le système d'exploitation le plus utilisé parmi le public cible. Une autre hypothèse pourrait être que les utilisateurs possèdent des compétences informatiques de base et une bonne familiarité avec des logiciels similaires, en s'appuyant sur des enquêtes de satisfaction indiquant qu'il s'agit de professionnels du secteur ayant utilisé des versions antérieures du logiciel ou des produits concurrents. Nous pourrions également supposer que les utilisateurs auront accès à des ressources d'aide et de soutien en ligne, dans la mesure où le logiciel intègre une fonction d'aide intégrée renvoyant vers le site web de l'entreprise, où sont disponibles une FAQ, des tutoriels, des vidéos et des coordonnées de contact. Enfin, l'hypothèse selon laquelle le logiciel recevra des mises à jour régulières pour corriger les bogues et perfectionner les fonctionnalités peut être justifiée en se référant à la politique d'assurance qualité de l'entreprise et à sa stratégie de satisfaction client.

Pour déterminer si les hypothèses techniques et propres à la science des données sont respectées, des techniques de validation rigoureuses telles que la validation croisée et l'analyse de sensibilité sont fréquemment utilisées. (Ce point sera approfondi ci-dessous.) Une évaluation et une validation minutieuses de ces hypothèses contribuent à prévenir les résultats biaisés et renforcent la capacité de généralisation du modèle à divers jeux de données et scénarios réels. De plus, une surveillance continue et une mise à jour des modèles avec de nouvelles données permettent de s'ajuster aux évolutions qui n'avaient pas été anticipées par les hypothèses de départ, garantissant ainsi que les modèles demeurent précis et pertinents au fil du temps.

Biais implicite

Il est également important d'examiner les considérations éthiques liées aux hypothèses et au biais implicite dans la rédaction des rapports de science des données (voir L'éthique tout au long du cycle de la science des données), car ces éléments peuvent influencer considérablement l'équité et l'exactitude des conclusions. Les hypothèses, si elles ne sont pas rigoureusement validées, peuvent mener à des résultats faussés qui dénaturent les données et leurs implications. Le biais implicite (implicit bias), qu'il intervienne dans la collecte, l'analyse ou l'interprétation des données, peut introduire des erreurs systémiques qui touchent de façon disproportionnée certains groupes, générant ainsi des issues inéquitables. Il est donc indispensable d'examiner et de remettre en question les hypothèses, d'employer des jeux de données diversifiés et représentatifs, et de mettre en œuvre des techniques destinées à détecter et à atténuer les biais. Souvent, la meilleure démarche consiste à confier l'examen de la méthodologie à un tiers afin d'identifier les hypothèses que vous auriez pu négliger. La transparence méthodologique et l'adhésion à des normes éthiques garantissent que les rapports de science des données sont non seulement scientifiquement rigoureux mais également socialement responsables, favorisant la confiance et l'intégrité dans les recommandations et les prises de décision guidées par les données.

En documentant scrupuleusement ces hypothèses et leurs justifications, les rédacteurs techniques s'assurent que les hypothèses s'alignent sur la portée et les exigences du projet. Par ailleurs, cette documentation offre un cadre permettant de valider ou de réviser ces hypothèses au fur et à mesure des besoins tout au long du cycle de vie du projet.

Interpréter les mesures d'ajustement

Comme nous l'avons vu dans Séries temporelles et prévisions, Qu'est-ce que l'apprentissage automatique ? et Notions de base sur l'apprentissage profond et l'IA, les modèles doivent être évalués à l'aide de mesures d'ajustement (measures of fit) appropriées — c'est-à-dire des métriques évaluant la conformité des prédictions d'un modèle avec les données réellement observées. Des métriques telles que le R-carré en régression ou l'exactitude en classification font partie intégrante de ce processus. Cependant, il ne suffit pas de simplement énoncer ces valeurs ; un rapport technique complet doit approfondir leur signification et leurs limites dans le contexte spécifique du problème traité. Des valeurs élevées pour les mesures d'ajustement ne sont pas toujours le signe d'un bon modèle. Inversement, de faibles valeurs d'erreur ne garantissent pas toujours que le modèle fournira de bons résultats sur des données futures. D'autres aspects doivent être pris en compte, tels que le compromis biais-variance, l'impact des valeurs aberrantes sur les résultats et le risque que de légères variations des entrées produisent des écarts relativement importants dans les sorties (sensibilité). Lors de la présentation des métriques d'ajustement du modèle, il est essentiel de replacer ces valeurs dans leur juste contexte, ce qui implique de tenir compte de la signification statistique du modèle, d'éviter le surapprentissage et de garantir sa robustesse.

Évaluation de la validation

Un modèle de validation statistique (statistical validation) peut contribuer à renforcer le rapport technique et à soutenir la confiance des utilisateurs grâce à l'inclusion de ces informations. Toutefois, dans certains cas, les résultats des tests de validité de l'ajustement peuvent ne pas être favorables. Afin de préserver et de transmettre l'intégrité du travail, il est indispensable de rapporter les résultats de manière honnête et rigoureuse, même lorsque ceux-ci s'avèrent défavorables. En outre, on peut envisager de faire appel à un évaluateur externe pour apporter un niveau supplémentaire d'évaluation de la validation. Le praticien externe peut apporter une expertise technique complémentaire afin de confirmer les pratiques ou de formuler des recommandations d'ajustement.

Rappelez-vous, d'après Analyse de corrélation et de régression linéaire, que r2r2, ou R-carré, également appelé coefficient de détermination, mesure la proportion de la variance de la variable dépendante qui est prédictible à partir des variables indépendantes. Considérons l'exemple d'un modèle linéaire dans lequel les facteurs (variables explicatives) sont la superficie de la maison, le nombre de salles de bains, la proximité du centre-ville, le classement du district scolaire local, etc., tandis que la réponse (variable dépendante) est la valeur marchande de la maison. Après entraînement, le modèle de régression linéaire présente une valeur de r2r2 de 0,75. En termes simples, cette valeur suggère que 75 % de la variation de la valeur marchande peut être expliquée par les caractéristiques utilisées dans le modèle (par exemple, la superficie, le nombre de salles de bains, l'emplacement) et que 25 % de la variation est due au bruit et à d'autres facteurs non pris en compte dans le modèle. Cela semble indiquer que le modèle est relativement efficace pour saisir les relations entre les variables indépendantes et les prix des maisons, mais il est important de comprendre ce que cela signifie avec précision. Cela ne signifie pas que le modèle prédit le prix des maisons avec une exactitude de 75 %. Cela indique plutôt qu'une part importante (75 %) de la variance des prix des logements est capturée par le modèle.

Dans le contexte du prix des logements, un r2r2 de 0,75 peut être considéré comme élevé, compte tenu de la forte variabilité des marchés immobiliers due à de multiples facteurs, dont certains peuvent ne pas être inclus dans le modèle (par exemple, les tendances économiques, des facteurs non quantifiables tels que des vues panoramiques). Il est essentiel de se rappeler qu'une valeur élevée de r2r2 n'implique pas de causalité. En d'autres termes, nous ne pouvons pas conclure que le classement du district scolaire local provoque nécessairement la hausse du prix des logements. Toute corrélation entre les prix des logements et le classement du district scolaire peut être due à un autre facteur, tel que le revenu médian des habitants du quartier.

De plus, le r2r2 ne permet pas d'établir si les estimations des coefficients et les prédictions sont sans biais, raison pour laquelle nous devons également évaluer d'autres mesures diagnostiques et examiner les résidus afin de déceler d'éventuels motifs susceptibles de signaler des faiblesses dans le modèle. Il est possible que des interactions entre variables méritent d'être incluses dans le modèle, ce qui impliquerait par exemple qu'un modèle quadratique soit plus adapté qu'un modèle linéaire. En outre, les caractéristiques peuvent expliquer une partie de la variabilité résiduelle de la réponse ; toutefois, cette estimation peut être influencée par la taille de l'échantillon, la présence de valeurs aberrantes et la mesure dans laquelle les hypothèses du modèle sont respectées.

Si l'analyse avait utilisé un ensemble différent de caractéristiques ou un autre type de modèle (par exemple, un arbre de décision), les résultats auraient pu afficher un degré d'exactitude différent. La comparaison de différents modèles pour un même jeu de données aide à apprécier l'incidence des différentes variables sur l'exactitude de la prédiction. En comprenant que notre modèle explique une part importante de la variance, nous pouvons l'utiliser pour prendre des décisions éclairées sur le prix des logements. Cependant, reconnaître ses limites et les facteurs qu'il ne prend pas en compte est primordial pour éviter de trop se fier au modèle pour la prévision des prix. Les améliorations futures pourraient consister à ajouter des caractéristiques plus pertinentes, à utiliser des techniques de modélisation différentes et/ou à collecter davantage de données afin d'améliorer l'exactitude et la fiabilité du modèle.

Exemple 10.3

Problème

Une équipe de science des données étudie le jeu de données sur le diabète diabetes_data.csv en employant un arbre de décision de classification (voir Prise de décision à l'aide des bases de l'apprentissage automatique) afin de mieux comprendre comment des facteurs tels que le taux de cholestérol, le sexe, la taille, le poids, l'IMC et d'autres sont corrélés à la présence de diabète chez les patients. Utilisez les meilleures pratiques de modélisation pour évaluer le modèle et discutez de la façon dont le surapprentissage sera évité.

Solution

Code Python

  #load libraries for decision trees and visualization
  
  import pandas as pd
  from sklearn.tree import DecisionTreeClassifier, plot_tree
  from sklearn.model_selection import train_test_split
  import matplotlib.pyplot as plt
  
  #load data. The code for your dataset will be dependent upon the file path you #set up
  df = pd.read_csv('diabetes_data.csv', index_col='Patient number')
  

Lors de la préparation des données en vue de réaliser diverses analyses ou d'exécuter des modèles, il est recommandé d'examiner les caractéristiques des données pour s'assurer qu'elles sont correctement formatées et présentent les types de données appropriés pour l'analyse ou la technique de modélisation visée. La fonction df.info() fournit la liste des caractéristiques du jeu de données (noms des colonnes) ainsi que leurs types (Dtype).

Code Python

  #examine the dataset
  df.info()

Le résultat obtenu se présentera ainsi :


Data columns (total 13 columns):
#    Column        Non-Null Count  Dtype
---   ------        --------------  -----
0    Cholesterol   390 non-null    int64
1    Glucose       390 non-null    int64
2    HDL Chol      390 non-null    int64
3    Age           390 non-null    int64
4    Gender        390 non-null    object
5    Height        390 non-null    int64
6    Weight        390 non-null    int64
7    BMI           390 non-null    float64
8    Systolic BP   390 non-null    int64
9    Diastolic BP  390 non-null    int64
10   waist         390 non-null    int64
11   hip           390 non-null    int64
12   Diabetes      390 non-null    object
dtypes: float64(1), int64(10), object(2)
memory usage: 42.7+ KBInt64Index: 390 entries, 1 to 390Data columns (total 13 columns):#    Column        Non-Null Count  Dtype---   ------        --------------  -----0    Cholesterol   390 non-null    int641    Glucose       390 non-null    int642    HDL Chol      390 non-null    int643    Age           390 non-null    int644    Gender        390 non-null    object5    Height        390 non-null    int646    Weight        390 non-null    int647    BMI           390 non-null    float648    Systolic BP   390 non-null    int649    Diastolic BP  390 non-null    int6410   waist         390 non-null    int6411   hip           390 non-null    int6412   Diabetes      390 non-null    objectdtypes: float64(1), int64(10), object(2)memory usage: 42.7+ KB

Pour utiliser la bibliothèque sklearn, toutes les données doivent être numériques. Cependant, si vous avez des colonnes contenant des chaînes de caractères, plusieurs méthodes permettent de les convertir en valeurs numériques. Pour les valeurs « True »/« False », utilisez simplement .astype ('int'). Pour d'autres chaînes, vous pouvez employer les fonctions de pandas telles que map, replace, ou apply.map est généralement la plus rapide et la plus efficace d'entre elles, mais elle manque de flexibilité car elle convertit les valeurs sans correspondance en NaN. replace est plus polyvalente, permettant le remplacement partiel ou total des données, mais elle est plus lente que map. map est préférable pour les grands jeux de données ou en production en raison de sa rapidité.

Code Python

  #convert categorical data to numeric values
  df['Gender'] = df['Gender'].replace({'male': 0, 'female': 1})
  

Pour préparer les données à la modélisation, vous allez définir les caractéristiques et les cibles. De plus, vous souhaiterez établir un ensemble de données d'entraînement et de test.

Code Python

  #set up data features and targets and set up training and testing datasets
  features = df.drop('Diabetes', axis=1)
  targets = df['Diabetes']
  
  x_train, x_test, y_train, y_test = train_test_split(features, targets, stratify=targets, random_state=42)
  

La technique de modélisation utilisée est un arbre de décision, qui fonctionnera de manière similaire à la régression logistique dans sklearn : vous créez la classe, puis vous utilisez la méthode fit. Il dispose de la même méthode score et d'autres méthodes comme predict.

Code Python

  #run a decision tree
  dt = DecisionTreeClassifier()
  dt.fit(x_train, y_train)
  
  print(dt.score(x_train, y_train))
  print(dt.score(x_test, y_test))
  

Le résultat obtenu ressemblera à ceci :

1.0
0.826530612244898

L'exactitude observée sur l'ensemble d'entraînement est parfaite, atteignant 100 %, tandis que l'exactitude sur l'ensemble de test est nettement inférieure, s'établissant à 87,7 %. Cet écart est un signe caractéristique de surapprentissage. Il serait avantageux de pousser l'analyse plus loin en examinant la profondeur de l'arbre et en le visualisant.

Code Python

  #measure the depth of the tree
  dt.get_depth()
  

Le résultat obtenu sera :

7

L'observation de la profondeur atteinte par l'arbre et du nombre d'échantillons dans les nœuds feuilles illustre le fait que le modèle est probablement en situation de surapprentissage sur les données. Nous pouvons limiter le nombre de niveaux (profondeur) à l'aide de max_depth. Vous pouvez tester quelques valeurs ci-dessous et observer les variations. Ici, nous avons opté pour la valeur 2, car elle produit des scores d'entraînement et de test quasiment identiques et semble réduire le surapprentissage. L'élagage peut également être appliqué aux arbres de décision ; comme défini dans Arbres de décision, l'élagage consiste à supprimer des sections de l'arbre qui n'apportent qu'un faible pouvoir prédictif afin d'améliorer l'exactitude du modèle et de prévenir le surapprentissage.

Code Python

  #adjust the depth of the decision tree to 2
  dt = DecisionTreeClassifier(max_depth=2)
  dt.fit(x_train, y_train)
  
  print(dt.score(x_train, y_train))
  print(dt.score(x_test, y_test))
  

Le résultat obtenu sera :

0.9315068493150684
0.9081632653061225

Code Python

  #create a decision tree with a max depth of 2
  f = plt.figure(figsize=(8, 8))
  _ = plot_tree(dt, fontsize=10, feature_names=features.columns.tolist(), filled=True)
  

Le résultat obtenu ressemblera à ceci :

Un diagramme d'arbre de décision avec les niveaux de glucose comme caractéristique. Le nœud racine représente tous les échantillons ayant un niveau de glucose inférieur ou égal à 132,0. L'arbre se divise en deux nœuds selon que le niveau de glucose est inférieur ou égal à 107,5 ou supérieur à 107,5 et inférieur ou égal à 175,0. Chaque nœud affiche l'impureté de Gini, le nombre d'échantillons et la valeur.

Techniques de validation

Supposons que votre équipe de science des données ait élaboré plusieurs modèles et que chacun d'eux semble donner de bons résultats sur les ensembles d'entraînement et de test. Comment choisir parmi ces différents modèles ? C'est ici que la validation entre en jeu. La validation (validation) est un terme générique désignant l'évaluation de plusieurs modèles prédictifs et/ou le réglage précis de certaines constantes qui influencent la performance d'un modèle (réglage des hyperparamètres (hyperparameter tuning)). Ces techniques fournissent un moyen de tester rigoureusement la performance du modèle sur des données non observées, réduisant ainsi le surapprentissage et garantissant que le modèle capture autant que possible les véritables structures sous-jacentes des données plutôt que du bruit ou des motifs aléatoires. Veillez à expliquer en détail toutes les méthodes de validation utilisées et la façon dont vous avez sélectionné les meilleurs modèles dans la partie consacrée à l'exploration et à l'analyse des données de votre rapport.

La validation consiste généralement à réserver une partie des données qui servira à tester plusieurs modèles distincts après leur entraînement. Cela diffère de la simple division des données en un ensemble d'entraînement et un ensemble de test (comme abordé dans Prise de décision à l'aide des bases de l'apprentissage automatique), où le modèle n'est entraîné qu'une seule fois sur l'ensemble d'entraînement, puis évalué sur l'ensemble de test. Lorsque la validation est employée, le jeu de données est partitionné en trois parties : ensembles d'entraînement, de validation et de test. Après quelques cycles d'entraînement et de validation, le meilleur modèle est retenu, et l'ensemble de test est alors appliqué sur ce modèle final afin de mesurer sa qualité d'ajustement. Des processus de validation rigoureux sont cruciaux pour concevoir des modèles robustes qui se comportent bien dans des applications réelles, car ils permettent de sélectionner et d'ajuster le modèle avant son déploiement, aboutissant en fin de compte à des analyses prédictives plus fiables et plus efficaces.

La validation croisée (cross-validation), une variante de la validation, divise l'ensemble d'entraînement en plusieurs sous-ensembles et entraîne et évalue itérativement le modèle sur différentes combinaisons de ces sous-ensembles, offrant une évaluation plus complète en exploitant toutes les données disponibles. En règle générale, la validation croisée est effectuée sur chaque modèle envisagé, ce qui peut exiger un temps et des ressources considérables. Bien qu'elle soit exigeante en calculs, la validation croisée aide à éviter l'ajustement à des variations aléatoires présentes dans les données.

Une méthode simple pour réaliser une validation croisée est la méthode de bootstrap (décrite plus en détail dans L'apprentissage automatique dans l'analyse de régression). Le rééchantillonnage bootstrap est une technique statistique puissante utilisée pour estimer la distribution d'un échantillon par rééchantillonnage répété avec remise. Dans le cadre de l'évaluation de modèles, la méthode de bootstrap consiste à générer plusieurs nouveaux jeux de données, ou échantillons bootstrap (bootstrap samples), par échantillonnage aléatoire à partir du jeu de données d'origine, en autorisant les doublons. Chaque échantillon bootstrap sert à entraîner et à évaluer le modèle, et les métriques de performance sont moyennées sur l'ensemble des échantillons pour fournir une estimation de l'exactitude et de la variabilité du modèle. Cette démarche peut être reproduite sur différents modèles et avec différentes valeurs d'hyperparamètres pour parvenir au modèle optimal. La méthode de bootstrap est très flexible et peut s'appliquer à un large éventail de problèmes statistiques, mais elle peut être très coûteuse en calcul, en particulier avec de grands jeux de données. Néanmoins, il s'agit d'un outil précieux pour obtenir des estimations robustes des performances d'un modèle et pour appréhender la variabilité des prédictions.

De plus, il existe deux stratégies courantes de validation croisée appelées validation croisée à k plis et validation croisée avec exclusion unitaire.

La validation croisée à k plis (k-fold cross-validation) fonctionne en divisant le jeu de données en kk sous-ensembles de taille égale, ou plis (folds). Le modèle est entraîné sur k−1k−1 plis et testé sur le pli restant, un processus qui est répété kk fois de telle sorte que chaque pli serve d'ensemble de test exactement une fois. Cette approche garantit que chaque point de donnée est utilisé à la fois pour l'entraînement et la validation, offrant une évaluation plus complète de la capacité de généralisation du modèle. Cette méthode est particulièrement avantageuse lorsque la taille du jeu de données est limitée, car elle maximise l'utilisation des données disponibles tant pour l'entraînement que pour les tests.

La validation croisée avec exclusion unitaire (LOOCV) (leave-one-out cross-validation (LOOCV)) est un cas particulier de la validation croisée à k plis où kk est fixé au nombre total de points de données dans le jeu de données, ce qui signifie que chaque pli ne contient qu'une seule observation. Avec la LOOCV, le modèle est entraîné sur tous les points de données sauf un, qui fait office d'ensemble de validation, et ce processus est répété pour chaque point de donnée de l'ensemble. Cette méthode offre un mécanisme de validation exhaustif, garantissant que chaque observation est utilisée exactement une fois pour les tests, offrant ainsi une évaluation sans biais de la performance du modèle. Cependant, la LOOCV peut s'avérer extrêmement lourde sur le plan computationnel, en particulier pour les grands jeux de données, car elle nécessite d'entraîner le modèle autant de fois qu'il y a d'observations. Malgré son coût en calcul, la LOOCV s'avère particulièrement utile pour les petits jeux de données où il est primordial de conserver autant de données d'entraînement que possible à chaque itération pour assurer l'exactitude du modèle.

Exactitude et erreur

Une fois votre stratégie de validation arrêtée, comment évaluer la performance de vos modèles afin de choisir le meilleur ? Dans les chapitres précédents, nous avons présenté de nombreuses mesures d'ajustement, dont certaines sont utiles pour les tâches de classification, tandis que d'autres conviennent mieux aux tâches de régression, comme nous le verrons ci-dessous.

Exactitude de classification

Rappelez-vous, d'après Qu'est-ce que l'apprentissage automatique ?, que l'exactitude se calcule comme la proportion d'instances correctement prédites par rapport au nombre total d'instances dans une tâche de classification. Par exemple, considérons le cas d'un modèle de classification servant à prédire si un courriel est un pourriel ou non à partir de son contenu et de ses métadonnées. Si le modèle prédit correctement 90 courriels sur 100 comme pourriels ou non-pourriels, l'exactitude est de 90 %. Bien que 90 % semble être un niveau d'exactitude élevé, il est nécessaire d'approfondir la signification de cette métrique. Lorsque le jeu de données est déséquilibré, par exemple si 95 % des courriels ne sont pas des pourriels, une exactitude de 90 % est loin d'être satisfaisante. Ce scénario pourrait simplement signifier que le modèle se contente de prédire la classe majoritaire (non-pourriel) la plupart du temps.

Pour obtenir une compréhension plus nuancée des performances du modèle, des mesures complémentaires comme la précision, le rappel et le score F1 sont prises en compte. Nous avons vu dans Qu'est-ce que l'apprentissage automatique ? que la précision mesure la proportion d'instances positives correctement identifiées (vrais positifs) parmi toutes les instances que le modèle a prédites comme positives — c'est-à-dire TP/(TP+FP)TP/(TP+FP). D'autre part, le rappel mesure la proportion de vrais positifs parmi tous les positifs réels du jeu de données — c'est-à-dire TP/(TP+FP)TP/(TP+FP). Enfin, le F1F1-score établit un équilibre entre la précision et le rappel, fournissant une métrique unique pour évaluer l'exactitude du modèle dans les situations où un compromis existe entre les deux.

F1=2×precision×recallprecision+recallF1=2×precision×recallprecision+recall

Par exemple, une précision élevée couplée à un faible rappel peut indiquer que le modèle est trop conservateur, n'étiquetant un courriel comme pourriel que lorsqu'il en est extrêmement certain, ce qui conduit à laisser passer de nombreux pourriels.

Il est également capital d'examiner la matrice de confusion, qui fournit une décomposition détaillée des prédictions du modèle en indiquant le nombre de vrais positifs, de faux positifs, de vrais négatifs et de faux négatifs (voir Classification à l'aide de l'apprentissage automatique). La matrice de confusion permet d'éclairer la nature des erreurs commises par le modèle. Par exemple, un nombre élevé de faux positifs (courriels légitimes classés à tort comme pourriels) peut être beaucoup plus dommageable que des faux négatifs dans un scénario de filtrage de courriels, car cela pourrait entraîner la perte de messages importants. Par conséquent, bien que l'exactitude apporte une première indication sur la performance d'un modèle, une évaluation exhaustive exige d'analyser des métriques complémentaires et de comprendre leurs implications dans le contexte spécifique des données et du problème posé. Cette approche garantit que les décisions fondées sur les prédictions du modèle sont éclairées et fiables, en prenant en compte non seulement l'exactitude globale, mais également la nature et les conséquences des erreurs qu'il commet.

Mesures d'erreur en régression

For regression models, measures of error are used to evaluate model performance, including those discussed in Time Series and Forecasting and Decision-Making Using Machine Learning Basics: mean absolute error (MAE), mean square error (MSE), mean absolute percentage error (MAPE), and root mean square error (RMSE), in addition to statistical measures of fit such as R-squared or the Pearson correlation coefficient (r), which are detailed in Statistical Inference and Confidence Intervals. Adding one more measure to this list, consider the mean percentage error (MPE), which is a metric used to assess the accuracy of predictions in a regression model by calculating the average of the percentage errors between predicted (y^i)(y^i) and actual (yi)(yi) values.

MPE=1n∑i=1nyi−y^iyiMPE=1n∑i=1nyi−y^iyi

L'erreur moyenne en pourcentage (MPE) est similaire à la MAPE, si ce n'est que la valeur absolue de la différence n'est pas utilisée. Dès lors, la MPE aura tendance à être inférieure à la MAPE lorsque les prédictions s'équilibrent entre sous-estimations et surestimations par rapport aux valeurs réelles. Cependant, un inconvénient de la MPE réside dans sa vulnérabilité aux pourcentages d'erreur élevés, en particulier lorsque les valeurs réelles sont proches de zéro, ce qui peut conduire à des résultats trompeurs. De plus, la MPE peut donner des valeurs négatives si les prédictions surestiment ou sous-estiment systématiquement les valeurs réelles, ce qui complique son interprétation. Malgré ces limitations, la MPE offre des éclairages précieux lorsqu'elle est utilisée conjointement avec d'autres métriques d'erreur, contribuant à une compréhension plus fine de la performance du modèle.

AIC et BIC

Deux mesures étroitement liées sont souvent utilisées en validation : le critère d'information d'Akaike (AIC) et le critère d'information bayésien (BIC). La plupart des progiciels de statistiques calculent l'AIC et le BIC, mais il est instructif de connaître leurs formules mathématiques. Soit nn le nombre de points de données, kk le nombre de paramètres (ou degrés de liberté), et LL la vraisemblance maximale du modèle (voir Classification à l'aide de l'apprentissage automatique).

AIC=2k−2ln(L)BIC=kln(n)−2ln(L)AIC=2k−2ln(L)BIC=kln(n)−2ln(L)

L'AIC et le BIC sont tous deux des critères employés pour la sélection et la validation de modèles dans le contexte des modèles statistiques. Ils aident à choisir le meilleur modèle parmi un ensemble de modèles candidats en équilibrant la qualité de l'ajustement et la complexité du modèle. Le BIC impose une pénalité plus sévère sur le nombre de paramètres que l'AIC, privilégiant ainsi des modèles globalement plus simples. Durant la procédure de sélection de modèle, divers modèles candidats sont ajustés aux données. Les valeurs d'AIC et de BIC sont calculées pour chaque modèle, et le modèle présentant la valeur de critère la plus faible est retenu :

Code Python

   # cross validation with Bayesian Information Criterion
  
  from sklearn.model_selection import cross_val_score, GridSearchCV
  import numpy as np # Import numpy
  
  # Define the decision tree classifier
  dt = DecisionTreeClassifier()
  
  # Perform cross-validation with 5 folds
  scores = cross_val_score(dt, features, targets, cv=5)
  
  # Print the average accuracy
  print(f"Average accuracy over 5 folds: {scores.mean():.2f}")
  
  # Define the parameter grid for grid search
  param_grid = {
    'max_depth': range(1, 10),
    'min_samples_leaf': range(1, 10),
    'min_samples_split': range(2, 10)
  }
  
  # Perform grid search with cross-validation
  grid_search = GridSearchCV(dt, param_grid, cv=5)
  grid_search.fit(features, targets)
  
  # Print the best parameters and score
  print(f"Best parameters: {grid_search.best_params_}")
  print(f"Best score: {grid_search.best_score_:.2f}")
  
  # Print the BIC score for the best model
  best_model = grid_search.best_estimator_
  bic = len(features) * np.log(len(targets)) - 2 * best_model.score(features, targets) # Now np is defined
  print(f"BIC score: {bic:.2f}")
  

Le résultat obtenu se présentera comme suit :

Average accuracy over 5 folds: 0.41
Best parameters: {'max_depth': 1, 'min_samples_leaf': 1, 'min_samples_split': 2}
Best score: 0.72
BIC score: 2165.56

Le but du BIC est d'équilibrer l'ajustement du modèle avec sa complexité, contribuant ainsi à éviter le surapprentissage. Un score BIC plus bas indique un meilleur modèle, car cela suggère que le modèle s'ajuste bien aux données tout en demeurant relativement simple. Par exemple, le score BIC de 2 165,56 serait considéré comme bon s'il est inférieur aux scores BIC des modèles concurrents, indiquant qu'il offre un meilleur compromis entre qualité de l'ajustement et complexité.

Analyse de sensibilité

L'analyse de sensibilité (sensitivity analysis) est une technique analytique utilisée pour déterminer comment les différentes sources d'incertitude dans les entrées d'un modèle ou d'un système affectent sa sortie. De manière générale, l'analyse de sensibilité est réalisée en faisant varier légèrement les entrées ou les paramètres — par exemple de plus ou moins 5 % — puis en examinant les variations de la sortie. Si la sortie varie de manière excessive sous l'effet de légères modifications des entrées, le modèle peut s'avérer instable, nécessitant d'autres techniques de modélisation pour en améliorer la stabilité.

Particulièrement en science des données, où les modèles complexes comportant de nombreuses variables et sources d'incertitude sont fréquents, l'analyse de sensibilité s'avère inestimable. Par exemple, elle quantifie la relation entre la taille du jeu de données et la performance du modèle dans un problème prédictif spécifique, aidant à déterminer le volume de données nécessaire pour atteindre les niveaux d'exactitude souhaités. De plus, elle permet d'identifier les variables d'entrée clés qui influencent de manière significative la sortie du modèle, orientant ainsi l'attention vers les caractéristiques et les paramètres les plus pertinents pour le domaine concerné.

L'analyse de sensibilité en science des données remplit de multiples fonctions, telles que l'identification des variables d'entrée influentes, l'évaluation de la robustesse du modèle face aux variations d'entrée et la mise au jour d'éventuels biais. Diverses méthodes sont employées pour mener une analyse de sensibilité, adaptées à la complexité du modèle et au niveau de détail requis. Vous trouverez ci-dessous quelques exemples de techniques d'analyse de sensibilité couramment utilisées.

L'analyse de sensibilité unidirectionnelle (one-way sensitivity analysis) examine comment les modifications d'un seul paramètre d'entrée à la fois influencent le résultat d'un modèle. Elle est utile pour mesurer l'impact de variables individuelles sur le résultat, permettant ainsi aux décideurs de comprendre quels facteurs uniques sont les plus critiques.

L'analyse de sensibilité multidirectionnelle (multi-way sensitivity analysis) explore les effets de modifications simultanées de plusieurs paramètres d'entrée sur le résultat. Cette approche aide à comprendre les interactions entre différentes variables et la manière dont elles influencent collectivement les résultats du modèle.

L'analyse de scénarios (scenario analysis) évalue les résultats sous différents ensembles prédéfinis de paramètres d'entrée, représentant d'éventuels états ou contextes futurs. Elle aide à apprécier la résilience des résultats d'un modèle dans diverses conditions hypothétiques, apportant un éclairage précieux sur les risques et les opportunités potentiels.

La simulation de Monte-Carlo (Monte Carlo simulation) utilise l'échantillonnage aléatoire et la modélisation statistique pour estimer la probabilité de différents résultats en présence d'incertitude. Cette méthode offre une vision globale de la variabilité potentielle des résultats, aidant les décideurs à évaluer l'éventail des issues envisageables et la vraisemblance des différents scénarios.

Exemple 10.4

Problème

Pour évaluer la sensibilité des résultats des modèles de prédiction du diabète mentionnés ci-dessus, une simulation de Monte-Carlo a été appliquée aux données. Quelle est l'exactitude moyenne obtenue sur 1 000 simulations ?

Solution

Code Python

    import random

    # Define the number of simulations
    num_simulations = 1000
    
    # Initialize a list to store the results
    results = []
    
    # Loop through the number of simulations
    for i in range(num_simulations):
      # Randomly split the data into training and testing sets
      x_train, x_test, y_train, y_test = train_test_split(features, targets, stratify=targets, random_state=random.randint(0, 1000))
    
      # Create a decision tree classifier
      model = DecisionTreeClassifier(random_state=random.randint(0, 1000))
    
      # Train the model on the training set
      model.fit(x_train, y_train)
    
      # Predict on the testing set
      y_pred = model.predict(x_test)
    
      # Calculate the accuracy
      accuracy = (y_pred == y_test).mean()
    
      # Store the accuracy in the results list
      results.append(accuracy)
    
    # Calculate the average accuracy across all simulations
    average_accuracy = sum(results) / len(results)
    
    # Print the average accuracy
    print(f"Average accuracy over {num_simulations} simulations: {average_accuracy:.2f}")
  

Le résultat obtenu sera :

Average accuracy over 1000 simulations: 0.75

L'exactitude moyenne sur l'ensemble des simulations s'établit à 75 %. Les simulations de Monte-Carlo enrichissent encore la compréhension en offrant une vue exhaustive de la réaction du modèle face à diverses distributions d'entrées, mettant en évidence l'incertitude globale du modèle et les valeurs aberrantes potentielles. Grâce à de telles analyses, des informations précieuses émergent au sujet du modèle de prédiction du prix des logements. Celles-ci peuvent inclure l'influence prédominante de l'emplacement sur le prix, la sensibilité aux valeurs aberrantes dans les données, ou encore les rendements décroissants liés à des chambres supplémentaires au-delà d'un certain seuil. Ces éléments s'avèrent déterminants pour affiner le modèle, guider les stratégies de collecte de données et éclairer des décisions plus précises en matière de fixation des prix immobiliers.

L'analyse de sensibilité éclaire les processus décisionnels dans de nombreux domaines afin de comprendre la façon dont les différentes entrées influencent les résultats de leurs modèles ou de leurs projets. En modifiant soigneusement les facteurs déterminants et en observant la façon dont les résultats évoluent, l'analyse de sensibilité permet de mieux discerner les liens entre les différentes entrées et les sorties. Ce processus permet de mieux cerner les facteurs qui pèsent le plus sur les résultats finaux. L'analyse de sensibilité est une composante essentielle de la section d'analyse des données de votre rapport technique, illustrant la robustesse des modèles et renforçant ainsi la confiance que les commanditaires du projet accordent à votre méthode de modélisation.

Documenter les forces et les faiblesses

Tout modèle possède des forces et des faiblesses. Lors de la documentation des forces ou des faiblesses dans la partie relative aux résultats et à la discussion d'un rapport de science des données, il est crucial d'exposer clairement les résultats d'une manière qui soit étayée par les données ou les informations ayant conduit à cette conclusion. Cette documentation doit faire l'objet d'une section distincte dans le rapport technique afin d'attirer l'attention sur cette question.

Forces

Les forces doivent être spécifiques et significatives. Par exemple, si le jeu de données est très exhaustif, vous pourriez écrire : « Le jeu de données comprend des informations détaillées sur 50 000 transactions immobilières au cours de la dernière décennie, ce qui offre une base solide pour comprendre les tendances du marché. » Si vous souhaitez mettre en valeur une étape du processus de modélisation soulignant l'exactitude, la robustesse, etc., vous pourriez écrire : « Mise en œuvre d'un modèle de forêt aléatoire constitué de 1 000 arbres de décision. Une approche de validation croisée à 10 plis a été employée pour valider la performance du modèle, garantissant que les résultats ne présentent pas de surapprentissage par rapport aux données d'entraînement. »

Il convient d'éviter à tout prix de surévaluer ou d'inventer des forces. Pour revenir à l'exemple de la détection de pourriels par courriel, si le modèle affiche une exactitude de 90 % mais que le jeu de données d'entraînement est fortement déséquilibré, avec plus de 95 % de messages légitimes, il serait trompeur de présenter cette exactitude de 90 % comme une force du modèle.

Faiblesses

Personne n'aime admettre ses faiblesses ; cependant, dans le contexte d'un projet de science des données, l'énumération des faiblesses réelles ou potentielles constitue un élément indispensable à la rédaction d'un rapport efficace et informatif. Les déclarations de faiblesses doivent être aussi précises que possible, indiquer les mesures prises pour y remédier et suggérer des pistes pour que les travaux futurs évitent cet écueil. Les faiblesses peuvent provenir de données limitées ou biaisées, de jeux de données présentant de nombreuses valeurs manquantes, du recours à des modèles sujets au sous-apprentissage ou au surapprentissage, d'une portée restreinte, ou encore d'hypothèses et de simplifications susceptibles d'introduire des biais et des inexactitudes dans le modèle.

Voici un exemple de formulation constructive d'une faiblesse : « Environ 15 % des enregistrements présentaient des valeurs manquantes pour des variables clés telles que la superficie et le nombre de chambres, lesquelles ont été imputées à l'aide des valeurs médianes, ce qui a pu introduire un biais. » Cette affirmation fournit une information précise (15 % des enregistrements ont des valeurs manquantes), détaille les mesures adoptées pour tenter de résoudre le problème (imputation par la médiane) et suggère implicitement que l'obtention d'un jeu de données plus complet permettrait d'atténuer cette faiblesse.

Utiliser les retours des pairs

Les retours des pairs sur les rapports de science des données peuvent consolider le livrable en apportant des points de vue variés et des avis d'experts, identifiant d'éventuelles faiblesses, des biais ou des axes d'amélioration que l'auteur initial aurait pu omettre. Par exemple, un pair peut suggérer d'employer des techniques de validation supplémentaires pour confirmer la robustesse des prédictions d'un modèle, ou proposer une méthode plus efficace pour visualiser des données complexes. L'intégration de tels retours peut conduire à des résultats plus précis et plus fiables, renforçant la crédibilité générale du rapport. En outre, les pairs peuvent aider à s'assurer que le style et la structure du rapport sont clairs et accessibles, facilitant ainsi la compréhension et l'application des résultats par un public élargi. Un exemple de retour de pairs pourrait être : « Envisagez d'utiliser la validation croisée pour consolider l'évaluation des performances de votre modèle et intégrez une comparaison avec des modèles alternatifs afin de fournir une analyse approfondie. »

Pour ceux qui formulent des retours, il est préférable de privilégier la critique constructive, en reconnaissant les limites tout en suggérant des solutions possibles ou des orientations de recherche futures. Plutôt que de simplement souligner les faiblesses, mettez en valeur les possibilités d'amélioration, en suggérant d'autres approches de modélisation, des stratégies d'acquisition de données ou des techniques d'atténuation des biais. Formuler des suggestions pour des analyses futures peut favoriser les progrès dans le domaine d'étude analysé.

Exemple 10.5

Problème

Afin de mieux appréhender le comportement et la fidélisation des consommateurs, la direction marketing d'une boutique de vêtements en ligne a demandé à l'équipe de science des données de concevoir un modèle permettant d'analyser l'attrition des clients. (L'attrition des clients correspond au taux auquel les clients cessent d'utiliser les produits ou services d'une entreprise sur une période donnée.) L'équipe de science des données a créé un modèle à l'aide d'une régression logistique basée sur les données internes de l'organisation. Bien que le modèle ait atteint une exactitude de 85 %, il a montré une tendance à mal classer une proportion importante de clients qui présentaient un risque élevé d'attrition d'après les résultats des données entrantes. En tant que responsable de l'équipe de science des données, quelles mesures prendriez-vous pour aider l'équipe à accroître l'exactitude et à communiquer les résultats actuels au directeur marketing ?

Solution

Étapes pour fournir des retours constructifs à l'équipe de science des données :

  • Créer un espace collaboratif et adopter une démarche collective pour examiner les facteurs influençant le modèle.
  • Reconnaître les limites en partageant les constats tirés des données les plus récentes par rapport aux résultats du modèle.
  • Centrer la discussion sur l'amélioration du modèle, et non sur la performance individuelle des membres de l'équipe.
  • Nourrir la réflexion en vue de l'amélioration du modèle en formulant des suggestions (par exemple, intégrer des données comportementales supplémentaires sur les clients, des facteurs externes, d'autres techniques de science des données) ou en posant des questions (par exemple, disponibilité des données, sources).
  • Examiner et convenir ensemble des pistes à suivre pour les prochaines étapes.

Étapes pour transmettre des retours constructifs au directeur marketing :

  • Décrire le jeu de données ayant servi à développer le modèle et expliquer pourquoi la technique de science des données retenue a été choisie, sans adopter un jargon excessivement technique.
  • Partager les limites du jeu de données et de la technique de régression logistique.
  • Présenter les résultats du modèle à l'aide d'une visualisation de données telle qu'une matrice de confusion.
  • Inviter le directeur marketing à formuler des suggestions concernant d'éventuelles données complémentaires à exploiter.
  • Proposer des suggestions sur d'autres techniques de science des données envisageables à partir des données recommandées.
  • Définir d'un commun accord les prochaines étapes pour le développement du modèle.