Descubra como utilizar ciência de dados para prever a rotatividade de funcionários em empresas. Este artigo aborda desde a importação e análise dos dados até a estruturação e limpeza para treinamento de modelos preditivos.
Previsão de Rotatividade de Funcionários com Python
Neste artigo, abordaremos o desenvolvimento de um case de ciência de dados para prever a rotatividade (churn) de funcionários em uma empresa. O objetivo é construir um conjunto de dados que possa ser usado para treinar um modelo preditivo capaz de indicar se um funcionário tem propensão a deixar a empresa ou não. O artigo utiliza um conjunto de dados público disponível no Kaggle contendo informações reais anonimizadas de funcionários, como pesquisas de satisfação respondidas pelos funcionários, comentários que eles fizeram e interações de outros funcionários com esses comentários.
- Desenvolvimento de um case de ciência de dados para prever a rotatividade de funcionários.
- Construção de um conjunto de dados para treinar um modelo preditivo.
- Utilização de um conjunto de dados público disponível no Kaggle.
Definição do Problema de Negócio
O problema de negócio consiste em prever quando um funcionário está propenso a deixar a empresa, para que os gestores possam se planejar para essa saída, contratando outro funcionário com antecedência ou não iniciando novos projetos que possam ficar prejudicados. Atualmente, os gestores são sempre pegos de surpresa quando um funcionário pede demissão, o que causa transtornos e prejuízos para a empresa. O objetivo é desenvolver uma “bola de cristal” capaz de antecipar essas saídas. O conjunto de dados disponível contém informações que podem ser relevantes para identificar padrões nos funcionários que deixam a empresa.
- Previsão de saída de funcionários para planejamento de substituição ou ajuste de projetos.
- Necessidade de antecipar as saídas de funcionários para evitar transtornos e prejuízos.
- Utilização de informações relevantes para identificar padrões nos funcionários que deixam a empresa.
Importação das Bibliotecas e Dados
As bibliotecas Python utilizadas neste projeto para análise de dados foram Pandas, Matplotlib, Plotly e outras.
- Utilização das bibliotecas Python Pandas, Matplotlib, Plotly e outras para análise de dados.
Entendimento Inicial dos Dados
Antes de partir para a análise exploratória, é importante ter um entendimento inicial sobre os dados e levantar perguntas que direcionem a exploração.
- Identificação da variável que indica se o funcionário deixou a empresa (target)
- Exploração de outros dados que poderiam ajudar a prever o churn, além dos fornecidos
- Consideração das relações entre os datasets através das chaves/colunas em comum
- Relevância da chave ‘employee’ (id do funcionário) em conjunto com a empresa para unir os dados
- Reconhecimento de que colunas com o mesmo nome em datasets diferentes podem ter significados distintos
Análise Exploratória dos Dados
Para conhecer melhor os dados disponíveis, foram feitas análises sobre tipos de variáveis, estatísticas descritivas, distribuições de valores, quantidade de valores únicos e identificação de dados duplicados.
- Análise dos tipos de variáveis presentes nos datasets
- Exploração das estatísticas descritivas como mínimo, máximo e média
- Exame das distribuições de valores através de histogramas
- Avaliação da quantidade de valores únicos em diferentes variáveis
- Identificação de dados duplicados e sua remoção
Conclusões Importantes sobre as Relações entre os Dados
Foram identificadas conclusões importantes sobre as relações entre os dados, como a necessidade de considerar a chave ‘employee’ em conjunto com a empresa para unir os dados, e a distinção de significados de colunas com o mesmo nome em datasets diferentes.
- Necessidade de considerar a chave ‘employee’ em conjunto com a empresa para unir os dados
- Reconhecimento da distinção de significados de colunas com o mesmo nome em datasets diferentes
- Identificação de funcionários com ids negativos como inválidos
- Reconhecimento de problemas no fuso horário das datas que precisam ser corrigidos
- Avaliação de variáveis com muitos outliers que podem enviesar os modelos
Limpeza e Tratamento dos Dados
Diversos procedimentos de limpeza e tratamento dos dados foram realizados, como correção dos fusos horários das colunas de datas, conversão de tipos, remoção de linhas duplicadas e remoção de funcionários com ids inválidos.
- Correção dos fusos horários das colunas de datas
- Conversão de tipos de variáveis como boolean para inteiro e float para inteiro
- Remoção de linhas duplicadas nos datasets
- Exclusão de funcionários com ids inválidos, como os negativos
Exploração e Limpeza de Dados
Na etapa inicial do processo, os dados foram explorados e limpos para garantir a qualidade e a consistência das informações. Foram realizadas análises para identificar e corrigir valores nulos, inconsistências e outliers, visando preparar os dados para as etapas subsequentes.
- Identificação de valores nulos e inconsistentes nos dados
- Análise e tratamento de outliers para garantir a integridade dos dados
- Estratégias de substituição e atribuição para lidar com valores ausentes
Tratamento de Dados Inconsistentes
Durante a etapa de tratamento de valores nulos e outliers, foram adotadas estratégias específicas para lidar com as inconsistências nos dados. Foram realizadas análises detalhadas por coluna, visando definir as abordagens mais adequadas para garantir a qualidade e a confiabilidade dos dados.
- Substituição por médias ou medianas para valores nulos
- Atribuição de zero para contagens quando não havia dados disponíveis
- Winsorização para limitar outliers extremos
Estruturação dos Dados para Modelos de Machine Learning
Os dados foram estruturados em um formato adequado para o treinamento de modelos de machine learning, por meio de procedimentos como combinação de tabelas, joins e agregações. Além disso, novas variáveis foram criadas a partir das originais, enriquecendo o conjunto de dados e possibilitando a exploração de insights relevantes.
- Procedimentos de combinação de tabelas e agregações para estruturar os dados
- Criação de novas variáveis a partir das originais para enriquecer o conjunto de dados
- Preparação dos dados para treinamento de modelos de machine learning
Qualidade e Aplicabilidade dos Dados Estruturados
Ao final do processo de exploração, limpeza e estruturação dos dados, obteve-se um conjunto de dados de qualidade, integrando informações relevantes de diferentes fontes. Esse conjunto de dados estruturado poderá ser utilizado para treinar modelos de machine learning e prever a rotatividade dos funcionários, demonstrando a aplicabilidade das técnicas empregadas.
- Obtenção de um conjunto de dados de qualidade e confiável
- Integração de informações relevantes de diversas fontes
- Aplicabilidade na previsão da rotatividade dos funcionários
Aplicação de Modelos de Machine Learning na Predição de Rotatividade
Com os dados preparados, será possível testar e comparar diversos algoritmos de classificação supervisionados para identificar o mais adequado na predição da rotatividade dos funcionários. Essa aplicação demonstra a utilidade e a eficácia dos dados estruturados na construção de modelos preditivos para tomada de decisões estratégicas.
- Teste e comparação de algoritmos de classificação supervisionados
- Identificação do modelo mais adequado na predição da rotatividade
- Utilidade dos dados estruturados na construção de modelos preditivos
Conclusão
Ao preparar e estruturar os dados, é possível treinar modelos de machine learning para prever a rotatividade dos funcionários, garantindo que os algoritmos recebam dados consistentes e informativos para fazer boas previsões.