Comment One Hot Encoding traite-t-il les variables catégorielles en Python ?

DDD
Libérer: 2024-11-11 12:38:03
original
314 Les gens l'ont consulté

How does One Hot Encoding address categorical variables in Python?

Un codage à chaud en Python : traitement des variables catégorielles

Aperçu du problème

Dans les problèmes de classification d'apprentissage automatique, une grande proportion de variables catégorielles pose un défi, nécessitant des techniques de codage spécifiques. L'une de ces techniques est l'encodage à chaud, couramment utilisé avant de transmettre des données aux classificateurs.

Approche 1 : Utiliser pd.get_dummies de Pandas

Une approche courante consiste à utiliser pd. get_dummies de Pandas. Il convertit les colonnes catégorielles en plusieurs colonnes factices, chacune représentant une catégorie différente.

Exemple :

import pandas as pd
s = pd.Series(list('abca'))
pd.get_dummies(s)
Out[]: 
     a    b    c
0  1.0  0.0  0.0
1  0.0  1.0  0.0
2  0.0  0.0  1.0
3  1.0  0.0  0.0
Copier après la connexion

Vous pouvez également spécifier un préfixe pour créer plusieurs colonnes pour chaque factice :

df = pd.DataFrame({
  'A':['a','b','a'],
  'B':['b','a','c']
})
df
Out[]: 
   A  B
0  a  b
1  b  a
2  a  c

one_hot = pd.get_dummies(df['B'], prefix='B')
df = df.drop('B',axis = 1)
df = df.join(one_hot)
df  
Out[]: 
       A  Ba  Bb  Bc
    0  a   0   1   0
    1  b   1   0   0
    2  a   0   0   1
Copier après la connexion

Approche 2 : Emploi Scikit-learn

OneHotEncoder de Scikit-learn fournit une approche robuste et flexible pour un encodage à chaud.

Exemple :

from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder()
enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]])
enc.transform([[0, 1, 1]]).toarray()
array([[ 1.,  0.,  0.,  1.,  0.,  0.,  1.,  0.,  0.]])
Copier après la connexion

L'extrait de code fourni illustre l'ajustement et la transformation d'échantillons de données, démontrant le fonctionnement binaire à chaud. encodage.

Assurez-vous d'examiner attentivement les ressources de calcul requises pour un encodage à chaud, en particulier pour les grands ensembles de données. Des techniques efficaces de traitement des données et de sélection des fonctionnalités sont cruciales pour optimiser les performances et obtenir des résultats de classification réussis.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal