Analyse de régression linéaire avec des caractéristiques de chaîne / catégorie (variables)?
Régression des algorithmes semblent être de travailler sur les fonctions représentées par des nombres.
Par exemple:
Cet ensemble de données ne contient pas catégorique fonctions/variables. Il est assez clair que la façon de faire de régression sur ces données et de prédire les prix.
Mais maintenant, je veux faire une analyse de régression sur les données qui contiennent catégorique caractéristiques:
Il y a 5 caractéristiques: District
Condition
Material
Security
Type
Comment puis-je faire de régression sur ces données? Dois-je transformer toute cette chaîne/catégorique de données de numéros manuellement? Je veux dire, si je dois créer des règles de codage et selon les règles de transformer toutes les données en valeurs numériques. Est-il un moyen simple de transformer la chaîne de données de numéros sans avoir à créer ses propres règles de codage manuellement? Peut-être il ya un certain nombre de bibliothèques dans Python qui peuvent être utilisées pour qui? Y at-il des risques que le modèle de régression sera d'une certaine manière incorrecte à cause du "mauvais encodage"?
source d'informationauteur Chichi | 2015-11-30
Vous devez vous connecter pour publier un commentaire.
Oui, vous avez tout convertir des nombres. Qui demande de la réflexion sur la nature de ces attributs représentent.
Généralement, il existe trois possibilités:
Vous devez être prudent de ne pas infuser des informations que vous n'avez pas dans le cas d'une application.
Un chaud encodage
Si vous avez des données catégorielles, vous pouvez créer des variables muettes avec 0/1 valeurs pour chaque valeur possible.
E. g.
à
Cela peut facilement être fait avec les pandas:
:
Numéros pour les données ordinales
Créer un mappage de votre sortable catégories, e. g.
ancien < rénové < nouveau → 0, 1, 2
Cela est également possible avec les pandas:
Résultat:
À l'aide de données catégorielles pour grouper les opérations de
Vous pouvez utiliser la moyenne pour chaque catégorie au cours de la dernière (les événements connus).
Dire que vous avez un DataFrame avec la dernière moyenne des prix pour les villes:
Résultat:
Vous pouvez utiliser "Dummy Coding" dans ce cas.
Il y a des bibliothèques Python pour faire mannequin de codage, vous avez quelques options.
Vous pouvez utiliser scikit-learn bibliothèque. Jetez un oeil à ici.
Ou, si vous travaillez avec des pandas, il a une fonction intégrée pour créer des variables nominales. Vérifier cette.
Un exemple avec les pandas est ci-dessous: