fbpx
Sigmoidal
  • Home
  • Cursos
  • Pós-Graduação
  • Blog
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
  • English
  • Home
  • Cursos
  • Pós-Graduação
  • Blog
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
Sigmoidal
Sem Resultado
Ver Todos Resultados

Reduzindo Turnover Com Machine Learning

Rafael Duarte por Rafael Duarte
março 4, 2020
em Blog, Data Science, Machine Learning, Python, Tutoriais
0
27
COMPARTILHAMENTOS
905
VIEWS
Publicar no LinkedInCompartilhar no FacebookCompartilhar no Whatsapp

Como unir Machine Learning com Recursos Humanos para reduzir o Turnover?

Com o imenso volume de dados sendo criado atualmente, é vital que as empresas saibam coletar e utilizar dados que possam dar a elas vantagens competitivas no mercado.

Reduzindo Turnover Com Data Science e Machine Learning

Além de casos mais comuns como Sistemas de Recomendação, outras áreas e outros tipos de empresas também podem se beneficiar da Ciência de Dados.

O objetivo deste projeto é analisar os dados disponíveis e buscar soluções para diminuir o Turnover, e aumentar a retenção de bons profissionais nas empresas.

Utilizando dados disponibilizados no Kaggle, construiremos um modelo de Machine Learning capaz de nos ajudar a prever possíveis atritos, que podem ajudar empresas a tomarem decisões afim de minimizar esses efeitos, aumentar a qualidade de vida no ambiente de trabalho, e reter os bons profissionais da empresa.

Você pode encontrar o projeto completo com todas as análises neste link.

Análise De Dados sobre Turnover

O primeiro passo, é entendermos nossos dados. Utilizando Python, e a biblioteca Pandas, conseguimos tirar insights interessantes.

A variável Attrition (“Atrito”), indica se o funcionário possui atrito, problema, no ambiente de trabalho. Usaremos ela como variável alvo do nosso modelo de Machine Learning.

No nosso dataset, ela seria a categoria mais marcante de motivo para que o profissional saia da empresa e aumente o Turnover. Por isso focamos nela.

Com acesso a mais dados, poderíamos usar outros indicadores, ou criar novas features que representem melhor a chance de um funcionário deixar a empresa.

Variáveis Numéricas

Primeiro, vamos analisar a distribuição estatística das variáveis numéricas:

  • A média de idade na empresa é de quase 37 anos de idade.
  • A maioria dos funcionários possui Ensino Superior.
  • Como se trata de um conjunto de dados oriundo dos Estados Unidos, consideramos os valores monetários como Dólar. Neste caso, o salário médio mensal da empresa é de US$6502.93.

Variáveis Categóricas

Quanto às variáveis categóricas, conseguimos as seguintes informações:

  • A maior parte dos funcionários nâo apresenta atritos.
  • O departamento com mais funcionários na empresa é Pesquisa e Desenvolvimento.
  • Homens são maioria na empresa.
  • O emprego mais comum na empresa é de Executivo de Vendas.
  • A maioria dos funcionários é casado.
  • A grande maioria dos funcionários não faz hora extra.

Igualdade de Gênero

É muito importante estar atento a um tema como Igualdade de Gênero.

Igualdade de Gênero e turnover

Tendo acesso aos dados de salário e educação dos funcionários, é possível ver como se comparam os salários entre homens e mulheres.

Distribuição Estatística da Variável Educação por gênero — Quanto maior o número, maior o nível de educação.

Comparando funcionários dos dois gêneros, percebemos que as mulheres tem educação marginalmente melhor, estatísticamente falando. Para essa variável, quando maior o número, maior o nível de educação.

Comparação Salarial em Dólares Americanos

Na empresa em questão, igualdade de gênero é uma realidade, com as mulheres, que estão em um nível educacional marginalmente acima, com média de salário mensal superior à média dos homens.

