Analyse exploratoire de données sur les tumeurs du cancer du sein en Python

 Analyse exploratoire de données sur les tumeurs du cancer du sein en Python

Étude de cas

L'objectif de cette étude de cas est de démontrer comment les machines à vecteurs de support (SVM) peuvent être utilisées pour prédire si une tumeur du sein est maligne ou bénigne en fonction de ses caractéristiques. Le jeu de données utilisé dans cette étude de cas est le jeu de données Breast Cancer Wisconsin (Diagnostic), qui contient des informations sur les tumeurs du cancer du sein de patients du Wisconsin.


Ce jeu de données a été collecté dans les hôpitaux de l'Université du Wisconsin, à Madison, et a été donné au dépôt d'apprentissage automatique de l'UCI. Le jeu de données a été créé par le Dr William H. Wolberg, qui a recueilli les données à l'aide d'une biopsie à l'aiguille et a numérisé les images à l'aide d'un scanner. Ce jeu de données a été largement utilisé par la communauté de l'apprentissage automatique pour des tâches de classification et a été cité dans plus de 13 000 articles de recherche.


Visualisation d'un ensemble de données sur le cancer du sein

L'objectif de cette étude de cas est d'utiliser des SVM pour prédire si une tumeur est maligne ou bénigne en fonction de ses caractéristiques, et d'évaluer la performance du modèle à l'aide d'un rapport de classification. Ce faisant, nous pouvons démontrer l'utilité des SVM pour le diagnostic médical et l'importance de la sélection des caractéristiques et du prétraitement dans l'apprentissage automatique.


Machines à vecteurs de support (SVM)

Les machines à vecteurs de support (SVM) sont un type d'algorithme d'apprentissage automatique supervisé qui peut être utilisé à la fois pour la classification et l'analyse de régression. Les SVM sont basés sur l'idée de trouver un hyperplan dans un espace à haute dimension qui sépare les classes de points de données aussi bien que possible. Le but des SVM est de trouver l'hyperplan qui maximise la marge entre les deux classes de points de données, où la marge est définie comme la distance entre l'hyperplan et les points de données les plus proches de chaque classe.

Dans le contexte de cette étude de cas, les SVM sont un algorithme approprié à utiliser pour plusieurs raisons :

1. Les SVM sont efficaces pour les données à haute dimension : L'ensemble de données sur le cancer du sein contient de nombreuses caractéristiques, et les SVM sont bien adaptés pour traiter des ensembles de données avec un grand nombre de dimensions.

2. Les SVM sont efficaces pour traiter les relations non linéaires : La relation entre les caractéristiques et la variable cible dans cet ensemble de données n'est pas nécessairement linéaire, et les SVM sont capables de modéliser efficacement les relations non linéaires.

3. Les SVM sont robustes à l'overfitting : L'overfitting est un problème courant dans l'apprentissage automatique, lorsqu'un modèle s'adapte trop étroitement aux données d'apprentissage et ne se généralise pas bien aux nouvelles données. Les SVM sont conçus pour être robustes à l'overfitting, ce qui est important pour faire des prédictions précises sur de nouvelles données.

4. Les SVM ont une frontière de décision claire : les SVM visent à trouver l'hyperplan qui maximise la marge entre les deux classes de points de données, ce qui se traduit par une frontière de décision claire entre les deux classes.

Dans l'ensemble, les SVM sont un algorithme puissant et flexible qui peut être utilisé pour une grande variété de tâches d'apprentissage automatique, notamment la classification, la régression et la détection des anomalies. Dans cette étude de cas, les SVM ont été utilisés pour prédire si une tumeur mammaire est maligne ou bénigne en fonction de ses caractéristiques, et le rapport de classification résultant a montré que le modèle SVM avait de bonnes performances.

Pré-traitement des données

Le jeu de données est composé de 569 instances et de 32 caractéristiques. La première colonne contient un numéro d'identification pour chaque instance, qui n'est pas utile à des fins d'apprentissage automatique et est donc supprimé lors de l'étape de prétraitement. La deuxième colonne contient le diagnostic (M pour malin et B pour bénin), qui est notre variable cible. Les 30 colonnes restantes contiennent diverses caractéristiques de la tumeur, notamment le rayon, la texture, le périmètre, la surface, la douceur, la compacité, la concavité, la symétrie et la dimension fractale. Le code (GitHub)

Nous devons abandonner la première colonne de l'ensemble de données, qui correspond à un numéro d'identification qui n'est pas utile pour notre analyse. Nous convertissons ensuite la deuxième colonne de l'ensemble de données, qui contient le diagnostic (M pour malin et B pour bénin), en une variable binaire à des fins d'apprentissage automatique.

