Erro no uso do argumento ‘categorical_features’

Home Fóruns Fórum Machine Learning e Data Science com Python de A à Z Erro no uso do argumento ‘categorical_features’

Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #23141

    No exemplo de pre-processamento sobre a base census.cvs ocorre o seguinte erro na transformação de variáveis  categóricas para numéricas após execução do

    comando:

    onehotencoder = OneHotEncoder(categorical_features=[1,3,5,6,7,8,9,13]).toarray()

    TypeError: __init__() got an unexpected keyword argument ‘categorical_features’

     

     

    #23142

    Boa noite Edjander, esse erro esta relacionado a atualização do código fonte. Você pode fazer o download do código fonte atualizado no link abaixo:

    https://iaexpert.academy/topic/importante-atualizacao-do-codigo-fonte-e-recursos-para-download/

    Fabio

    #23258
    Profile photo ofleandroecompLeandro
    Participante
    from sklearn.preprocessing import LabelEncoder, OneHotEncoder
    from sklearn.compose import ColumnTransformer
    ...
    
    onehotencorder = ColumnTransformer(
                                       [('one_hot_encoder', OneHotEncoder(), [8])], 
                                       remainder='passthrough' 
                                      )
    previsores = onehotencorder.fit_transform(previsores)
    • Esta resposta foi modificada 2 anos, 5 meses atrás por Profile photo ofleandroecompLeandro.
    #23261

    Boa tarde Leandro, quase isso, na linha do onehotencoder lembre-se de incluir as outras colunas para realizar a transformação. Veja abaixo o trecho de código correspondente:

    onehotencorder = ColumnTransformer(transformers=[("OneHot", OneHotEncoder(), [1,3,5,6,7,8,9,13])],remainder='passthrough')

    Fabio

    #23262
    Profile photo ofleandroecompLeandro
    Participante

    Obrigado Fabio, eu fiz o código por partes. Acabei postando apenas a coluna 8. Seu código está correto.

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