Não só isso, mas em todos os percentis, temos que os salários das mulheres são mais altos, com excessão apenas para Max, que mostra que o funcionário mais bem pago da empresa é um homem.

Gráfico de Densidade

Gráficos de Densidade são ferramentas visuais poderosas, que podem nos ajudar a ter insights valiosos.

Nosso principal objetivo aqui é analisar a distribuição das variáveis para as duas possibilidades do nosso problema de classificação.

Ao analisarmos as diferenças de distribuição das variáveis para cada classe, podemos identificar variáveis mais relevantes para o nosso problema.

Gráfico de densidade para modelo de machine learning e turnover
Distribuição das Variáveis entre as Classes.

A representação amarela é para funcionários que apresentam atritos e a representação azul para funcionários que não apresentam atrito.

O que buscamos aqui são diferenças nas distribuições para podermos encontrar pontos chave para previsão de atrito entre os funcionários.

No geral, as distribuições são bastante parecidas, não havendo grande discrepância. Por isso, destacarei aqui somente as discrepâncias entre as categorias.

Entre os principais insights obtidos, podemos destacar:

  • Na variável Age (Idade), percebemos que quanto mais jovem, mais propensão a atrito há.
  • Em relação à distância de casa (DistanceFromHome), percebemos que quanto maior a distância, mais propenso o funcionário está a atrito.
  • Na variável JobInvolvement (Envolvimento no Trabalho), podemos perceber que indivíduos menos envolvidos tendem a ter mais atrito.
  • JobLevel (Nível no Emprego) mostra que funcionários em níveis mais baixos tendem a ter mais atrito. O mesmo acontece para as variáveis JobSatisfaction e MonthlyIncome, (Satisfação no Trabalho e Renda Mensal, respectivamente).
  • StockOptionLevel (ESOs) e TotalWorkingYears (Total de Anos Trabalhando), também demonstram diminuição nos atritos conforme os números aumentam.
  • YearsAtCompany (Anos na Empresa), YearsInCurrentRole (Anos na Posição Atual), YearsSinceLastPromotion (Anos Desde a Última Promoção), YearsWithCurrManager (Anos Com o Mesmo Gerente) apresentam maior atrito nos menores períodos de tempo, e evolução ao longo do tempo. Isso pode sugerir dificuldades de adaptação, pois quanto menor o tempo, maior o atrito.

Balanceamento de Dados

Felizmente, funcionários que apresentam atritos ou problemas são minoria. Para a empresa, isso é bom, mas para nosso modelo preditivo este não é o cenário ideal.

Para melhorar a performance, e obtermos melhores resultados, se faz necessário o Balanceamento dos Dados.

De forma simples e resumida, isso basicamente significa que vamos transformar noso conjunto de dados, para que as duas classes (Com e Sem Atrito) estejam balanceadas, proporcionalmente distribuídas.

Dados Desbalanceados — 0 = Sem Atrito / 1 = Com Atrito

Para isso, utilizaremos o Random Under Sampler, pois desejamos preservar a classe minoritária (Com Atrito). Após balancearmos os dados, temos o seguinte resultado:

Dados Balanceados.

Pré-Processamento De Dados

Para inserir nossos dados em um modelo de Machine Learning precisamos trabalhá-los. Ao fazer o pré-processamento dos dados, vamos passar por duas etapas:

  • Transformação de variáveis categóricas: Utilizaremos o Label Encoder, que transforma Strings em números representando categorias.
  • Transformação de variáveis numéricas: Uitlizaremos MinMaxScaler. De forma simples, ele coloca os números das entradas em uma escala de 0 a 1. Esse processo também nos ajuda com Outliers, por isso não havíamos tratado eles anteriormente.
Demonstração das variáveis após a etapa de pré-processamento.

Modelo de Machine Learning para Turnover

Prevendo atrito e prevenindo Turnover. Após entendermos melhor nossos dados, e a realidade da empresa, e prepararmos nossos dados, é hora de utilizarmos Machine Learning para fazer previsões.

