Explora o KNN, um algoritmo de aprendizagem automática versátil para classificação, regressão, reconhecimento de imagens e muito mais. Aprende como faz previsões utilizando a proximidade de dados.
O K-Nearest Neighbors (KNN) é um algoritmo de aprendizagem automática simples, mas poderoso, utilizado para tarefas de classificação e regressão. A sua função principal é prever a classe ou o valor de um ponto de dados com base nos "k" pontos de dados mais próximos no espaço de caraterísticas. O KNN é conhecido pela sua simplicidade e eficácia no tratamento de problemas de classificação, particularmente com conjuntos de dados em que o limite de decisão não é linear.
O KNN funciona armazenando todos os pontos de dados disponíveis e, quando é necessária uma previsão, identifica os "k" vizinhos mais próximos do ponto de consulta. O algoritmo determina então a classe mais comum (para classificação) ou o valor médio (para regressão) entre esses vizinhos como previsão.
Métrica de distância: A escolha da métrica de distância é crucial no KNN. As métricas comuns incluem as distâncias Euclidiana, de Manhattan e de Minkowski. Esta métrica determina como é medida a "proximidade" dos pontos de dados.
Seleção de 'k': A seleção do valor adequado de 'k' é fundamental para o desempenho do modelo. Um valor pequeno de 'k' torna o modelo mais sensível ao ruído, ao passo que um valor grande de 'k' pode simplificar demasiado a fronteira de decisão, potencialmente deixando escapar padrões subtis.
Complexidade computacional: O KNN requer o cálculo de distâncias entre o ponto de consulta e todos os outros pontos no conjunto de dados, tornando-o computacionalmente intensivo à medida que o tamanho do conjunto de dados aumenta. Esta caraterística pode tornar o KNN difícil de utilizar com grandes conjuntos de dados sem otimização.
Reconhecimento de imagens: O KNN pode categorizar imagens com base nos valores de intensidade dos pixels. Na visão computacional, é utilizado para detetar padrões em conjuntos de dados de imagens, comparando novas imagens com imagens previamente categorizadas.
Sistemas de recomendação: Aproveitando os dados de interação entre o utilizador e o item, o KNN identifica utilizadores ou itens semelhantes para fornecer recomendações. Esta técnica é normalmente utilizada em plataformas de comércio eletrónico para sugerir produtos com base no comportamento e nas preferências históricas de um utilizador.
Diagnóstico de cuidados de saúde: O KNN ajuda a prever as condições do paciente, comparando os dados do novo paciente com os dados existentes dos registos históricos do paciente, ajudando no diagnóstico e no planeamento do tratamento.
Deteção de fraudes: As instituições financeiras utilizam o KNN para detetar transacções fraudulentas, identificando padrões típicos de fraude com base no histórico de transacções anteriores.
Previsão de preços de acções: Em finanças, o KNN é aplicado para prever os preços das acções, analisando as tendências passadas e identificando padrões históricos semelhantes para prever movimentos futuros.
Prós:
Contras:
Agrupamento K-Means: Enquanto o KNN é utilizado para classificação, o K-Means Clustering é um algoritmo de aprendizagem não supervisionado que agrupa os dados em clusters com base na semelhança de caraterísticas.
Máquina de vetor de suporte (SVM): Ao contrário do KNN, o SVM é um modelo de aprendizagem supervisionado que encontra o hiperplano no espaço de caraterísticas que melhor separa as diferentes classes. Sabe mais sobre as Máquinas de Vectores de Suporte.
Árvores de decisão: Estes modelos criam um gráfico de decisões em forma de árvore para ajudar na classificação. Saiba mais sobre as árvores de decisão.
Para aplicações práticas e implementação, explora as capacidades do Ultralytics HUB, uma plataforma que permite o treino e a implementação fáceis de modelos de aprendizagem automática como o KNN e outros. Visita o Ultralytics HUB para tirar partido de soluções sem código para os teus projectos de IA.
Para compreender como o KNN se enquadra em tarefas de aprendizagem automática mais amplas, explora a Aprendizagem Supervisionada e outros conceitos de aprendizagem automática relacionados.