Maison > développement back-end > Tutoriel Python > Comment effectuer le codage d'étiquettes sur plusieurs colonnes dans Scikit-Learn ?

Comment effectuer le codage d'étiquettes sur plusieurs colonnes dans Scikit-Learn ?

Mary-Kate Olsen
Libérer: 2024-11-11 02:53:02
original
1063 Les gens l'ont consulté

How to Perform Label Encoding Across Multiple Columns in Scikit-Learn?

Encodage d'étiquettes sur plusieurs colonnes dans Scikit-Learn

Lorsque vous traitez des ensembles de données contenant plusieurs colonnes de données catégorielles, il devient nécessaire de les encoder étiquettes numériquement à utiliser dans les algorithmes d’apprentissage automatique. Scikit-learn fournit la classe LabelEncoder à cet effet. Cependant, l'appliquer directement à un DataFrame comportant de nombreuses colonnes (par exemple, 50) peut entraîner une erreur due à une forme d'entrée incorrecte.

Pour surmonter ce défi, une manière élégante d'effectuer un encodage d'étiquettes sur toutes les colonnes simultanément. est :

df.apply(LabelEncoder().fit_transform)
Copier après la connexion

Comme alternative, en particulier pour les versions scikit-learn 0.20 et supérieures, pensez à utiliser OneHotEncoder :

OneHotEncoder().fit_transform(df)
Copier après la connexion

OneHotEncoder prend en charge nativement les entrées de chaîne et génère des vecteurs codés à chaud.

Alternativement, si vous avez besoin de contrôler les instances de LabelEncoder pour différentes colonnes ou si vous avez uniquement besoin d'encoder un sous-ensemble de colonnes, vous pouvez utiliser ColumnTransformer :

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import LabelEncoder

transformer = ColumnTransformer(
    transformers=[('labels', LabelEncoder(), ['column1', 'column2'])],
)

transformed_data = transformer.fit_transform(df)
Copier après la connexion

En utilisant ColumnTransformer, vous pouvez spécifier les colonnes à encoder et conserver des instances LabelEncoder distinctes, permettant une plus grande flexibilité dans la préparation de vos données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal