Prétraitement dans Sklearn

Prétraitement dans Sklearn
Le prétraitement des données, une phase cruciale de l'exploration de données, peut être définie comme une modification ou une suppression des données avant l'utilisation pour assurer ou augmenter les performances. La préparation des données implique plusieurs procédures telles que l'analyse exploratoire des données, la suppression des informations inutiles et l'ajout d'informations nécessaires. Nous parlerons du prétraitement des données et de la façon dont il est utilisé dans Sklearn dans cet article.

Qu'est-ce que le traitement des données?

Le prétraitement des données est une étape critique de l'apprentissage automatique qui améliore la qualité des données pour encourager l'extraction de précieuses informations des données. La préparation des données dans l'apprentissage automatique est le processus de préparation des données brutes (les nettoyage et l'organisation) à utiliser et à former des modèles d'apprentissage automatique. Le prétraitement des données dans l'apprentissage automatique est, pour le dire simplement, une approche d'exploration de données qui convertit les données brutes en un format lisible et intelligible.

Pourquoi avons-nous besoin de prétraitement des données?

Les données du monde réel manquent souvent de valeurs ou de tendances d'attribut particulières et est souvent incohérente, erronée (contient des erreurs ou des valeurs aberrantes) et incomplète. La préparation des données entre en jeu dans cette situation car elle aide à nettoyer, formater et organiser les données brutes, ce qui le prépare à l'emploi par des modèles d'apprentissage automatique.

Le prétraitement des données traite les éléments suivants:

  • Données manquantes: supprimer, corriger et imputer
  • Caractéristiques d'ingénierie: extrapoler les nouvelles fonctionnalités à partir de données brutes.
  • Formatage des données: les données peuvent ne pas être disponibles dans le format souhaité. Par exemple, il s'agit d'un fichier texte simple que nous devons convertir en dataframe.
  • Normalisation des données: toutes les données ne peuvent pas être sous forme normalisée. Par conséquent, nous l'avons mis à l'échelle à la plage donnée à des fins d'efficacité
  • Décomposition: supprimer les données redondantes pour améliorer les performances

Normes pour l'API Scikit-Learn

Il existe plusieurs spécifications pour le type de données que le Sklearn traitera.

  • Valeurs constantes (pas de variables catégorielles).
  • Aucune valeur ne manque.
  • Chaque colonne doit contenir une variable prédictive différente.
  • Chaque ligne doit contenir une observation de caractéristique.
  • Il doit y avoir autant d'étiquettes pour chaque fonctionnalité qu'il y en a des observations.

Implémentation de prétraitement Sklearn

Importation des bibliothèques et des données

# Importation des bibliothèques et des cours
De Sklearn Import SVM, ensembles de données
Importer des pandas en tant que PD
de Sklearn.Imputer l'importation Simple Imputer
de Sklearn.prétraitement des normes d'importation
de Sklearn.Importation de prétraitement
# Chargement de l'ensemble de données IRIS
données = ensembles de données.load_iris ()
df = pd.DataFrame (données = données.données, colonnes = données.featuor_name)

Chargement des 5 premières lignes des données

df.diriger()

Sortir

Longueur sépale (cm) Sepal Largeur (CM) Longueur du pétale (CM) Largeur des pétales (CM)
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
3 4.6 3.1 1.5 0.2
4 5.0 3.6 1.4 0.2

Obtenir des informations sur les types et les valeurs nulles

df.Info()

Sortir

RangeIndex: 150 entrées, 0 à 149
Colonnes de données (4 colonnes totales):
# Colonne NON NULL COUNT DTYPE
--- ------ -------------- -----
0 Longueur sépale (cm) 150 Float64 non nul
1 largeur sépale (cm) 150 Float64 non nul
2 Petal Longueur (CM) 150 Float64 non nul
3 Largeur de pétale (CM) 150 Float non nuls64
dtypes: float64 (4)

Remplissant les valeurs manquantes du DataFrame à l'aide de Sklearn:

Imputer = SimpleImputer (Strategy = 'Mean')
DF ['Sepal Largeur (CM)'] = Imputer.fit_transform (df [['sepal largeur (cm)']])

Nous pouvons itérer toutes les colonnes pour effectuer cette tâche sur toutes les colonnes.

Mise à l'échelle des données à l'aide de SCALER SCALER

scalemer = standardscaler ()
écailleur.Fit (DF)
# Transformer les données
écailleur.Transform (df) [: 10]

Sortir

Array ([[- 0.90068117, 1.01900435, -1.34022653, -1.3154443],
[-1.14301691, -0.13197948, -1.34022653, -1.3154443],
[-1.38535265, 0.32841405, -1.39706395, -1.3154443],
[-1.50652052, 0.09821729, -1.2833891, -1.3154443],
[-1.02184904, 1.24920112, -1.34022653, -1.3154443],
[-0.53717756, 1.93979142, -1.16971425, -1.05217993],
[-1.50652052, 0.78880759, -1.34022653, -1.18381211],
[-1.02184904, 0.78880759, -1.2833891, -1.3154443],
[-1.74885626, -0.36217625, -1.34022653, -1.3154443],
[-1.14301691, 0.09821729, -1.2833891, -1.44707648]])

Un encodage chaud

encodeur = onehotencoder (handle_unknown = 'ignore')
X = [['a', 1], ['b', 3], ['b', 2]]
encodeur.ajustement (x)
imprimer (encodeur.catégories_)
encodeur.Transformer (x).toarray ()

Sortir

[array (['a', 'b'], dtype = objet), array ([1, 2, 3], dType = objet)]]
Array ([[1., 0., 1., 0., 0.]],
[0., 1., 0., 0., 1.]],
[0., 1., 0., 1., 0.]])

Conclusion

Nous avons discuté du prétraitement et de sa mise en œuvre dans la bibliothèque Sklearn Python dans cet article. Afin de faciliter l'extraction des informations utiles des données, le prétraitement des données est une étape cruciale de l'apprentissage automatique. Il augmente la qualité des données. Ensuite, nous avons discuté de la mise en œuvre de Sklearn. Nous avons d'abord récupéré des informations sur les données, y compris les valeurs et les données manquants, puis avons rempli les valeurs manquantes. Nous avons également travaillé sur la mise à l'échelle des données et un codage chaud.