Imagem Aplicação do algoritmo KNN na classificação automatizada de candidatos a vagas de emprego

04 de fevereiro de 2026

Aplicação do algoritmo KNN na classificação automatizada de candidatos a vagas de emprego

Cleibe Vieira Castro; Felipe Pinto da Silva

Resumo elaborado pela ferramenta ResumeAI, solução de inteligência artificial desenvolvida pelo Instituto Pecege voltada à síntese e redação.

Este estudo avaliou a viabilidade da aplicação do algoritmo de aprendizado de máquina K-Nearest Neighbors (KNN) na automação da seleção de candidatos. Como objetivos específicos, a pesquisa buscou aferir a eficácia do KNN na classificação de candidatos por competências técnicas e senioridade, investigar o impacto de técnicas de padronização de dados como o Z-Score, e validar a aplicação de métricas de performance para medir a precisão do modelo. A investigação partiu da premissa de que a automação pode mitigar a subjetividade e a ineficiência da triagem manual de currículos, especialmente diante de grandes volumes de candidaturas.

O desafio de selecionar o profissional adequado envolve alinhar as necessidades do cargo às qualificações do candidato (Chiavenato, 2022). O conceito de “candidato certo” está ligado à competência, definida por Rabaglio (2005) como um conjunto de conhecimentos, habilidades e atitudes que elevam a eficácia profissional. Cada cargo possui um conjunto de tarefas que demanda um perfil de competências específico (Banov, 2020). O processo de seleção é, portanto, uma busca pela adequação entre as competências do indivíduo e as requeridas pela organização (Chiavenato, 2022). O ponto de partida é o mapeamento das competências de referência para a vaga, que servem como gabarito para comparar os perfis dos candidatos. A complexidade aumenta com a diversidade de competências e níveis de proficiência, tornando a análise manual em larga escala um gargalo operacional.

A hipótese central do trabalho é que o aprendizado de máquina pode automatizar a comparação de candidatos, reduzindo o esforço manual e aumentando a precisão do processo. Algoritmos de classificação supervisionada, como o K-Nearest Neighbors (KNN), são adequados para este problema. O KNN classifica um novo dado com base na classe majoritária de seus vizinhos mais próximos em um espaço de características (Cover e Hart, 1967), uma lógica que espelha o processo de agrupar candidatos por similaridade de competências.

A escolha do KNN foi motivada por sua simplicidade, facilidade de implementação e eficácia validada em problemas de classificação (Xiao et al., 2019). Diferente de algoritmos não supervisionados como o K-Means, úteis para segmentar dados sem rótulos prévios (Marinho e Fernandes, 2020), o KNN é um método supervisionado que se aplica diretamente a tarefas de classificação com categorias conhecidas, como perfis de vagas. Sua aplicação direta ao problema de recrutamento justifica seu potencial para otimizar a tomada de decisão em recursos humanos.

A pesquisa foi caracterizada como aplicada, de natureza quantitativa, com abordagem exploratória e experimental. O objetivo foi investigar o KNN como ferramenta de apoio à decisão na classificação de candidatos. A metodologia consistiu em classificar perfis simulados, comparando suas competências com um conjunto de referência. O escopo foi delimitado ao segmento de desenvolvimento de software, focando nas funções de desenvolvedor front-end, back-end e full-stack. As competências e faixas de senioridade para cada função foram mapeadas por meio de pesquisa na plataforma Catho, que serviu de base para a geração de dados sintéticos.

A definição dos perfis profissionais foi uma etapa crucial. Para desenvolvedores front-end, as linguagens essenciais foram HTML, CSS e JavaScript; para back-end, JavaScript, Java, CSharp e Python; e para full-stack, todas as linguagens mencionadas. A senioridade foi classificada em quatro níveis (Aspirante, Júnior, Pleno e Sênior) com base em anos de experiência e uma escala de proficiência de 0 a 10. A combinação de função e senioridade resultou em 12 perfis distintos, como “desenvolvedor front-end júnior”, que serviram como classes para o modelo.

Para o treinamento e teste, foram gerados dados sintéticos. Foi criado um dataset principal, “Perfil”, com 1.200 registros (100 para cada um dos 12 perfis). Os atributos incluíam identificadores, rótulos de perfil, anos de experiência e níveis de proficiência nas seis linguagens. A geração do atributo “anosExperiencia” seguiu uma distribuição de probabilidade que simulava a realidade do mercado, com maior concentração de profissionais nos níveis júnior e pleno. A reprodutibilidade foi assegurada pela fixação de uma semente aleatória (random_state=42).