Essa etapa irá contribuir para nos ajudar na prevenção de atritos/conflitos na empresa, e, consequentemente, diminuirmos o Turnover. Para isso, utilizaremos dois modelos diferentes de algoritmos:

Regressão Logística

  • Random Forest
  • Regressão Logística

Regressão Logística

De acordo com o Portal Action, “o modelo de regressão logística é semelhante ao modelo de regressão linear. No entanto, no modelo logístico a variável resposta $ Y_i $ é binária. Uma variável binária assume dois valores, como por exemplo, $ Y_i=0 $ e $ Y_i=1, $ denominados “fracasso” e “sucesso”, respectivamente. Neste caso, “sucesso” é o evento de interesse.”

Para nós, “Sucesso” (1), significa atrito, que é o que queremos descobrir.

Baseline Com Dados Não Balanceados

Como estamos trabalhando em um projeto que existe no vácuo, isto é, sem contexto prévio de métricas já utilizadas pela empresa, precisamos criar uma baseline, um resultado mínimo aceitável, que sirva de referência para nosso aprimoramento.

Neste caso, utilizarei o modelo de Regressão Logística, com nossos dados desbalanceados. Isso é importante para que possamos aferir se há mesmo a necessidade de balancear nossos dados.

Resultado da Baseline.

Ao analisarmos a Matriz de Confusão, conseguimos ver que tivemos muitos Falsos Negativos, o que é um problema.

  • Apesar do modelo apresentar uma Acurácia de cerca de 87% não podemos levar apenas essa métrica em consideração.
  • Nosso AUC foi de 0.6291, o que significa que precisamos melhorar bastante. Para entender melhor sobre ROC_AUC, veja este artigo. Para simplificar, apenas entendamos que quanto maior esse valor, melhor.

Regressão Logística com Dados Balanceados

Agora que temos nossa baseline, e um objetivo a bater, é hora de trabalharmos com nossos dados cuidadosamente trabalhados e buscarmos o nosso melhor.

regressão logística para turnover
Regressão Logística com Dados Balanceados.

Aqui podemos ver que com dados balanceados, nossos resultados foram melhores.

  • Apesar da nossa acurácia ter caído, nosso AUC melhorou, o que é bom.
  • Entretanto, apesar de termos diminuído a quantidade de Falsos Negativos, aumentamos a de Falsos Positivos.

De qualquer forma, obtivemos um resultado melhor que nossa baseline, o que já é um passo na direção correta.

Random Forest

Vamos testar se conseguiríamos um resultado superior utilizando outro algoritmo de Machine Learning. Neste caso, utilizaremos o Random Forest, que em tradução livre, significa “Floresta Aleatória”.

Random forest para turnover
Random Forest Simplificada.

Como o nome sugere, ele é baseado em modelos de árvore de decisão. A diferença é que ele cria muitas árvores de decisão de maneira aleatória.

Vamos ver como ele se sai.

Resultados do Random Forest.

O modelo Random Forest se saiu marginalmente melhor que a Regressão Logística.

Apesar de não representar melhora significativa, com melhor parametrização, ambos modelos podem ter sua performance aumentada.

Variáveis Mais Importantes (Feature Importances)

Através da função feature_importances_ , podemos verificar quais variáveis foram mais importantes para as decisões do nosso modelo.

Variáveis mais importantes.

As variáveis mais importantes são muito valiosas, pois podem nos dar insights dos pontos mais críticos para geração de atritos, e com essa informação, podemos agir preventivamente.

Entre as principais variáveis, podemos destacar:

  • Horas Extras (OverTime) — Definitivamente a mais importante das variáveis,estando bastante acima das outras.
  • Salário Mensal (MonthlyIncome)
  • ESOs (StockOptionLevel)
  • Idade (Age)
  • Nível do Cargo (JobLevel)
  • Anos Trabalhando (TotalWorkingYears)

