Atributos categóricos – OneHotEncoder

Home Fóruns Fórum Machine Learning e Data Science com Python de A à Z Atributos categóricos – OneHotEncoder

Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Autor
    Posts
  • #35747
    Lucas Machado
    Participante

      Atributos categóricos – OneHotEncoder

      Por volta do minuto 9, quando vou transformar a base de dados X_census para .toarray(), aparece esse erro:

      x_census = onehotencoder_census.fit_transform(x_census).toarray()

      —————————————————————————

      AttributeError Traceback (most recent call last)

      <ipython-input-115-18a2c3afda0e> in <module>()
      —-> 1 x_census = onehotencoder_census.fit_transform(x_census).toarray()

      AttributeError: ‘numpy.ndarray’ object has no attribute ‘toarray’

       

      #35757
      Fábio Spak
      Participante

        Olá Lucas, verifique se você declarou o nome da variável corretamente, pois o correto é X_census.

        Fabio

        #35759
        Lucas Machado
        Participante

          vou rever isso, porém no meu caso, fiz chamando de x_census mesmo.

          #35850
          Lucas Machado
          Participante

            Resolvido

            #35893

            Olá Lucas

            Estou com esse mesmo problema, minhas variaves estão corretas, quanto eu executo tudo de uma vez funciona normal, se eu executar apenas esse comando da esse mesmo erro.

            Pode me ajudar, por favor?

            Obrigado!

            #35896
            Denny Ceccon
            Moderador

              Marcos, eu desconfio que isto está acontecendo porque o resultado do método fit_transform já é um array.

              Tenta simplesmente retirar o método toarray() do final da chamada do código.

              #35897

              Olá Denny,

              Obrigado pela resposta,

              Agora que você falou que o resultado do método fit_transform já é um array, acredito que entendi o que esta acontecendo, vou tentar explicar:

              Quando eu executo tudo ou apenas o código X_census = onehotencoder_census.fit_transform(X_census).toarray() pela primeira vez funciona normalmente, se na sequência eu tentar executar o código novamente aparece o tal erro:

              AttributeError: ‘numpy.ndarray’ object has no attribute ‘toarray’

               

              Agora veja só, se eu executar novamente o código de criação da variável  X_census  X_census = base_census.iloc[:,0:14].values

               e novamente executar o código em questão ele funciona normalmente.

               

              Conclusão

              Na primeira vez que executo o código X_census = onehotencoder_census.fit_transform(X_census).toarray()  ele altera a variável

              X_ census e converte ela para um array, quando eu tento executar apenas o código novamente ele vai tentar transformar e converter a variável X_ census já transformada e convertida em array, ai então apresenta o erro.

               

               

              #35899
              Denny Ceccon
              Moderador

                É isso mesmo Marcos. Quando a gente atualiza uma variável, tem que tomar cuidado para criar ela de volta se quiser reexecutar alguma parte do código.

              Visualizando 8 posts - 1 até 8 (de 8 do total)
              • Você deve fazer login para responder a este tópico.