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

    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
    Profile photo ofdennyDenny 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
    Profile photo ofdennyDenny 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.