Disons que je veux créer un classificateur logistique pour un film M. Mes caractéristiques seraient quelque chose comme l'âge de la personne, le sexe, la profession, l'emplacement. Donc, l'ensemble de formation serait quelque chose comme:
- Âge Sexe Profession Lieu Comme (1) / Je n'aime pas (0)
- 23 M Software US 1
- 24 F Docteur UK 0
et ainsi de suite ... Maintenant, ma question est de savoir comment dois-je évoluer et représenter mes fonctionnalités. Une façon que je pensais: diviser l'âge en groupes d'âge, donc 18-25, 25-35, 35 ans et plus, le sexe en tant que M, F, l'emplacement comme les États-Unis, le Royaume-Uni, d'autres. Créez maintenant une fonction binaire pour toutes ces valeurs, donc l'âge aura 3 fonctions binaires correspondant chacune à un groupe d'âge, etc. Ainsi, un homme de 28 ans des États-Unis serait représenté comme 010 10 100 (010-> Groupe d'âge 25-35, 10 -> Homme, 100 -> US)
Quelle pourrait être la meilleure façon de représenter les fonctionnalités ici? De plus, j'ai remarqué dans certains exemples de sklearn que toutes les fonctionnalités ont été mises à l'échelle / normalisées d'une manière ou d'une autre, par exemple, le sexe est représenté par deux valeurs, 0,0045 et -,0,0045 pour les hommes et les femmes. Je n'ai aucune idée de comment faire une mise à l'échelle / mormalisation comme ça?
la source
Réponses:
Cas binaire
Si vous voulez que vos fonctionnalités soient binaires, les bonnes représentations pour les valeurs catégorielles (resp. Réelles ) sont l' encodage à chaud (resp. Thermomètre ). Vous n'avez pas besoin de les normaliser.
Pour l' encodage à chaud d'une fonctionnalité catégorielle , il vous suffit de réserver un bit pour chaque classe. La longueur de cet encodage est donc le nombre de classes de votre entité. Prenons votre exemple de pays,
Pour le codage par thermomètre d'une fonction réelle / entière , vous devez choisir une longueur et des seuils. Pour votre exemple d'âge, vous avez choisi de diviser l'âge selon les seuils 18,25 et 35. Le codage sera
Cas continu
Comme l'a dit BGreene, vous devez ensuite normaliser cette valeur pour conserver une moyenne de 0 et un écart-type de 1, ce qui garantit la stabilité de nombreux modèles de régression. Pour ce faire, il suffit de soustraire la moyenne empirique et de diviser par l'écart-type empirique.
la source