Hoje eu quero falar sobre Feature Engineering e como você vai conseguir viabilizar seus dados para colocá-los dentro de um modelo!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
O que é esse tal de Feature Engineering? É o processo de selecionar, manipular e transformar dados brutos em um recurso que pode ser utilizada em uma aprendizagem supervisionada.
Nessa aula eu vou te mostrar como essa parte de extrair desses dados brutos, os melhores recursos (features) para o nosso modelo de forma a aumentar a acurácia.
Aqui nós vamos utilizar um exemplo que vimos na aula de Limpeza de Dados (Data Cleaning), se ainda não assistiu não tem problema, pois vamos partir utilizando os dados finais da aula.
Mas é interessante que depois dessa aula você dê uma olhada, pois o conteúdo de limpeza de dados é muito importante!
Aqui nós temos as informações que finalizamos na aula anterior depois de fazer o tratamento.
Só que se rodarmos os modelos com esses dados, não vai funcionar, pois temos as informações como string.
O modelo vai precisar dessas informações como números para que seja possível utilizar o modelo sem nenhum erro.
Aqui você vai notar que se pegarmos essa nossa base e tentar colocar no modelo de Regressão Linear nós vamos ter um erro.
ValueError: could not convert string to float: ‘F’
Isso quer dizer que o não foi possível converter o tipo de string (texto) para float (que é um número).
Dessa forma nós vamos precisar tratar esses dados para transformá-los em valores numéricos antes de colocar no nosso modelo.
Para fazer esse tratamento nós vamos utilizar o One Hot Encoding, que vai permitir a transformação dessas strings em valores numéricos.
OBS: O One Hot Encoding vai servir para tratar valores que não tem relação de ordem entre eles, então para o estado civil e gênero podemos fazer isso tranquilamente.
Então para o estado civil C por exemplo, nós vamos ter uma nova coluna onde quando tivermos esse estado civil vamos atribuir o valor 1, caso contrário o valor 0.
Podemos fazer o mesmo procedimento para o gênero. Então para cada informação de gênero e estado civil vamos ter uma coluna onde se aquela informação for verdadeira vamos ter o valor 1 somente em uma coluna.
Na coluna de gênero por exemplo só temos ou F ou M, então não será possível uma pessoa com o gênero F e M ao mesmo tempo, então quando um estiver com o valor 1 o outro vai estar com o valor 0.
Isso vale para o estado civil, a pessoa só vai poder ter um estado civil, então quando um valor estiver igual a 1 os outros terão valores iguais a 0.
Então no código nós fizemos essa transformação com o One Hot Encoder e depois transformamos essas informações em um array.
Só que para juntar isso dentro da nossa tabela vamos precisar transformar os dados em um Data Frame, que é possível com a biblioteca pandas!
Após transformar as informações podemos concatená-las com a nossa base de dados para conseguirmos visualizar tudo de uma forma melhor.
Agora como temos valores que tem uma relação de ordem, que é a nossa categoria, vamos utilizar o Ordinal Encoding.
Essa relação de ordem é porque as categorias do cliente vão fazer diferença, pois pode ter mais recursos e benefícios. Isso já não acontece com gênero e estado civil, pois nesse caso isso não afeta esses benefícios ou recursos.
Aqui vamos fazer o mesmo procedimento, só que agora para a coluna de risco.
Feito isso podemos ajustar a coluna CatVIP para verificar se o cliente é vip ou não. Nesse caso podemos utilizar a função IF só para verificar se o cliente é Alpha ou Beta e a partir disso classificar em 1 ou 0.
Agora nós podemos limpar novamente nossa base de dados para ficarmos apenas com informações numéricas e poder assim, aplicar o nosso modelo de Regressão Linear.
Com isso conseguimos viabilizar o nosso modelo. Nesse momento não vamos entrar em detalhes do que significam esses valores, se estão bons ou não.
A ideia dessa aula era justamente viabilizar o nosso modelo para que pudéssemos aplicar um modelo e conseguir os resultados.
Nessa aula eu te mostrei o Featuring Engineering, que é uma forma de viabilizar os nossos dados para colocá-los em modelos.
Então o objetivo foi sair de uma base de dados com informações em texto (string) e transformá-la em uma base de dados em um formato numérico para que seja possível aplicar o nosso modelo de Regressão Linear.
Para acessar outras publicações de Ciência de Dados, clique aqui!
Quer aprender mais sobre Python com um minicurso gratuito?
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.