Ciência de Dados sem código: Validando os resultados da clusterização por IA Generativa em dados de RH.

Luiza B. Laquini
5 min readAug 3, 2024

--

Publiquei anteriormente um artigo intitulado Ciência de Dados sem código: Um exemplo de clusterização por IA Generativa onde mostro os resultados da utilização do Gemini 1.5 Pro para agrupar funcionários e sugerir técnicas de retenção para uma empresa de tecnologia enfrentando o problema da alta rotatividade. Hoje venho validar esses resultados, utilizando a Ciência de Dados como estamos acostumados (com código).

Imagem gerada por inteligência artificial

Recapitulando os resultados obtidos

Em resumo, após eu ter fornecido o prompt e os dados, o Gemini mencionou ter utilizado o algoritmo K-MEANS para formar 4 grupos de funcionários:

  • Engajados em Ascensão: Predominantemente júniores com baixa taxa de desligamento. Médias apresentadas: Desempenho 3.5; Satisfação 3.8; Idade 28 anos; Meses de serviço 10; Salário R$4.500,00; Horas extras 9;
  • Seniores Insatisfeitos: Sêniores com alta taxa de desligamento. Médias apresentadas: Desempenho 3; Satisfação 1.8; Idade 35 anos; Meses de serviço 27; Salário R$9.000,00; Horas extras 14;
  • Estáveis em Zona de Conforto: Plenos ou sêniores com baixa taxa de desligamento. Médias apresentadas: Desempenho 2.5; Satisfação 3; Idade 33 anos; Meses de serviço 28; Salário R$7.000,00; Horas extras 6;.
  • Desmotivados de Alto Risco: Predominantemente júniores e plenos com altíssima taxa de desligamento e tempo de serviço variado. Médias apresentadas: Desempenho 1.5; Satisfação 1.5; Idade 27 anos; Salário R$4.000,00; Horas extras 15;

Validação

Você pode acessar os dados e todo o código de validação desenvolvido por mim nesse repositório do GitHub.

Utilizando um ambiente virtual do Python 3.10.11, importei os dados e as bibliotecas necessárias, realizei alguns pré-processamentos e normalizei os dados… Até então tudo protocolado.

Gráfico do Cotovelo

A primeira verificação importante foi plotar o gráfico do cotovelo (elbow plot) para saber se 4 grupos distintos foi realmente uma escolha inteligente do modelo. A inércia (ou soma das distâncias quadráticas dentro dos clusters) é uma métrica que mede o quão bem os pontos são agrupados dentro de cada cluster: Quanto menor a inércia, melhor o agrupamento.

O melhor número de clusters é geralmente identificado no ponto onde a taxa de diminuição da inércia começa a desacelerar significativamente. Este ponto é chamado de “cotovelo”. Antes do ponto de cotovelo, adicionar mais clusters reduz significativamente a inércia. Após esse ponto, as reduções na inércia são menores.

A seguir temos a inércia para uma variação de 1 a 10 clusters nos nossos dados:

Eu, como Cientista de Dados, teria escolhido k = 3 a partir desse gráfico. Mas, a escolha do Gemini de k = 4 também não está distante e possui uma boa inércia. Grave teria sido, por exemplo, escolher k = 2.

Gráfico da Silhueta

De forma complementar ao gráfico de cotovelo, temos também o gráfico de silhueta, que mede o quão bem os pontos estão separados entre os clusters e o quão coesos estão dentro deles.

A pontuação de silhueta varia de -1 (mal agrupado) a 1 (bem agrupado). Portanto, deve-se procurar o valor de k que maximiza a pontuação média de silhueta. Este valor indica que os clusters são bem definidos e os pontos estão corretamente atribuídos.

Para uma variação de 2 a 10 clusters nos nossos dados, temos o gráfico de silhueta a seguir:

Eu, como Cientista de Dados, diante desse gráfico teria ainda mais respaldo na escolha de k = 3, visto que temos a melhor pontuação de silhueta dentre as possibilidades. Entretanto, vemos que a escolha de k = 4 do Gemini vem logo a seguir no ranking de pontuações.

K-MEANS

Apesar de k = 4 não aparentar ser a melhor escolha possível, meu objetivo aqui não é fazer melhor — e sim validar o que foi feito pela Gen AI. Portanto, executei o k-means para 4 clusters e, agora, vamos verificar se as características dos grupos estão em conformidade com as levantadas pelo Gemini.

No meu código, as estatísticas descritivas dos grupos (nomeados 0, 1, 2 e 3) são calculadas e salvas em um arquivo “resultado.xlsx”. Vou resumir aqui o que pode ser observado desse arquivo de forma a termos um comparativo:

  • Grupo 0: Formado apenas por júniores, com 100% de desligamento. Médias calculadas: Desempenho 3.16; Satisfação 2.83; Idade 20.89 anos; Meses de serviço 15.89; Salário R$3.487,85; Horas extras 9.82;
  • Grupo 1: Apenas sêniores. Médias calculadas: Desligamento 0.22 (baixo); Desempenho 3.17; Satisfação 2.95; Idade 37.54 anos; Meses de serviço 18.51; Salário R$9.496,99; Horas extras 11.76;
  • Grupo 2: Apenas plenos. Médias calculadas: Desligamento 0.2 (baixo); Desempenho 2.9; Satisfação 3.0; Idade 28.23 anos; Meses de serviço 19.16; Salário R$5.965,74; Horas extras 9.15;
  • Grupo 3: Apenas júniores, sem desligamentos. Médias calculadas: Desempenho 3.0; Satisfação 2.9; Idade 20.9 anos; Meses de serviço 19.19; Salário R$3.528,25; Horas extras 9.59;

Observação: A variável de desligamento se trata de um booleano (cujo valor é 0 ou 1, apenas). Dessa forma, a média mais próxima de zero significa baixo desligamento, enquanto próxima de 1 se trata de uma alta taxa de desligamento.

Conclusão

Os resultados obtidos através do meu código para o k-means com 4 clusters foram significativamente diferentes dos gerados pelo Gemini. Embora eu não tenha acesso à seed aleatória utilizada pelo Gemini, o que me impediria de replicar exatamente os mesmos resultados, é esperado que, ao utilizar o mesmo algoritmo com configurações semelhantes, os resultados fossem pelo menos comparáveis. Isso ocorre porque o k-means é um algoritmo que depende de cálculos de distâncias e atualizações de centróides, que, apesar de sua dependência inicial na escolha dos centróides, tende a convergir para uma solução estável após várias iterações.

Essas discrepâncias sugerem que, apesar de o Gemini afirmar ter utilizado um algoritmo para sua análise, há evidências de que isso não ocorreu na prática —não levantei isto antes por achar que ele estaria arredondando, mas o fato das médias apresentadas por ele serem números redondos já era algo extremamente suspeito. Isso reforça a noção de que os modelos de linguagem de grande porte (LLMs) são treinados para produzir respostas coerentes, mas nem sempre comprometidas com a verdade.

O que concluímos disso é que ainda não é possível confiar completamente em análises realizadas por modelos de IA Generativa. Apesar do grande potencial da tecnologia, ela ainda tem um longo caminho a ser percorrido para alcançar níveis de confiança comparáveis aos obtidos por profissionais de dados.

--

--