OneHotEncoder

Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #30780
    Guilherme Miranda
    Participante

      Bom dia professor, você poderia me ajudar?

      Gostaria de fazer um OneHotEncoder de uma coluna, mas a mesma possuem vários valores em forma de lista.

      Ex:

      | Coluna |

      |A; C; D |

      |B;A |

      |C |

      | D; A |

      qualquer seria a melhor forma de fazer

       

       

       

      #30802
      Fábio Spak
      Participante

        Olá Guilherme, tente utilizar o MultiLabelBinarizer(). Veja um exemplo nessa discussão:

        https://stackoverflow.com/questions/50030751/how-do-i-use-onehotencoder-on-a-pandas-series-of-lists

         

        Fabio

        #31641
        Fábio Spak
        Participante

          Olá Guilherme, segue um complemento do instrutor Denny:

          Teria que implementar seu próprio código para isso. Você poderia:

          1) juntar todos os valores possíveis em uma variável auxiliar, por exemplo algo do tipo (supondo que sua coluna col esteja em um dataframe df):

          aux = set()
          for entry in df[col]:
          aux.update(entry)

          2) montar cada nova coluna com base na variável auxiliar, e alimentar ela com o valor 1 se ela aparece na coluna original, 0 se não aparece:

          for val in list(aux):
          temp = []
          for i in range(len(df)):
          temp.append(1 if val in df[col][i] else 0)
          df[val] = temp

          Fabio

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