Nous divisons ensuite les données en ensembles de formation et de test à l'aide de la fonction train_test_split de scikit-learn. Nous créons d'abord les variables X et y, qui correspondent aux caractéristiques d'entrée et à la variable cible, respectivement. Nous supprimons la deuxième colonne de X, puisqu'il s'agit de notre variable cible, et l'affectons à y. Nous divisons ensuite les données en ensembles de formation et de test en utilisant une taille de test de 0,2 et un état aléatoire de 42, ce qui garantit que nous obtenons la même division des données à chaque fois que nous exécutons le code.

Nous ajustons ensuite un modèle SVM aux données de formation et évaluons ses performances sur les données de test. Nous créons d'abord un objet SVM en utilisant la fonction SVC de scikit-learn. Nous ajustons ensuite le modèle SVM aux données d'entraînement à l'aide de la méthode fit, et nous générons des prédictions sur les données de test à l'aide de la méthode predict. Enfin, nous imprimons un rapport de classification à l'aide de la fonction classification_report de scikit-learn, qui fournit des informations sur la précision, le rappel et le score F1 du modèle.
Le résultat est un rapport de classification pour un modèle de machine à vecteur de support (SVM) formé sur l'ensemble de données Breast Cancer Wisconsin (Diagnostic). Le modèle vise à prédire si une tumeur du sein est maligne ou bénigne en fonction de ses caractéristiques, et le rapport de classification fournit des informations sur les performances du modèle.

Le rapport de classification contient plusieurs métriques qui sont couramment utilisées pour évaluer les performances des modèles de classification :

La précision : La précision est la proportion de prédictions positives vraies (c'est-à-dire le nombre de tumeurs malignes correctement identifiées) sur l'ensemble des prédictions positives (c'est-à-dire la somme des prédictions positives vraies et des prédictions positives fausses). Dans ce cas, la précision pour les tumeurs malignes est de 0,93, ce qui signifie que 93 % des tumeurs prédites comme étant malignes par le modèle l'étaient réellement.
Rappel : Le rappel est la proportion de prédictions positives vraies sur tous les cas positifs réels (c'est-à-dire la somme des cas positifs vrais et négatifs faux). Dans ce cas, le rappel pour les tumeurs malignes est de 0,92, ce qui signifie que le modèle a correctement identifié 92% des tumeurs malignes dans l'ensemble de données.
Score F1 : Le score F1 est la moyenne harmonique de la précision et du rappel, et fournit une mesure unique de la performance du modèle. Dans ce cas, le score F1 pour les tumeurs malignes est de 0,93, ce qui correspond à la moyenne pondérée de la précision et du rappel et prend en compte le nombre de vrais positifs et de faux positifs.
Support : Le support est le nombre d'instances dans chaque classe, qui dans ce cas est de 72 pour les tumeurs bénignes et 42 pour les tumeurs malignes.
La précision du modèle est également indiquée, c'est-à-dire la proportion de prédictions correctes parmi toutes les prédictions. Dans ce cas, la précision est de 0,94, ce qui signifie que le modèle a correctement prédit le diagnostic pour 94 % des tumeurs de l'ensemble de données.

Les moyennes macro et pondérées de la précision, du rappel et du score F1 sont également indiquées, ce qui fournit un résumé de la performance globale du modèle. La moyenne macro est la moyenne non pondérée de la précision, du rappel et du score F1 pour les deux classes, tandis que la moyenne pondérée est la moyenne pondérée des mêmes mesures, avec des poids proportionnels au soutien de chaque classe. Dans ce cas, la moyenne macro et la moyenne pondérée sont toutes deux de 0,94, ce qui indique que le modèle a bien fonctionné pour les tumeurs bénignes et malignes.Le résultat est un rapport de classification pour un modèle de machine à vecteur de support (SVM) entraîné sur le jeu de données Breast Cancer Wisconsin (Diagnostic). Le modèle vise à prédire si une tumeur du sein est maligne ou bénigne en fonction de ses caractéristiques, et le rapport de classification fournit des informations sur les performances du modèle.

La précision, qui est la proportion de prédictions correctes sur l'ensemble des prédictions, est de 0,94, ce qui signifie que le modèle a correctement prédit le diagnostic pour 94 % des tumeurs de l'ensemble de données.

Articles précédents:

Comments

Popular posts from this blog

Apprendre les langues étrangères : Outils modernes et potentiel du ChatGPT

ChatGPT-4 reproduit l'animation GapMinder en une seule tentative

GPT-4 vs GPT-3.5 - Dévoiler l'avenir des modèles de langage de l'IA