A implementação foi realizada em Python, utilizando as bibliotecas Pandas e NumPy para manipulação de dados e Scikit-learn para a aplicação do KNN, padronização e validação. As visualizações foram feitas com Seaborn e Matplotlib. O processo metodológico seguiu os seguintes passos: (1) geração dos dados sintéticos; (2) padronização dos atributos numéricos com o método Z-Score para equalizar a contribuição das variáveis no cálculo da distância (Fávero e Belfiore, 2025); (3) particionamento dos dados em conjuntos de treino e teste; (4) aplicação da validação cruzada K-Fold para otimizar o hiperparâmetro k e mitigar overfitting (Wong e Yeh, 2020); e (5) classificação final com o modelo treinado.

A análise dos resultados começou com a exploração do dataset “Perfil”. A estatística descritiva confirmou a estrutura de mercado desejada, com média de experiência de 3,83 anos e terceiro quartil em 5,25 anos, indicando predominância de perfis com menor tempo de atuação. O primeiro experimento, com dados não padronizados, alcançou uma acurácia máxima de 79% com k igual a 5, via validação cruzada K-Fold. No segundo experimento, com dados padronizados pelo Z-Score, a performance foi similar, com acurácia máxima de 78% para k igual a 10. A diferença marginal de um ponto percentual indicou que, para este dataset, a padronização não teve impacto significativo, possivelmente devido à amplitude equilibrada entre as escalas dos atributos.

Aprofundando a análise do modelo com dados padronizados, foram avaliadas as métricas de precisão, recall e F1-Score para cada uma das 12 classes. O desempenho foi notavelmente superior nos perfis de senioridade extrema. As categorias “aspirante” e “sênior” apresentaram valores de F1-Score consistentemente acima de 0,80, indicando um bom equilíbrio entre precisão e recall. Isso sugere que perfis de entrada e de alta especialização possuem características mais distintas, facilitando sua separação pelo algoritmo.

Em contrapartida, o desempenho foi inferior para os perfis intermediários “júnior” e “pleno”, cujos valores de F1-Score variaram entre 0,57 e 0,73. Isso sinalizou um desequilíbrio entre precisão e recall, resultando em mais erros de classificação. A principal hipótese para essa queda de performance é a menor diferenciação entre os atributos de proficiência e experiência nesses grupos, que frequentemente compartilham faixas de competências sobrepostas, tornando a fronteira de decisão do algoritmo mais difusa.

Para mitigar essa baixa performance, adotou-se uma estratégia de segmentação. O dataset foi dividido em três subconjuntos: desenvolvedor front-end, back-end e full-stack. A lógica foi criar modelos mais especializados, treinados para discernir apenas os níveis de senioridade dentro de um único domínio técnico. O algoritmo KNN com validação cruzada K-Fold foi aplicado separadamente a cada um dos três datasets.

Os resultados dessa abordagem foram excepcionais. Para o perfil de desenvolvedor front-end, o modelo alcançou 100% de acurácia com k igual a 1. O modelo para desenvolvedor back-end também atingiu 100% de acurácia com k ótimo de 1. O modelo para desenvolvedor full-stack registrou 100% de acurácia com k igual a 9. Esses resultados indicam que, ao reduzir o escopo do problema, o KNN foi capaz de identificar corretamente todas as instâncias de cada nível de senioridade, incluindo as categorias júnior e pleno, sem erros de classificação.

A discussão dos resultados permite traçar um paralelo entre a metodologia do KNN e o processo de recrutamento descrito por Chiavenato (2022). Ambas as abordagens se baseiam no princípio da similaridade. No KNN, um dado é classificado por sua proximidade com os “vizinhos”. No recrutamento, um candidato é avaliado por sua “proximidade” com o perfil ideal. A fase de mapeamento de competências é análoga à coleta de dados de treinamento, enquanto a seleção corresponde à etapa de classificação.

A performance de ambos os processos depende da qualidade dos dados de entrada. A precisão no mapeamento de competências é tão crucial para o recrutador quanto a representatividade das características é para o algoritmo. A dificuldade do modelo inicial em diferenciar perfis intermediários reflete um desafio real dos recrutadores. A solução encontrada, a segmentação, sugere uma estratégia prática para o RH: criar processos de triagem mais especializados por domínio técnico, em vez de aplicar um filtro genérico.

Este trabalho demonstrou a aplicação e a performance do KNN na classificação de candidatos em um ambiente de dados sintéticos. Os resultados evidenciaram que, embora um modelo generalista enfrente dificuldades com perfis de características sobrepostas, uma abordagem de segmentação por função permite alcançar precisão extremamente elevada. A pesquisa confirmou que o enriquecimento do dataset com atributos que ampliem a separabilidade entre os perfis é fundamental para otimizar a classificação.

