Roger Sampaio
Fogo no Parquinho: Valores Missing
Olá povo bonito que amo de paixão. Seja bem-vindo ao mundo de muitas possibilidades da Inteligência Artificial. As bases de dados, matéria prima dos cientistas de dados, raramente veem bonitas, organizadas, limpas e prontas para o modelo preditivo. Antemão elas apresentam uma série de "BOs" que precisam ser resolvidos e somente depois avançamos para a etapa de modelagem. Um problema bastante comum são os valores missing (ausentes), seja por que não estavam disponíveis no momento da coleta ou aconteceram erros durante o processamento. Nessa aula exploraremos como identificá-los e principalmente técnicas para tratá-los discutindo vantagens e desvantagens de cada uma.
Guerreiro, agora que você está "foda" no assunto, teste seus conhecimentos.
Q1 - Todas as afirmações sobre os valores missing estão corretas, exceto:
a - Valores missing são aqueles que estão ausentes, faltantes por algum motivo desconhecido. Podem ser que não estavam disponíveis no momento da coleta dos dados ou ocorreram erros durante o processamento dos dados. Em Python, usando o pacote pandas, são identificados pela palavra reservada NaN.
b - Valores missing podem estar presentes em coluna de qualquer tipo, incluindo strings, inteiros, reais, booleanos.
c - Uma forma de verificar se uma coluna apresenta valores nulos utilizando o pacote pandas, é:
dataframe['nome_coluna'].notnull()
d - Valores missing podem ser ignorados durante a construção de um modelo de aprendizado de máquina, não exigindo nenhum tratamento especial ou específico. O modelo automaticamente irá ignorá-los, não gerando erros durante a execução do programa.
e - Valores missing são chamados também de nulos.
Q2 - Todas as opções abaixo são formas de visualizar valores missing, exceto:
a - dataframe['nome_coluna'].isnull()
b - dataframe['nome_coluna'].isnotnull()
c - dataframe.notnull().sum()
d - dataframe.notnull
Q3 - Existem diversas técnicas para o tratamento de valores missing. Todas as opções abaixo são técnicas válidas, exceto:
a - Remoção da coluna que apresenta valores missing, independentemente da proporção.
b - Remoção das linhas que apresenta valores missing em qualquer uma de suas colunas, independentemente da proporção.
c - Nas linhas em que qualquer coluna apresenta valores missing, remover apenas essas respectivas colunas.
d - Imputação (substituição) dos valores missing para outro como, por exemplo, média aritmética da coluna alvo (que contém valores missing) do dataframe.
e - Imputação (substituição) dos valores missing para outro como, por exemplo, desvio padrão da coluna alvo (que contém valores missing) do dataframe.
Respostas.
Q1 - d. Justificativa. Exatamente ao contrário. Valores missing precisam ser tratados antes do modelo preditivo. O modelo não tem o padrão de ignorá-los automaticamente.
Q2 - d. Justificativa: notnull é um método, logo precisa explicitamente chamá-lo usando ( ).
Q3 - c. Justificativa: isto não é possível. Quando estamos trabalhando com estrutura tabular (por exemplo: formato csv) o esquema (definição de quantidade e colunas) é o mesmo para todas as linhas da tabela. Ao remover uma coluna qualquer, consequentemente será removido para todas as linhas.

Veja o GIT do projeto.
Beijos.