Normalisation des données dans Python

Normalisation des données dans Python

La normalisation des données est une technique qui aide à obtenir le résultat plus rapidement car la machine doit traiter une plus petite gamme de données. La normalisation n'est pas une tâche facile car tous vos résultats dépendent du choix de votre méthode de normalisation. Donc, si vous avez choisi la mauvaise méthode pour normaliser vos données, vous pouvez obtenir quelque chose de différent de vos attentes.

La normalisation dépend également du type de données comme des images, du texte, du numérique, etc. Ainsi, chaque type de données a une méthode différente pour normaliser. Donc, dans cet article, nous nous concentrons sur les données numériques.

Méthode 1: Utilisation de Sklearn

La méthode Sklearn est une méthode très célèbre pour normaliser les données.

De Sklearn Import Prétraitement
Importer Numpy comme NP
numpy_array = np.Array ([2, 3, 5, 6, 7, 4, 8, 7, 6, 17, 18, 19, 2, 1, 89])
normalisé_array = prétraitement.normaliser ([numpy_array])
imprimer (normalisé_array)

Résultat:

Nous importons toutes les bibliothèques requises, Numpy et Sklearn. Vous pouvez voir que nous importons le prétraitement du sklearn lui-même. C'est pourquoi c'est la méthode de normalisation Sklearn.

Nous avons créé un tableau Numpy avec une valeur entière qui n'est pas la même.

Nous avons appelé la méthode de normalisation du prétraitement et passé le numpy_array, que nous venons de créer comme paramètre.

Nous pouvons voir à partir des résultats, nos données entières sont désormais normalisées entre 0 et 1.

Méthode 2: Normalisez une colonne particulière dans un ensemble de données à l'aide de Sklearn

Nous pouvons également normaliser la colonne de jeu de données particulière. En cela, nous allons discuter de cela.

Importer des pandas en tant que PD
De Sklearn Import Prétraitement
Importer Numpy comme NP
csvfile = pd.read_csv ("démo.CSV ")
imprimer (CSVFile)
value_array = np.Array (CSVFile ['Value'])
imprimer (valeur_array)
normalisé_array = prétraitement.normaliser ([valeur_array])
imprimer (normalisé_array)

Résultat:

Nous importons la bibliothèque Pandas et Sklearn.

Nous avons créé un fichier CSV fac dum.

Nous imprimons ce fichier CSV que nous avons récemment chargé.

Nous lisons la colonne particulière du fichier CSV à l'aide du NP. Arraie et stocker le résultat à Value_Array.

Nous avons appelé la méthode de normalisation du prétraitement et passé le paramètre Value_Array.

Méthode 3: Convertissez en normalisation sans utiliser les colonnes pour tableau (en utilisant sklearn)

Dans la méthode précédente 2, nous avons discuté de la façon dont une colonne de fichiers CSV particulière que nous pouvions normaliser. Mais parfois, nous devons normaliser l'ensemble de données, alors nous pouvons utiliser la méthode ci-dessous où nous normalisons l'ensemble de données mais le long de la colonne (axe = 0). Si nous mentionnons l'axe = 1, alors il fera une normalisation au niveau des lignes. L'axe = 1 est par défaut.

Importer des pandas en tant que PD
De Sklearn Import Prétraitement
csvfile = pd.read_csv ("Demo_Numeric.CSV ")
imprimer (CSVFile)
# Normaliser les données le long de la colonne (axe = 0)
résultat = prétraitement.normaliser (csvfile, axe = 0)
Imprimer (résultat)

Résultat:

Nous importons la bibliothèque Pandas et Sklearn.

Nous avons créé un fichier CSV facturé (Demo_Numeric.CSV), et nous chargeons maintenant ce fichier CSV avec l'aide du package Pandas (read_csv).

Nous imprimons ce fichier CSV que nous avons récemment chargé.

Maintenant, nous passons l'ensemble du fichier CSV avec un autre axe de paramètres supplémentaire = 0, qui a dit à la bibliothèque que l'utilisateur voulait normaliser l'ensemble de données sur la colonne.

Nous imprimons le résultat et normalisons les données avec une valeur comprise entre 0 et 1.

Méthode 4: Utilisation de Minmaxscaler ()

Le sklearn fournit également une autre méthode de normalisation, que nous l'avons appelée Minmaxscalar. C'est aussi une méthode très populaire car elle est facile à utiliser.

Importer des pandas en tant que PD
De Sklearn Import Prétraitement
csvfile = pd.read_csv ("Demo_Numeric.CSV ")
imprimer (CSVFile)
min_max_scalar = prétraitement.Minmaxscaler ()
col = csvfile.Colonnes
résultat = min_max_scalar.fit_transform (csvfile)
min_max_scalar_df = pd.DataFrame (résultat, colonnes = col)
print (min_max_scalar_df)

Résultat:

Nous importons tous les packages requis.

Nous avons créé un fichier CSV facturé (Demo_Numeric.CSV), et nous chargeons maintenant ce fichier CSV avec l'aide du package Pandas (read_csv).

Nous imprimons ce fichier CSV que nous avons récemment chargé.