Conclui-se que o objetivo foi atingido: demonstrou-se que a aplicação do algoritmo KNN é viável para automatizar a classificação de candidatos, com a eficácia do modelo sendo otimizada através da segmentação de perfis e da aplicação rigorosa de métricas de performance. O KNN provou ser uma ferramenta promissora para apoiar a triagem, desde que os atributos dos perfis sejam cuidadosamente calibrados. A adoção de técnicas de machine learning, como a explorada neste estudo, tem o potencial de fortalecer a tomada de decisão em processos seletivos, promovendo maior agilidade, objetividade e um alinhamento mais preciso entre talentos e as necessidades das organizações.

Referências:
Banov, Marcia Regina. 2020. Recrutamento e seleção com foco na transformação digital. Atlas, Barueri, São Paulo, Brasil.
CATHO. 2024. Entenda as diferenças entre front-end, back-end e full-stack. Disponível em: https://www. catho. com. br/carreira-sucesso/front-end-e-back-end-e-full-stack/. Acesso em: 29 ago. 2025.
CATHO. 2025a. Qual o maior desafio dos recrutadores em 2024? Descubra como se sair bem em uma entrevista de emprego. Disponível em: https://www. catho. com. br/carreira-sucesso/como-sair-bem-entrevista-emprego/. Acesso em: 29 ago. 2025.
CATHO. 2025b. Desenvolvedor back-end: o que faz e qual é o seu mercado atual?. Disponível em: https://www. catho. com. br/carreira-sucesso/desenvolvedor-back-end/. Acesso em: 29 ago. 2025.
CATHO. 2025c. Desenvolvedor front-end: saiba tudo sobre a carreira!. Disponível em: https://www. catho. com. br/carreira-sucesso/desenvolvedor-front-end/. Acesso em: 29 ago. 2025.
CATHO. 2025d. Entenda as diferenças entre os cargos júnior, pleno e sênior. Disponível em: https://www. catho. com. br/carreira-sucesso/junior-pleno-senior/. Acesso em: 29 ago. 2025.
Chiavenato, Idalberto. 2022. Planejamento, recrutamento e seleção de pessoal: como agregar talentos à empresa. Atlas, Barueri, São Paulo, Brasil.
Cover, T.; Hart, P. 1967. Nearest neighbor pattern classification. IEEE Transactions on Information Theory, v. 13, n. 1, p. 21–27.
Fávero, L. P.; Belfiore, Patrícia. 2025. Manual de análise de dados: estatística e machine learning com Excel®, SPSS®, Stata®, R® e Python®. Elsevier Brasil, Rio de Janeiro, Rio de Janeiro, Brasil.
Marinho, Johnny; Fernandes, Damires. 2020. Avaliação de técnica de clusterização para a identificação de grupos de discentes. Relatório Técnico. Instituto Federal de Educação, Ciência e Tecnologia da Paraíba – IFPB. João Pessoa, Paraíba, Brasil.
Oliveira, P. L. S.; Rodrigues, R. L.; Ramos, J. L. C.; & Silva, J. C. S. 2022. Identificação de Pesquisas e Análise de Algoritmos de Clusterização para a Descoberta de Perfis de Engajamento. Revista Brasileira de Informática na Educação. 30: 01-19.
Rabaglio, Maria Odete. 2005. Seleção por competências. Educator, São Paulo, Brasil.
Wong, T-T; Yeh, P-Y. 2020. Reliable Accuracy Estimates from K-Fold Cross-Validation. IEEE Transactions on Knowledge and Data Engineering, v. 32, n. 8, p. 1586-1594.
Xiao, Qingtao; Zhong, Xin; Zhong, Chenghua. 2019. Application Research of KNN Algorithm Based on Clustering in Big Data Talent Demand Information Classification. International Journal of Pattern Recognition and Artificial Intelligence, v. 34, n. 6.


Resumo executivo oriundo de Trabalho de Conclusão de Curso de Especialização em Data Science e Analytics do MBA USP/Esalq

Saiba mais sobre o curso; clique aqui:

Quem editou este artigo

Você também pode gostar

Quer ficar por dentro das nossas últimas publicações? Inscreva-se em nossa newsletter!

Receba conteúdos e fique sempre atualizado sobre as novidades em gestão, liderança e carreira com a Revista E&S.

Ao preencher o formulário você está ciente de que podemos enviar comunicações e conteúdos da Revista E&S. Confira nossa Política de Privacidade