0% ont trouvé ce document utile (0 vote)
5 vues4 pages

Pipeline ML avec PySpark et régression logistique

Transféré par

chaimahamdena1998
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues4 pages

Pipeline ML avec PySpark et régression logistique

Transféré par

chaimahamdena1998
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ce code configure une session Spark pour le Machine Learning avec PySpark.

Il prépare un pipeline
ML, utilise la régression logistique pour la classification et importe des outils comme
`VectorAssembler`, `StringIndexer` et `MinMaxScaler` pour transformer et normaliser les données
avant l'entraînement du modèle.

Ce code charge un fichier CSV nommé `[Link]` dans une DataFrame Spark, avec Spark inférant
automatiquement les types de données et utilisant la première ligne comme en-tête. Enfin, il affiche
les premières lignes du fichier pour un aperçu rapide des données.

La commande `[Link]()` renvoie le nombre total de lignes dans la DataFrame `data`, c’est-à-dire
le nombre d'enregistrements (ou observations) présents dans le fichier `[Link]`.
Ce code calcule et affiche les minimums, maximums et moyennes des délais de départ (`DepDelay`)
et d'arrivée (`ArrDelay`) pour tous les vols dans la DataFrame, en utilisant des fonctions d'agrégation
sur l'ensemble des données.

Ce code utilise `VectorAssembler` de PySpark pour combiner plusieurs colonnes numériques


(`DayofMonth`, `DayOfWeek`, `DepDelay`, `ArrDelay`, et `Late`) en une seule colonne appelée
`features`. Cette colonne est nécessaire pour effectuer des analyses statistiques ou entraîner des
modèles de Machine Learning, comme le calcul de corrélations ou l'entraînement de modèles
supervisés.

Ce code applique la transformation `VectorAssembler` sur la DataFrame `data` en utilisant la


commande `[Link](data)`. Cela crée une nouvelle DataFrame `newData` où les colonnes
spécifiées (comme `DayofMonth`, `DayOfWeek`, `DepDelay`, `ArrDelay`, `Late`) sont combinées en
une nouvelle colonne appelée `features`. Ensuite, la méthode `show()` est utilisée pour afficher les
premières lignes de la DataFrame `newData`, montrant ainsi la colonne `features` avec les valeurs
combinées.

Ce code calcule la matrice de corrélation de Pearson pour les colonnes combinées dans la colonne
`features` de la DataFrame `newData`, puis affiche cette matrice en utilisant `print`. La matrice
montre les relations statistiques entre les différentes variables.
Ce code divise aléatoirement les données de la DataFrame `data` en deux ensembles : un ensemble
d'entraînement (70% des données) et un ensemble de test (30% des données) en utilisant
`randomSplit([0.7, 0.3])`. Ensuite, il compte le nombre de lignes dans chaque ensemble (en utilisant
`count()`) et affiche le nombre de lignes dans les ensembles d'entraînement et de test avec `print`.

Ce code crée un pipeline de Machine Learning pour entraîner un modèle de régression logistique. Il
transforme d'abord des colonnes catégorielles en valeurs numériques à l'aide de `StringIndexer`,
normalise les données avec `MinMaxScaler`, puis combine toutes les caractéristiques dans une
colonne unique avec `VectorAssembler`. Enfin, il utilise la régression logistique pour prédire la
variable `Late` (délai). Toutes ces étapes sont regroupées dans un pipeline prêt à être exécuté.

Ce code entraîne le pipeline sur les données d'entraînement `train` en utilisant la méthode `fit()`.
Cela applique toutes les étapes de transformation et d'entraînement définies dans le pipeline. Une
fois l'entraînement terminé, un message "Pipeline complete!" est affiché pour indiquer que le
processus est terminé.
Ce code utilise le modèle entraîné pour faire des prédictions sur les données de test, puis affiche les
résultats en montrant les caractéristiques, les prédictions et les valeurs réelles (`Late`) pour les 100
premières lignes.

Ce code calcule les métriques de performance du modèle, notamment les vrais positifs (TP), faux
positifs (FP), vrais négatifs (TN) et faux négatifs (FN). Il utilise ces valeurs pour calculer la précision
(Precision) et le rappel (Recall), puis affiche ces métriques dans un tableau.

Ce code utilise l'évaluateur `BinaryClassificationEvaluator` pour calculer l'aire sous la courbe ROC
(AUC) du modèle, une métrique qui mesure la capacité du modèle à distinguer les classes positives et
négatives. L'AUC est ensuite affichée pour évaluer la performance du modèle.

Vous aimerez peut-être aussi