Digamos que eu queira criar um Classificador Logístico para um filme M. Meus recursos seriam algo como idade da pessoa, gênero, ocupação, local. Portanto, o conjunto de treinamento seria algo como:
- Idade Sexo Ocupação Localização Gosto (1) / Não gosto (0)
- 23 M Software EUA 1
- 24 M Médico Reino Unido 0
e assim por diante ... Agora, minha pergunta é como devo dimensionar e representar meus recursos. Uma maneira que pensei: Divida a idade como faixas etárias, então 18-25, 25-35, 35 anos acima, Sexo como M, F, Localização como EUA, Reino Unido, Outros. Agora crie um recurso binário para todos esses valores; portanto, a idade terá três recursos binários, cada um correspondente a um grupo etário e assim por diante. Portanto, um homem de 28 anos dos EUA seria representado como 010 10100 (010-> Faixa etária 25-35, 10 -> Masculino, 100 -> EUA)
Qual poderia ser a melhor maneira de representar recursos aqui? Além disso, notei em alguns exemplos: do sklearn que todos os recursos foram dimensionados / normalizados de alguma forma, por exemplo, o gênero é representado por dois valores, 0,0045 e -0,0045, para masculino e feminino. Eu não tenho idéia de como fazer escala / mormalização como esta?
fonte
Respostas:
Caso binário
Se você quer que seus recursos para ser binário, as boas representações para categórica (resp. Reais valores) são a uma quente (resp. Termômetro ) que codifica. Você não precisa normalizá-los.
Para a única codificação quente de um recurso categórico , você simplesmente reserva um bit para cada classe. O comprimento dessa codificação é, portanto, o número de classes do seu recurso. Vamos dar o seu exemplo de país,
Para a codificação termométrica de um recurso real / inteiro , é necessário escolher um comprimento e os limites. Para o seu exemplo de idade, você optou por dividir a idade de acordo com os limites 18,25 e 35. A codificação será
Juntando as duas, você obtém aqui uma codificação de tamanho 5 + 3 = 8 bits. Para um residente de 30 anos no Reino Unido, temos
Caso contínuo
Como BGreene disse, você deve normalizar esse valor para manter uma média de 0 e um desvio padrão de 1, o que garante a estabilidade de muitos modelos de regressão. Para fazer isso, basta subtrair a média empírica e dividir pelo desvio padrão empírico.
Se a média de todas as idades de todas as pessoas em sua base de dados for 25 e seu desvio padrão for 10, o valor normalizado para 30 anos. a pessoa será , levando à representação(30−25)/10=0.5
fonte