Data Science : Etude de cas sur le diabète des Indiens Pima

Prédire l'apparition du diabète en fonction de mesures de diagnostic

Contexte

Cet ensemble de données est à l’origine de l’Institut national du diabète et des maladies digestives et rénales. L’objectif de l’ensemble de données est de prédire de manière diagnostique si un patient est diabétique ou non, en fonction de certaines mesures de diagnostic incluses dans l’ensemble de données. Plusieurs contraintes ont été imposées à la sélection de ces instances dans une base de données plus grande. En particulier, tous les patients ici sont des femmes âgées d’au moins 21 ans et d’origine indienne Pima.

L’objectif de cette étude est de construire
un modèle d’apprentissage automatique permettant de prédire avec précision si les patients de l’ensemble de données sont atteints de diabète ou non.

Cette étude est un guide pour mener à bien une étude complète en apprentissage automatique avec différents concepts tels que:

Compléter les valeurs manquantes (partie la plus importante)
L’analyse exploratoire des données
Création de nouvelles fonctionnalités (pour augmenter la précision)
Fonctions d’encodage
Utiliser LightGBM et optimiser les hyperparamètres
Ajouter un KNN à LGBM pour battre 90% de précision (classificateur de vote)Completing missing values (most important part)

  • Exploratory data analysis
  • Creating new features (to increase accuracy)
  • Encoding features
  • Using LightGBM and optimize hyperparameters
  • Adding a KNN to LGBM to beat 90% accuracy (voting classifier)

Who are Pima Indians ?

Les Pimas sont un peuple de Nord-Amérindiens originaires du Mexique et du Sonora. Le peuple Pima est connu pour être une des communautés comportant le plus grand pourcentage d’obèses et de diabétiques au monde, et à ce titre est un sujet d’études pour les scientifiques ; en effet, alors qu’ils partagent un patrimoine génétique commun, les Pimas mexicains ont rarement ces deux pathologies qui semblent propres aux Pimas d’Arizona et directement en rapport avec leur mode de vie.

1. Charger les librairies et lire les données

1.1. Charger les libraries

# Python libraries
# Classic,data manipulation and linear algebra
import pandas as pd
import numpy as np

# Plots
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
import plotly.offline as py
import plotly.graph_objs as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import plotly.tools as tls
import plotly.figure_factory as ff
py.init_notebook_mode(connected=True)
import squarify

# Data processing, metrics and modeling
from sklearn.preprocessing import StandardScaler, LabelEncoder
from sklearn.model_selection import GridSearchCV, cross_val_score, train_test_split, GridSearchCV, RandomizedSearchCV
from sklearn.metrics import precision_score, recall_score, confusion_matrix,  roc_curve, precision_recall_curve, accuracy_score, roc_auc_score
import lightgbm as lgbm
from sklearn.ensemble import VotingClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import roc_curve,auc
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_predict
from yellowbrick.classifier import DiscriminationThreshold

# Stats
import scipy.stats as ss
from scipy import interp
from scipy.stats import randint as sp_randint
from scipy.stats import uniform as sp_uniform

# Time
from contextlib import contextmanager
@contextmanager
def timer(title):
    t0 = time.time()
    yield
    print("{} - done in {:.0f}s".format(title, time.time() - t0))

#ignore warning messages 
import warnings
warnings.filterwarnings('ignore') 

1.2. Lire les données

Chargement du jeu de données avec pandas (pd)

data = pd.read_csv('../input/diabetes.csv')

2. Vue d’ensemble

2.1. L’en-tête

Vérification de l’en-tête de la table

data.head(12)

Le reste de cette étude est disponible sur le lien suivant: https://bit.ly/2SZG7MY

Avatar
A propos Vincent Lugat 4 Articles
Vincent Lugat est consultant en Data Science spécialiste en Machine Learning. Issue d’une formation en économétrie, il aide les entreprises à optimiser l’utilisation de leurs données et à modéliser les comportements futurs. Ses domaines de prédilection sont la classification et la data visualisation.

Soyez le premier à commenter

Laisser un commentaire