[Python] Como definir as colunas no OneHotEncoder do Sklearn?

Discussão em 'Python' iniciado por Stack, Outubro 20, 2024.

  1. Stack

    Stack Membro Participativo

    Estou tendo um pequeno problema em fazer um código de ML para classificação definir ao usar o OneHotEncoder para realizar a categorização. Estou acompanhando um curso que utilizou o recurso da seguinte maneira:

    dados = pd.read_csv(...)

    previsores = dados.iloc[:,0:14].values
    classe = dados.iloc[:,14].values


    Separei a matriz entre os parametros previsores e a classe. Dentre esse previsores possuo alguns parâmetros categóricos nominais (ou seja, não possuem nenhuma ordem hierárquica).

    labelencoder_previsores = LabelEncoder()
    lista = [1,3,5,6,7,8,9,13]

    for x in lista:
    previsores[:, x] = labelencoder_previsores.fit_transform(previsores[:, x])


    Aqui eu rotulei os mesmos, tirando do formato string para torná-los numéricos, porém, como não possuem ordem necessito usar o OneHotEncoder.

    O problema é que no curso em questão o professor adiciona um parâmetro categorical_features para indicar quais colunas precisam desse tratamento específico, dessa forma:

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


    E aparentemente o esse atributo, categorical_features não existe mais, portanto estou procurando de que forma eu poderia resolver esse problema em fóruns, na documentação, mas esse é o terceiro algoritmo de ML que fiz na vida, então tá sendo bem difícil. Alguém sabe como eu poderia resolver isso?

    Continue reading...

Compartilhe esta Página