Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Pseudo Labeling

Pelo que eu entendi, você separa as linhas das features que possuem NAN e remove os NAN que, no nosso caso, estão na coluna alvo e usa os dados das features para criar novos dados para os NAN's removidos, é isso?

6 respostas

Oi William, tudo bem?

Na verdade, o processo não envolve diretamente a remoção de NaN da coluna alvo para criar novos dados. O pseudo-labeling é uma técnica usada principalmente quando você tem um conjunto de dados com poucos rótulos e muitos dados não rotulados.

Para deixar mais claro, abaixo deixo os passos de como o pseudo-labeling funciona:

  1. Primeiro, você treina um modelo de machine learning usando apenas os dados que já têm rótulos. Então, você não remove ou substitui NaN na coluna alvo, mas sim utiliza os dados disponíveis que já estão rotulados.

  2. Depois que o modelo inicial é treinado, ele é usado para prever rótulos para os dados que não têm rótulos (ou seja, os dados que têm NaN na coluna alvo). Esses rótulos preditos são chamados de pseudo-rótulos.

  3. Em seguida, você combina os dados originais rotulados com os dados não rotulados, agora com seus pseudo-rótulos, para treinar um novo modelo. Esse novo conjunto de dados é maior e pode ajudar a melhorar o desempenho do modelo, pois está usando mais informações.

A ideia principal é usar o modelo inicial para "adivinhar" os rótulos dos dados não rotulados e, assim, aumentar o conjunto de dados de treinamento. Mas, é importante lembrar que os pseudo-rótulos podem não ser 100% precisos, e isso pode afetar o desempenho do modelo final.

Para saber mais:

Sugestão de conteúdo:

O link acima está em inglês, mas você poderá utilizar a tradução automática do navegador

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

então aquele dropna é referente ao primeiro treinamento?

Oi William!

Nesta atividade Para Saber Mais não há código com dropna. Para identificar a qual código está referindo, peço que compartilhe o link da aula e o trecho de código.

Fico no aguardo!

Sim, pensando no fluxo completo, aquele dropna() está ligado ao primeiro treinamento, que é supervisionado.

Nesta aula 02, o dropna() é usado apenas para selecionar os dados que já possuem rótulo, porque um modelo supervisionado não consegue ser treinado com NaN na variável alvo. Ee precisa obrigatoriamente de rótulos para aprender. Com esse conjunto, é feito o treinamento inicial do modelo.

Já na Aula 3, com esse modelo treinado nós voltamos naqueles dados que tinham NaN (os que foram ignorados pelo dropna antes) e pedimos para o modelo prever qual seria o rótulo deles. Esses são os pseudo-rótulos.

Então, resumindo:

  • dropna() → separa os dados rotulados
  • primeiro treinamento → supervisionado
  • uso do modelo nos dados sem rótulo → pseudo-rótulos
  • novo treinamento → semi-supervisionado

Espero ter ajudado! Abraços!

solução!

Obrigado