0
votes

Comment les pandas get_dumies convertissent-ils des valeurs?

J'ai cette colonne

df ["pclass"]. queue () xxx

J'ai créé des mannequins de la colonne xxx

résultat xxx

Je ne comprends pas tout à fait. Après de quelles règles les chiffres de la colonne sont transformés en 1s et 0s.


1 commentaires

plus comme un pivot, les colonnes deviennent la valeur de chaque ligne


3 Réponses :


4
votes

pd.get_dummies code >

Il pivote essentiellement à chaque valeur unique de la catégorie à sa propre colonne et a un drapeau booléen ( 1 code> ou 0 code>) pour signaler quelle valeur catégorique était présent sur cette rangée. p>

regardons un exemple moins abstrait: p> xxx pré>

Comme vous pouvez le constater, la première ligne de notre colonne d'origine est mâle code> et dans notre colonne de nuls sex_male code> Nous voyons qu'il y a un drapeau 1 code>. p> xxx pre>

alors Sur la deuxième rangée, dans notre colonne d'origine, la valeur est Femme Code> et nous voyons dans notre colonne Sex_FEMALE CODE> SEX_FEMALE CODE> 1 P>: P> xxx pré>

et ainsi de suite. p>

Quels sont également importants à retenir, c'est que lorsque vous appliquez pd.get_diummies code>: P>

quantité de nouvelles colonnes de Dummie = quantité de valeurs uniques dans la colonne de la caterogie d'origine code> p> blockquote>


dans les termes de l'apprentissage de la machine, nous appelons ceci codage à une fois à une fois strong> p>

avec Scikit-apprendre code> Il ressemblerait comme suit: p>

from sklearn.preprocessing import OneHotEncoder

encoder = OneHotEncoder()
encoder.fit_transform(df['sex'].to_numpy().reshape(-1,1)).toarray()

array([[0., 1., 0.],
       [1., 0., 0.],
       [0., 0., 1.],
       [1., 0., 0.]])


0 commentaires

1
votes

Il fait une colonne factice pour chaque valeur apparue dans la colonne d'origine, puis pour chaque ligne place une 1 si cette ligne avait la valeur correspondant à la colonne factice et à un 0 sinon.

La rangée 886 avait une pcclass de 2 en colonne, donc qui est convertie en une colonne pclass_2 et un 0 dans toutes les autres colonnes factices.

La ligne 887 avait une pcclass de 1 dans la colonne, elle est donc convertie en une colonne pclass_1 et un 0 dans toutes les autres colonnes factices.


0 commentaires

2
votes

Les modèles prédictifs qui dépendent des entrées numériques ne peuvent pas directement gérer des champs de texte ouverts ou des attributs catégoriques. Au lieu de cela, ces données riches en informations doivent être traitées avant présenter les informations à un modèle. Les modèles de baies naïvés et naïfs sont des exceptions; la plupart des modèles exiger que les prédicteurs prennent une forme numérique.

Créer des variables factices pour les catégories non ordonnées est une approche de transformation des attributs catégoriques à numériques. @erfan a répondu quelles variables factices font. Mais prenez le cas des attributs commandés de codage: un prédicteur non ordonné avec C catégories peut être représenté par C-1 Variables factices binaires ou une version hachée de variables factices binaires. Ces méthodes présentent efficacement les informations catégoriques à la Modèles.

mais supposons maintenant que les catégories C ont un ordre relatif. Pour exemple, considérons un prédicteur qui a les catégories de "bas", "moyen", et "haut". Créer des attributs factices comme fait pour les données non ordonnées manqueraient la informations contenues dans l'ordonnance relative.

pour le codage de données commandé:

  • Contraste polynomial: une contraste est une combinaison linéaire de variables (paramètres ou statistiques) dont les coefficients s'ajoutent à zéro, permettant Comparaison de différents traitements.
  • traite les prédicteurs comme des facteurs non ordonnés. Si le vrai motif sous-jacent est linéaire ou quadratique, les variables factices non commandées peuvent ne pas être efficacement découvrir cette tendance.
  • Traduire les catégories commandées dans un seul ensemble de scores numériques Basé sur des informations spécifiques au contexte.

0 commentaires