Utilização direta do OneHotEncoder sem a utilização do labelencoder

Home Fóruns Fórum Deep Learning com Python de A a Z: O Curso Completo Utilização direta do OneHotEncoder sem a utilização do labelencoder

Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #36478
    Marcelo Polverari
    Participante

      Bom dia!

      Estou na Parte 1, aulas de Regressão, utilizando a base de dados de carros usados e me deparei com o seguinte problema:

      Durante a vídeo aula, os seguintes códigos são escritos:

      previsores[:, 0] = labelencoder_previsores.fit_transform(previsores[:, 0])
      previsores[:, 1] = labelencoder_previsores.fit_transform(previsores[:, 1])
      previsores[:, 3] = labelencoder_previsores.fit_transform(previsores[:, 3])
      previsores[:, 5] = labelencoder_previsores.fit_transform(previsores[:, 5])
      previsores[:, 8] = labelencoder_previsores.fit_transform(previsores[:, 8])
      previsores[:, 9] = labelencoder_previsores.fit_transform(previsores[:, 9])
      previsores[:, 10] = labelencoder_previsores.fit_transform(previsores[:, 10])

       

      Após isso, há a orientação para a utilização do comando:

       

      onehotencoder = OneHotEncoder(categorical_features=[0,1,3,5,8,9,10])

       

      Entretanto, o próprio SPIDER dá o seguinte erro:

       

      TypeError: OneHotEncoder.__init__() got an unexpected keyword argument 'categorical_features'

       

      Achei estranho porque realmente “categorical_features” não aparece no recurso de auto completamento, então dei uma procurada na internet e parece que atualmente esse comando não está disponível dentro da biblioteca do OneHotEncoder e eu resolvi o problema utilizando apenas o OneHotEncoder sem a utilização do labelencoder.

       

      Eu removi o código anterior e utilizei apenas o seguinte:

      from sklearn.preprocessing import OneHotEncoder
      from sklearn.compose import make_column_transformer
      A = make_column_transformer(
      (OneHotEncoder(categories='auto'), [0,1,3,5,8,9,10]), 
      remainder="passthrough")
      
      previsores=A.fit_transform(previsores).toarray()

       

      O problema foi resolvido, mas estou deixando apenas esse Feedback aqui caso mais alguém passe pelo mesmo ou caso a aula venha a ser atualizada no futuro, ou feita alguma anotação durante o vídeo! (Talvez eu esteja enganado e o comando antigo ainda funcione de alguma forma, mas aqui infelizmente não deu)

      #36484
      Fábio Spak
      Participante

        Olá Marcelo, após a gravação das aulas, essa biblioteca passou por uma atualização. Na seção de downloads, você pode conferir o código fonte atualizado.

        Obrigado pelo feedback 😉

        Fabio

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