Nous avons appelé le Minmaxscalar à partir de la méthode de prétraitement et créé un objet (min_max_scalar) pour cela. Nous n'avons passé aucun paramètre car nous devons normaliser les données entre 0 et 1. Mais si vous le souhaitez, vous pouvez ajouter vos valeurs qui seront vues dans la méthode suivante.

Nous lisons d'abord tous les noms des colonnes pour une utilisation ultérieure pour afficher les résultats. Ensuite, nous appelons le fit_tranform à partir de l'objet créé MIN_MAX_SCALAR et passé le fichier CSV dans celui-ci.

Nous obtenons les résultats normalisés qui sont compris entre 0 et 1.

Méthode 5: Utilisation de MinMaxScaler (fonctionnant_range = (x, y))

Le sklearn offre également la possibilité de modifier la valeur normalisée de ce que vous voulez. Par défaut, ils normalisent la valeur entre 0 et 1. Mais il y a un paramètre que nous avons appelé Feature_Range, qui peut définir la valeur normalisée en fonction de nos exigences.

Importer des pandas en tant que PD
De Sklearn Import Prétraitement
csvfile = pd.read_csv ("Demo_Numeric.CSV ")
imprimer (CSVFile)
min_max_scalar = prétraitement.MinMaxScaler (FEATHIGE_RANGE = (0, 2))
col = csvfile.Colonnes
résultat = min_max_scalar.fit_transform (csvfile)
min_max_scalar_df = pd.DataFrame (résultat, colonnes = col)
print (min_max_scalar_df)

Résultat:

Nous importons tous les packages requis.

Nous avons créé un fichier CSV facturé (Demo_Numeric.CSV), et nous chargeons maintenant ce fichier CSV avec l'aide du package Pandas (read_csv).

Nous imprimons ce fichier CSV que nous avons récemment chargé.

Nous avons appelé le Minmaxscalar à partir de la méthode de prétraitement et créé un objet (min_max_scalar) pour cela. Mais nous passons également un autre paramètre à l'intérieur du MinMaxScaler (FEATION_RANGE). Cette valeur de paramètre que nous définissons 0 à 2. Alors maintenant, le Minmaxscaler normalisera les valeurs de données entre 0 et 2.

Nous lisons d'abord tous les noms des colonnes pour une utilisation ultérieure pour afficher les résultats. Ensuite, nous appelons le fit_tranform à partir de l'objet créé MIN_MAX_SCALAR et passé le fichier CSV dans celui-ci.

Nous obtenons les résultats normalisés qui sont compris entre 0 et 2.

Méthode 6: Utilisation de la mise à l'échelle absolue maximale

Nous pouvons également normaliser les données à l'aide de pandas. Ces fonctionnalités sont également très populaires pour normaliser les données. La mise à l'échelle absolue maximale normalise les valeurs entre 0 et 1. Nous postulons ici .max () et .abs () comme indiqué ci-dessous:

Importer des pandas en tant que PD
# Créer une démo DataFrame
df = pd.Trame de données([
[380000, 610, 187.9],
[860000, 705, 237.4],
[430000, 130, 147.0],
[60000, 150, 137.5]],
colonnes = ['a', 'b', 'c'])
Imprimer (DF)
# Méthode normalisée
Pour la colonne en DF.Colonnes:
df [colonne] = df [colonne] / df [colonne].abdos().Max ()
Imprimer (DF)

Résultat:

Nous importons la bibliothèque des Pandas.

Nous avons créé un dataframe factice et imprimé ce dataframe.

Nous appelons chaque colonne, puis divisons les valeurs de colonne avec le .max () et .abdos().

Nous imprimons le résultat, et à partir du résultat, nous confirmons que nos données se normalisent entre 0 et 1.

Méthode 7: Utilisation de la méthode Z-score

La prochaine méthode dont nous allons discuter est la méthode de score z. Cette méthode convertit les informations en distribution. Cette méthode calcule la moyenne de chaque colonne, puis soustrait de chaque colonne et, enfin, la divise avec l'écart type. Cela normalise les données entre -1 et 1.

Importer des pandas en tant que PD
# Créer une démo DataFrame
df = pd.Trame de données([
[380000, 610, 187.9],
[860000, 705, 237.4],
[430000, 130, 147.0],
[60000, 150, 137.5]],
colonnes = ['a', 'b', 'c'])
Imprimer (DF)
# Méthode normalisée
Pour la colonne en DF.Colonnes:
df [colonne] = (df [colonne] - df [colonne].moyenne ()) / df [colonne].std ()
Imprimer (DF)

Résultat:

Nous avons créé un dataframe factice et imprimé ce dataframe.

Nous calculons la moyenne de la colonne et le soustrayons de la colonne. Ensuite, nous divisons la valeur de la colonne avec l'écart type.

Nous imprimons les données normalisées entre -1 et 1.

Conclusion: nous avons vu différents types de méthodes normalisées. Parmi eux, Sklearn est très célèbre en raison de l'apprentissage de l'apprentissage automatique. Mais cela dépend des exigences de l'utilisateur. Parfois, la fonction de pandas pour normaliser les données est suffisante. Nous ne pouvons pas dire qu'il n'y a qu'au-dessus des méthodes de normalisation. Il existe de nombreuses méthodes pour effectuer une normalisation des données qui dépendent également de votre type de données comme des images, numériques, texte, etc. Nous nous concentrons sur ces données numériques et Python.