Podemos identificar variáveis bastante relacionadas com a carreira, benefícios e carga horária. Altos níveis de stress? Sentimento de desvalorização? São hipóteses. Somente uma análise mais detalhada pode nos dizer.

Ciência de Dados, Machine Learning e Turnover

Ciência de Dados é um campo em expansão, com muita coisa a ser explorada e melhorada. Neste projeto, o intuito foi apresentar uma espécie de MVP para o departamento de RH.

Machine Learning para reduzir Turnover

Sem sombra de dúvidas, com acesso a mais dados, colaboração com outros times da empresa, maior entendimento do contexto em que a empresa se encontra e otimização dos modelos apresentados e/ou inclusão de outros, os resultados podem ser muito melhores.

De qualquer forma, espero ter fornecido insights interessantes, e um projeto pertinente.

Caso tenha algum comentário, dúvida ou sugestão, não hesite em me contactar no meu LinkedIn, e conferira o código deste projeto na íntegra, bem como meus outros projetos, acesse meu portfólio no GitHub.

Compartilhar2Compartilhar11Enviar
Post Anterior

Séries Temporais (Time Series) com Python

Próximo Post

Método de Ensemble: vantagens da combinação de diferentes estimadores

Rafael Duarte

Rafael Duarte

Relacionado Artigos

Curso de Pós-Graduação em Data Science
Data Science

Vale a pena fazer uma Pós-Graduação em Data Science?

por Carlos Melo
janeiro 20, 2025
Review do Livro “Mãos à obra: Aprendizado de Máquina com Scikit-Learn, Keras & TensorFlow”
Livros

Review do Livro “Mãos à obra: Aprendizado de Máquina com Scikit-Learn, Keras & TensorFlow”

janeiro 18, 2025
Carlos Melo e Sérgio Sacani – Ciência Sem Fim
Youtube

Carlos Melo e Sérgio Sacani – Ciência Sem Fim

por Carlos Melo
janeiro 16, 2025
Carlos Melo da Pós Graduação em Data Science do Sigmoidal
Aeroespacial

Oportunidades no Setor Espacial para Cientistas de Dados

por Carlos Melo
janeiro 15, 2025
Visão Computacional

Processamento de Nuvens de Pontos com Open3D e Python

por Carlos Melo
janeiro 2, 2025
Próximo Post
Método de Ensemble: vantagens da combinação de diferentes estimadores

Método de Ensemble: vantagens da combinação de diferentes estimadores

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Pós-Graduação em Data Science Pós-Graduação em Data Science Pós-Graduação em Data Science

Mais Populares

  • Introdução ao MediaPipe e Pose Estimation

    Introdução ao MediaPipe e Pose Estimation

    451 compartilhamentos
    Compartilhar 180 Tweet 113
  • Equalização de Histograma com OpenCV e Python

    112 compartilhamentos
    Compartilhar 45 Tweet 28
  • ORB-SLAM 3: Tutorial Completo para Mapeamento 3D e Localização em Tempo Real

    385 compartilhamentos
    Compartilhar 154 Tweet 96
  • Geometria da Formação de Imagens: Matrizes, Transformações e Sistemas de Coordenadas

    368 compartilhamentos
    Compartilhar 147 Tweet 92
  • Redes Neurais Convolucionais com Python

    92 compartilhamentos
    Compartilhar 37 Tweet 23
  • Em Alta
  • Comentários
  • Mais Recente
Como Tratar Dados Ausentes com Pandas

Como Tratar Dados Ausentes com Pandas

agosto 13, 2019
Como usar o DALL-E 2 para gerar imagens a partir de textos

Como usar o DALL-E 2 para gerar imagens a partir de textos

dezembro 25, 2022
Introdução ao MediaPipe e Pose Estimation

Introdução ao MediaPipe e Pose Estimation

julho 15, 2023

ORB-SLAM 3: Tutorial Completo para Mapeamento 3D e Localização em Tempo Real

abril 10, 2023
Como Analisar Ações da Bolsa com Python

Como Analisar Ações da Bolsa com Python

15
Setembro Amarelo: Análise do Suicídio no Brasil, com Data Science

Setembro Amarelo: Análise do Suicídio no Brasil, com Data Science

13
Como Aprender Data Science?

Como Aprender Data Science?

9
Qual o Cenário de Data Science no Brasil hoje?

Qual o Cenário de Data Science no Brasil hoje?

8
DeepSeek vazamento de dados de usuários

DeepSeek: Vazamento de dados expõe dados de usuários

fevereiro 1, 2025
DeepSeek R1 vs OpenAI o1 – Qual é o Melhor Modelo de IA

DeepSeek R1 vs OpenAI o1 – Qual é o Melhor Modelo de IA?

janeiro 25, 2025
Trump Anuncia Investimento de US$ 500 Bilhões em Infraestrutura de IA

Trump Anuncia Investimento de US$ 500 Bilhões em Infraestrutura de IA

janeiro 22, 2025
Trump revoga decreto de Biden sobre regulação de Inteligência Artificial

Trump revoga decreto de Biden sobre regulação de Inteligência Artificial

janeiro 21, 2025

Seguir

  • 🇺🇸 Green Card por Habilidade Extraordinária em Data Science e Machine Learning

Após nossa mudança para os EUA, muitas pessoas me perguntaram como consegui o Green Card tão rapidamente. Por isso, decidi compartilhar um pouco dessa jornada.

O EB-1A é um dos vistos mais seletivos para imigração, sendo conhecido como “The Einstein Visa”, já que o próprio Albert Einstein obteve sua residência permanente através desse processo em 1933.

Apesar do apelido ser um exagero moderno, é fato que esse é um dos vistos mais difíceis de conquistar. Seus critérios rigorosos permitem a obtenção do Green Card sem a necessidade de uma oferta de emprego.

Para isso, o aplicante precisa comprovar, por meio de evidências, que está entre os poucos profissionais de sua área que alcançaram e se mantêm no topo, demonstrando um histórico sólido de conquistas e reconhecimento.

O EB-1A valoriza não apenas um único feito, mas uma trajetória consistente de excelência e liderança, destacando o conjunto de realizações ao longo da carreira.

No meu caso específico, após escrever uma petição com mais de 1.300 páginas contendo todas as evidências necessárias, tive minha solicitação aprovada pelo USCIS, órgão responsável pela imigração nos Estados Unidos.

Fui reconhecido como um indivíduo com habilidade extraordinária em Data Science e Machine Learning, capaz de contribuir em áreas de importância nacional, trazendo benefícios substanciais para os EUA.

Para quem sempre me perguntou sobre o processo de imigração e como funciona o EB-1A, espero que esse resumo ajude a esclarecer um pouco mais. Se tiver dúvidas, estou à disposição para compartilhar mais sobre essa experiência! #machinelearning #datascience
  • 🚀Domine a tecnologia que está revolucionando o mundo.

A Pós-Graduação em Visão Computacional & Deep Learning prepara você para atuar nos campos mais avançados da Inteligência Artificial - de carros autônomos a robôs industriais e drones.

🧠 CARGA HORÁRIA: 400h
💻 MODALIDADE: EAD
📅 INÍCIO DAS AULAS: 29 de maio

Garanta sua vaga agora e impulsione sua carreira com uma formação prática, focada no mercado de trabalho.

Matricule-se já!

#deeplearning #machinelearning #visãocomputacional
  • Green Card aprovado! 🥳 Despedida do Brasil e rumo à nova vida nos 🇺🇸 com a família!
  • Haverá sinais… aprovado na petição do visto EB1A, visto reservado para pessoas com habilidades extraordinárias!

Texas, we are coming! 🤠
  • O que EU TENHO EM COMUM COM O TOM CRUISE??

Clama, não tem nenhuma “semana” aberta. Mas como@é quinta-feira (dia de TBT), olha o que eu resgatei!

Diretamente do TÚNEL DO TEMPO: Carlos Melo &Tom Cruise!
  • Bate e Volta DA ITÁLIA PARA A SUÍÇA 🇨🇭🇮🇹

Aproveitei o dia de folga após o Congresso Internacional de Astronáutica (IAC 2024) e fiz uma viagem “bate e volta” para a belíssima cidade de Lugano, Suíça.

Assista ao vlog e escreve nos comentários se essa não é a cidade mais linda que você já viu!

🔗 LINK NOS STORIES
  • Um paraíso de águas transparentes, e que fica no sul da Suíça!🇨🇭 

Conheça o Lago de Lugano, cercado pelos Alpes Suíços. 

#suiça #lugano #switzerland #datascience
  • Sim, você PRECISA de uma PÓS-GRADUAÇÃO em DATA SCIENCE.
  • 🇨🇭Deixei minha bagagem em um locker no aeroporto de Milão, e vim aproveitar esta última semana nos Alpes suíços!
  • Assista à cobertura completa no YT! Link nos stories 🚀
  • Traje espacial feito pela @axiom.space em parceria com a @prada 

Esse traje será usados pelos astronautas na lua.
para acompanhar as novidades do maior evento sobre espaço do mundo, veja os Stories!

#space #nasa #astronaut #rocket
  • INTERNATIONAL ASTRONAUTICAL CONGRESS - 🇮🇹IAC 2024🇮🇹

Veja a cobertura completa do evento nos DESTAQUES do meu perfil.

Esse é o maior evento de ESPAÇO do mundo! Eu e a @bnp.space estamos representando o Brasil nele 🇧🇷

#iac #space #nasa #spacex
  • 🚀 @bnp.space is building the Next Generation of Sustainable Rocket Fuel.

Join us in transforming the Aerospace Sector with technological and sustainable innovations.
  • 🚀👨‍🚀 Machine Learning para Aplicações Espaciais

Participei do maior congresso de Astronáutica do mundo, e trouxe as novidades e oportunidade da área de dados e Machine Learning para você!

#iac #nasa #spacex
  • 🚀👨‍🚀ACOMPANHE NOS STORIES

Congresso Internacional de Astronáutica (IAC 2024), Milão 🇮🇹
  • Projeto Aeroespacial do final de semana!👨‍🚀
Instagram Youtube LinkedIn Twitter
Sigmoidal

O melhor conteúdo técnico de Data Science, com projetos práticos e exemplos do mundo real.

Seguir no Instagram

Categorias

  • Aeroespacial
  • Artigos
  • Blog
  • Carreira
  • Cursos
  • Data Science
  • Deep Learning
  • Destaques
  • Entrevistas
  • IA Generativa
  • Livros
  • Machine Learning
  • Notícias
  • Python
  • Teoria
  • Tutoriais
  • Visão Computacional
  • Youtube

Navegar por Tags

camera calibration carreira chatgpt cientista de dados cnn computer vision Cursos dados desbalanceados data science data science na prática decision tree deep learning gpt-3 histograma IA generativa image formation inteligência artificial jupyter kaggle keras machine learning matplotlib mnist nft openai opencv overfitting pandas profissão python redes neurais redes neurais convolucionais regressão linear regressão logística salário scikit-learn seaborn sklearn tensorflow titanic tutorial visão computacional vídeo youtube árvore de decisão

© 2024 Sigmoidal - Aprenda Data Science, Visão Computacional e Python na prática.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist

Sem Resultado
Ver Todos Resultados
  • Home
  • Cursos
  • Pós-Graduação
  • Blog
  • Sobre Mim
  • Contato
  • English

© 2024 Sigmoidal - Aprenda Data Science, Visão Computacional e Python na prática.