J'ai un ensemble de données de classification des prix mobile dans lequel j'ai 20 fonctionnalités et une variable cible appelée price_range. Je dois classer les prix des mobiles comme bas, moyen, élevé, très élevé. J'ai appliqué un encodage à chaud à ma variable cible. Après cela, j'ai divisé les données en trainX, testX, trainy, testy. Donc ma forme pour trainX et trainy est (1600,20) et (1600,4) respectivement. Maintenant, quand j'essaie d'adapter trainX et trainy à logisticRegresion, c'est-à-dire -> lr.fit (trainX, trainy), je reçois une erreur et il dit: mauvaise entrée (1600,4) Donc, j'ai compris que je dois donner une valeur trainy en forme (1600,1) mais par un encodage à chaud, j'ai un tableau de 4 colonnes pour chaque price_range individuel selon le concept d'un encodage à chaud.

Alors maintenant, je suis totalement confus comment les gens utilisent un encodage à chaud pour la variable cible dans la pratique? Sil te plait aide moi.

1
Dhvanesh Shah 4 nov. 2019 à 05:22

1 réponse

Pour entraîner le modèle, vous devez uniquement appliquer OneHotEncoder sur les fonctionnalités pour gagner X. Et appliquer LabelEncoder () pour convertir y.

from sklearn import preprocessing
le=preprocessing.LabelEncoder()
le.fit_transform(['a','b','a'])

et gagner:

output: array([0, 1, 0])
0
blueear 4 nov. 2019 à 05:44