[R-br] Transformar Variáveis discretas em Numeros Binários -> Pre-processamento para Redes Neurais

Fernando Neto fernandoneto7 em gmail.com
Terça Dezembro 13 00:02:13 BRST 2011


library(RSNNS)
#load the database
#data(iris)

dataBaseName = read.table("adult.data") # é uma base de dados
#shuffle the vector
vector <-
dataBaseName[sample(1:nrow(dataBaseName),length(1:nrow(dataBaseName))),1:ncol(dataBaseName)]

#set what the columns are discrete variable
colDisVar = c(1,2,4,6,7,8,9,13)

values <- vector[,1:(ncol(vector)-1)]
colDisVarOk = c()
colDisVarOk = cbind(colDisVarOk, colDisVar[1])
#subtrai as colunas pq quando eu retiro a coluna e coloco no final, o
índice da coluna é diminuido
for (i in colDisVar[2:length(colDisVar)]){
    colDisVarOk = cbind(colDisVarOk, i-1)
}

#AQUI de fato é onde o algoritmo deve decodificar a coluna-atributo e deve
ser adicionado no final da matriz.
for (i in colDisVarOk){
    colAux = decodeClassLabels(vector[,i])
   # vector = vector [,-i]
   # vector = cbind(vector, colAux)

}

Em 12 de dezembro de 2011 22:58, Luis Iván Ortiz Valencia <
liov2067 em gmail.com> escreveu:

> Mande uma parte do seu arquivo. e as codificacoes desejadas.
>
> Em 12 de dezembro de 2011 23:27, Fernando Neto <fernandoneto7 em gmail.com>escreveu:
>
> Luis, mas eu preciso que a "nova coluna" substituia a coluna velha. Então
>> eu retiro a velha e adiciono.
>> Como você faria de forma menos custosa?
>>
>> Em 12 de dezembro de 2011 22:24, Luis Iván Ortiz Valencia <
>> liov2067 em gmail.com> escreveu:
>>
>> Retiraria o cbind do for....ele ta crescendo. a matriz
>>>
>>> Em 12 de dezembro de 2011 22:07, Fernando Neto <fernandoneto7 em gmail.com>escreveu:
>>>
>>> Não, FHRB, as variáveis podem ser qualquer valor discreto. Eu citei
>>>> apenas um exemplo. Essa funcao q falei ja faz isso, mas acho que a operacao
>>>> de adicionar à matriz principal é custosa. Você saberia me confirmar isso?
>>>> Acho que é O(n).
>>>>
>>>> Em 12 de dezembro de 2011 21:04, FHRB Toledo <fernandohtoledo em gmail.com
>>>> > escreveu:
>>>>
>>>> Fernando,
>>>>>
>>>>> Não se entendi, mas se seus vetores sempre so tiverem duas opções um
>>>>> which(vetor == 'marculino') não serviria?
>>>>>
>>>>> Nesse contexto você pode incluir um apply(), mas ou menos do tipo:
>>>>>
>>>>> apply(dados, 2, function(x) which(x == 'masculino'))
>>>>>
>>>>> Como pressuponho só ter duas opções o caso com != retornará os casos
>>>>> contrários 'feminino'.
>>>>>
>>>>> att,
>>>>> FH
>>>>>
>>>>> 2011/12/12 Fernando Neto <fernandoneto7 em gmail.com>
>>>>>
>>>>>> 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 <http://www.cin.ufpe.br/%7Eet586/>
>>>>>>
>>>>>> <http://cin.ufpe.br/%7Eif672cc>
>>>>>> ----------------------------------------------------------------
>>>>>> 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.
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> ----------------------------------------------------------------
>>>> *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<http://www.cin.ufpe.br/%7Eet586/>
>>>>
>>>> <http://cin.ufpe.br/%7Eif672cc>
>>>> ----------------------------------------------------------------
>>>> 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.
>>>>
>>>
>>>
>>>
>>> --
>>> Luis Iván Ortiz Valencia
>>> Doutorando Saúde Pública - Epidemiologia, IESC, UFRJ
>>> Estatístico Msc.
>>> Spatial Analyst Msc.
>>>
>>>
>>>
>>> _______________________________________________
>>> 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.
>>>
>>
>>
>>
>> --
>> ----------------------------------------------------------------
>> *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<http://www.cin.ufpe.br/%7Eet586/>
>>
>> <http://cin.ufpe.br/%7Eif672cc>
>> ----------------------------------------------------------------
>> 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.
>>
>
>
>
> --
> Luis Iván Ortiz Valencia
> Doutorando Saúde Pública - Epidemiologia, IESC, UFRJ
> Estatístico Msc.
> Spatial Analyst Msc.
>
>
>
> _______________________________________________
> 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.
>



-- 
----------------------------------------------------------------
*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<http://www.cin.ufpe.br/%7Eet586/>

<http://cin.ufpe.br/%7Eif672cc>
----------------------------------------------------------------
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.

--------
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20111212/146621c2/attachment.html>


Mais detalhes sobre a lista de discussão R-br