[R-br] Transformar Variáveis discretas em Numeros Binários -> Pre-processamento para Redes Neurais
Elias T. Krainski
eliaskrainski em yahoo.com.br
Terça Dezembro 13 12:30:03 BRST 2011
Fernando, talvez eu não tenha entendido exatamente o que você quer. Veja dois exemplos, considerando as colunas 2 e 3 de 'warpbreaks' (disponivel no 'datasets', como o 'iris').
### Considerando que um 'factor' é um inteiro, apenas retiramos os 'levels', e vc pode manipular
### Se ha 3 ou mais classes, o resultado nao é binário, é inteiro de 1 ao número de classes
sapply(warpbreaks[,2:3], unclass)
sapply(warpbreaks[,2:3], unclass)-1
### converte em colunas binárias, como dummies em qualquer modelo regressão
### se há mais de duas classes, é criado mais de uma coluna
model.matrix(~wool + tension, warpbreaks)[,-1]
Att.
Elias T. Krainski
>________________________________
> De: Fernando Neto <fernandoneto7 em gmail.com>
>Para: r-br em listas.c3sl.ufpr.br
>Enviadas: Segunda-feira, 12 de Dezembro de 2011 21:32
>Assunto: [R-br] Transformar Variáveis discretas em Numeros Binários -> Pre-processamento para Redes Neurais
>
>
>Boa noite, R-anos!
>Por favor, estou precisando ajustar os arquivos de uma base de dados para processamento de uma RNA.
>Estou usando a função decodeClassLabels(...) mas a operacao tá ficando muito custosa.
>Por exemplo
>__
>Masculino Programador
>Masculino Médico
>Feminino Programador
>__
>tem que ser
>__
>0 1 0 1
>1 0 1 0
>__
>
>
>Só que eu trato cada variável de cada vez. E acho que a operacao de concatenacao que eu uso:
>cbind(...) tá tornando a operacao custosa (além de que a memória passa de 2GB).
>
>
>PS.: eu faço o seguinte:
>
>
>for (i in (VETOR COM AS COLUNAS A SEREM TRANSFORMADAS)){
> colAux = decodeClassLabels(vector[,i])
> vector = vector [,-i]
> vector = cbind(vector, colAux)
>}
>
>
>Alguém sugere algo?
>
>
>Muito grato!!!
>Fernando
>
>
>--
>----------------------------------------------------------------
>
>Fernando Neto
>Twitter: @fernandompneto
>Facebook: facebook.com/fernandompneto
>
>Tecnologia de Ponte
>http://tecnologiadeponte.blogspot.com
>----------------------------------------------------------------
>fmpn2 @ CIn - UFPE
>http://cin.ufpe.br/~fmpn2
>
>- Engenharia da Computação - Turma 2009.2 - CIn, UFPE.
>- Monitor de Estatistica e Probabilidade Para Engenharia da Computacao
>
>
>----------------------------------------------------------------
>Confidencialidade*: *A informação contida nesta mensagem de e-mail,
>incluindo quaisquer anexos, é confidencial e está reservada apenas à pessoa ou entidade para a qual foi endereçada. Se você não é o destinatário ou a pessoa responsável por encaminhar esta mensagem ao destinatário, você está, por meio desta, notificado que não deverá rever, retransmitir, imprimir, copiar, usar ou distribuir esta mensagem de e-mail ou quaisquer anexos. Caso você tenha recebido esta mensagem por engano, por favor, contate o remetente imediatamente e apague esta mensagem de seu computador ou de qualquer outro banco de dados. Muito obrigado.
>Confidentiality Notice: The information contained in this email message, including any attachment, is confidential and is intended only for the person or entity to which it is addressed. If you are neither the intended recipient nor the employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that you may not review, retransmit, convert to hard copy, copy, use or distribute this email message or any attachments to it. If you have received this email in error, please contact the sender immediately and delete this message from any computer or other data bank. Thank you.
>
>--------
>
>_______________________________________________
>R-br mailing list
>R-br em listas.c3sl.ufpr.br
>https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20111213/19fb4b33/attachment.html>
Mais detalhes sobre a lista de discussão R-br