SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
Introdu¸˜o
                        ca
                 Algoritmo
        Pontos Importantes




UFAL - Universidade Federal de Alagoas
   UFAL - Instituto de Computa¸˜o
                               ca




    K-Vizinhos Mais Pr´ximos
                      o

          Jonathas Magalh˜es a
           jonathas@ic.ufal.br




           Magalh˜es, J.J.
                 a           IA – 2013   1
Introdu¸˜o
                                     ca
                              Algoritmo
                     Pontos Importantes


K-Vizinhos mais Pr´ximos
                  o




   Aprendizado baseado em instˆncias:
                              a
       Aprendizado: armazenar todos as instˆncias de treinamento;
                                             a
       Classifica¸˜o: descobrir a qual classe uma nova instˆncia pertence.
                ca                                        a
   T´cnica simples e intuitiva.
    e




                        Magalh˜es, J.J.
                              a           IA – 2013             2
Introdu¸˜o
                                        ca
                                 Algoritmo
                        Pontos Importantes


K-Vizinhos Mais Pr´ximos – Exemplo
                  o

          Table: Base de dados contendo informa¸˜es de alunos.
                                               co

 x1 : Tempo de utiliza¸˜o
                      ca     x2 : N´mero postagens
                                   u                      y : Passou na disciplina
            2                          4                           N˜o
                                                                     a
            3                          6                           N˜o
                                                                     a
            4                          8                           N˜o
                                                                     a
            4                          4                           N˜o
                                                                     a
            5                          7                           N˜o
                                                                     a
            6                          5                           N˜o
                                                                     a
            6                          6                           Sim
            6                          5                           Sim
            7                          7                           Sim
            8                          5                           Sim
            8                          6                           Sim
           10                         10                           Sim

                            Magalh˜es, J.J.
                                  a           IA – 2013                3
Introdu¸˜o
                                     ca
                              Algoritmo
                     Pontos Importantes


K-Vizinhos Mais Pr´ximos
                  o
Dados dos alunos dispostos graficamente (em azul, os alunos que
passaram, em vermelho, os alunos que n˜o passaram).
                                      a




                        Magalh˜es, J.J.
                              a           IA – 2013       4
Introdu¸˜o
                                     ca
                              Algoritmo
                     Pontos Importantes


K-Vizinhos Mais Pr´ximos
                  o
Como classificar um novo registro (em verde)? (postagens = 6 e
tempo = 7, R(6, 7))




                        Magalh˜es, J.J.
                              a           IA – 2013       5
Introdu¸˜o
                                           ca
                                    Algoritmo
                           Pontos Importantes


K-Vizinhos Mais Pr´ximos
                  o
Passo 1: Calcular a distˆncia do novo registro a cada um dos registros
                        a
existentes.
                             A   A        B     B
     Dados dois pontos, A(x1 ...xn ) e B(x1 ...xn );
     Distˆncia euclidiana quadrada: d(A, B) = n (xiA − xiB )2 .
         a                                          i=1
         x1 : utiliza¸˜o
                     ca     x2 : postagens         Distˆncia para o (6, 7)
                                                       a
                2                  4              (2 − 6)2 + (4 − 7)2 = 25
                3                  6                         10
                4                  8                          5
                4                  4                         13
                5                  7                          1
                6                  5                          4
                6                  6                          1
                6                  5                          4
                7                  7                          1
                8                  5                          8
                8                  6                          5
               10                 10                         25
                              Magalh˜es, J.J.
                                    a           IA – 2013                    6
Introdu¸˜o
                                         ca
                                  Algoritmo
                         Pontos Importantes


K-Vizinhos Mais Pr´ximos
                  o
Passo 2: Identifica¸˜o dos k registros da base de referˆncia que
                  ca                                  e
apresentaram menor distˆncia em rela¸˜o ao novo registro. (Para
                        a             ca
k = 3)
     x1 : utiliza¸˜o
                 ca    x2 : postagens         Distˆncia para o (6, 7)
                                                  a                     KNN
            2                 4                         25
            3                 6                         10
            4                 8                         5
            4                 4                         13
            5                 7                         1
            6                 5                         4
            6                 6                         1
            6                 5                         4
            7                 7                         1
            8                 5                         8
            8                 6                         5
           10                10                         25

                            Magalh˜es, J.J.
                                  a            IA – 2013                 7
Introdu¸˜o
                                ca
                         Algoritmo
                Pontos Importantes


K-Vizinhos Mais Pr´ximos
                  o




                   Magalh˜es, J.J.
                         a           IA – 2013   8
Introdu¸˜o
                                     ca
                              Algoritmo
                     Pontos Importantes


K-Vizinhos Mais Pr´ximos
                  o
Logo, a nova instˆncia ´ classificada como sendo um aluno que
                 a     e
passou/passar´ na disciplina.
             a




                        Magalh˜es, J.J.
                              a           IA – 2013       9
Introdu¸˜o
                                     ca
                              Algoritmo
                     Pontos Importantes


K-Vizinhos mais Pr´ximos
                  o




   Normaliza¸˜o dos dados;
            ca
   Tratando empates;
   Qual valor para k utilizar?
   Fuzzy KNN.




                        Magalh˜es, J.J.
                              a           IA – 2013   10
Introdu¸˜o
                ca
         Algoritmo
Pontos Importantes




Perguntas?




   Magalh˜es, J.J.
         a           IA – 2013   11

Weitere ähnliche Inhalte

Was ist angesagt?

Exploring Simple Siamese Representation Learning
Exploring Simple Siamese Representation LearningExploring Simple Siamese Representation Learning
Exploring Simple Siamese Representation LearningSungchul Kim
 
Learning loss for active learning
Learning loss for active learningLearning loss for active learning
Learning loss for active learningNAVER Engineering
 
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...Edureka!
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...QAware GmbH
 
Cloud Academy for Enterprise
Cloud Academy for EnterpriseCloud Academy for Enterprise
Cloud Academy for EnterpriseCloud Academy
 
Python e tipagem estática
Python e tipagem estáticaPython e tipagem estática
Python e tipagem estáticaVinta Software
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes ExploratóriosAlan Carlos
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais ArtificiaisMarcos Castro
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine LearningMorvana Bonin
 
Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]Haggai Philip Zagury
 
Microservices testing strategy-v2
Microservices testing strategy-v2Microservices testing strategy-v2
Microservices testing strategy-v2rajni singh
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaFernando Palma
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Elaine Cecília Gatto
 
Test data management a case study Presented at SiGIST
Test data management a case study Presented at SiGISTTest data management a case study Presented at SiGIST
Test data management a case study Presented at SiGISTrenardv74
 
ISTQB CTAL - Test Analyst
ISTQB CTAL - Test AnalystISTQB CTAL - Test Analyst
ISTQB CTAL - Test AnalystSamer Desouky
 
Longformer: The Long-Document Transformer
Longformer: The Long-Document Transformer Longformer: The Long-Document Transformer
Longformer: The Long-Document Transformer taeseon ryu
 
Micro Frontends mit Web Components.pdf
Micro Frontends mit Web Components.pdfMicro Frontends mit Web Components.pdf
Micro Frontends mit Web Components.pdfQAware GmbH
 
Six Simple Steps to Service Level Objectives (SLOs)
Six Simple Steps to Service Level Objectives (SLOs)Six Simple Steps to Service Level Objectives (SLOs)
Six Simple Steps to Service Level Objectives (SLOs)VMware Tanzu
 

Was ist angesagt? (20)

Exploring Simple Siamese Representation Learning
Exploring Simple Siamese Representation LearningExploring Simple Siamese Representation Learning
Exploring Simple Siamese Representation Learning
 
Learning loss for active learning
Learning loss for active learningLearning loss for active learning
Learning loss for active learning
 
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
 
Cloud Academy for Enterprise
Cloud Academy for EnterpriseCloud Academy for Enterprise
Cloud Academy for Enterprise
 
Python e tipagem estática
Python e tipagem estáticaPython e tipagem estática
Python e tipagem estática
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais Artificiais
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine Learning
 
Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]Modern Monitoring [ with Prometheus ]
Modern Monitoring [ with Prometheus ]
 
Microservices testing strategy-v2
Microservices testing strategy-v2Microservices testing strategy-v2
Microservices testing strategy-v2
 
SRE in Startup
SRE in StartupSRE in Startup
SRE in Startup
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1
 
Apache Ranger Hive Metastore Security
Apache Ranger Hive Metastore Security Apache Ranger Hive Metastore Security
Apache Ranger Hive Metastore Security
 
Test data management a case study Presented at SiGIST
Test data management a case study Presented at SiGISTTest data management a case study Presented at SiGIST
Test data management a case study Presented at SiGIST
 
ISTQB CTAL - Test Analyst
ISTQB CTAL - Test AnalystISTQB CTAL - Test Analyst
ISTQB CTAL - Test Analyst
 
Longformer: The Long-Document Transformer
Longformer: The Long-Document Transformer Longformer: The Long-Document Transformer
Longformer: The Long-Document Transformer
 
Micro Frontends mit Web Components.pdf
Micro Frontends mit Web Components.pdfMicro Frontends mit Web Components.pdf
Micro Frontends mit Web Components.pdf
 
Six Simple Steps to Service Level Objectives (SLOs)
Six Simple Steps to Service Level Objectives (SLOs)Six Simple Steps to Service Level Objectives (SLOs)
Six Simple Steps to Service Level Objectives (SLOs)
 

Mehr von Jonathas Magalhães

Enhancing the Status Message Question Asking Process on Facebook
Enhancing the Status Message Question Asking Process on FacebookEnhancing the Status Message Question Asking Process on Facebook
Enhancing the Status Message Question Asking Process on FacebookJonathas Magalhães
 
Recommending Scientific Papers: Investigating the User Curriculum
Recommending Scientific Papers: Investigating the User CurriculumRecommending Scientific Papers: Investigating the User Curriculum
Recommending Scientific Papers: Investigating the User CurriculumJonathas Magalhães
 
Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações
Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e AplicaçõesSistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações
Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e AplicaçõesJonathas Magalhães
 
An Ontology Based Approach for Sharing Distributed Educational
An Ontology Based Approach for Sharing Distributed EducationalAn Ontology Based Approach for Sharing Distributed Educational
An Ontology Based Approach for Sharing Distributed EducationalJonathas Magalhães
 
A Recommender System for Predicting User Engagement in Twitter
A Recommender System for Predicting User Engagement in TwitterA Recommender System for Predicting User Engagement in Twitter
A Recommender System for Predicting User Engagement in TwitterJonathas Magalhães
 
Social Query: A Query Routing System for Twitter
Social Query: A Query Routing System for TwitterSocial Query: A Query Routing System for Twitter
Social Query: A Query Routing System for TwitterJonathas Magalhães
 
A Query Routing Model to Rank Expertcandidates on Twitter
A Query Routing Model to Rank Expertcandidates on TwitterA Query Routing Model to Rank Expertcandidates on Twitter
A Query Routing Model to Rank Expertcandidates on TwitterJonathas Magalhães
 
Predicting Potential Responders in Twitter: A Query Routing Algorithm
Predicting Potential Responders in Twitter: A Query Routing AlgorithmPredicting Potential Responders in Twitter: A Query Routing Algorithm
Predicting Potential Responders in Twitter: A Query Routing AlgorithmJonathas Magalhães
 
An Open and Inspectable Learner Modeling with a Negotiation Mechanism to Solv...
An Open and Inspectable Learner Modeling with a Negotiation Mechanism to Solv...An Open and Inspectable Learner Modeling with a Negotiation Mechanism to Solv...
An Open and Inspectable Learner Modeling with a Negotiation Mechanism to Solv...Jonathas Magalhães
 
Improving a Recommender System Through Integration of User Profiles: a Semant...
Improving a Recommender System Through Integration of User Profiles: a Semant...Improving a Recommender System Through Integration of User Profiles: a Semant...
Improving a Recommender System Through Integration of User Profiles: a Semant...Jonathas Magalhães
 

Mehr von Jonathas Magalhães (13)

Enhancing the Status Message Question Asking Process on Facebook
Enhancing the Status Message Question Asking Process on FacebookEnhancing the Status Message Question Asking Process on Facebook
Enhancing the Status Message Question Asking Process on Facebook
 
Recommending Scientific Papers: Investigating the User Curriculum
Recommending Scientific Papers: Investigating the User CurriculumRecommending Scientific Papers: Investigating the User Curriculum
Recommending Scientific Papers: Investigating the User Curriculum
 
Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações
Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e AplicaçõesSistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações
Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações
 
Redes Bayesianas
Redes BayesianasRedes Bayesianas
Redes Bayesianas
 
Probabilidade
ProbabilidadeProbabilidade
Probabilidade
 
An Ontology Based Approach for Sharing Distributed Educational
An Ontology Based Approach for Sharing Distributed EducationalAn Ontology Based Approach for Sharing Distributed Educational
An Ontology Based Approach for Sharing Distributed Educational
 
A Recommender System for Predicting User Engagement in Twitter
A Recommender System for Predicting User Engagement in TwitterA Recommender System for Predicting User Engagement in Twitter
A Recommender System for Predicting User Engagement in Twitter
 
Social Query: A Query Routing System for Twitter
Social Query: A Query Routing System for TwitterSocial Query: A Query Routing System for Twitter
Social Query: A Query Routing System for Twitter
 
A Query Routing Model to Rank Expertcandidates on Twitter
A Query Routing Model to Rank Expertcandidates on TwitterA Query Routing Model to Rank Expertcandidates on Twitter
A Query Routing Model to Rank Expertcandidates on Twitter
 
Naive Bayes
Naive BayesNaive Bayes
Naive Bayes
 
Predicting Potential Responders in Twitter: A Query Routing Algorithm
Predicting Potential Responders in Twitter: A Query Routing AlgorithmPredicting Potential Responders in Twitter: A Query Routing Algorithm
Predicting Potential Responders in Twitter: A Query Routing Algorithm
 
An Open and Inspectable Learner Modeling with a Negotiation Mechanism to Solv...
An Open and Inspectable Learner Modeling with a Negotiation Mechanism to Solv...An Open and Inspectable Learner Modeling with a Negotiation Mechanism to Solv...
An Open and Inspectable Learner Modeling with a Negotiation Mechanism to Solv...
 
Improving a Recommender System Through Integration of User Profiles: a Semant...
Improving a Recommender System Through Integration of User Profiles: a Semant...Improving a Recommender System Through Integration of User Profiles: a Semant...
Improving a Recommender System Through Integration of User Profiles: a Semant...
 

KNN K-Nearest Neighbors Algorithm Explained

  • 1. Introdu¸˜o ca Algoritmo Pontos Importantes UFAL - Universidade Federal de Alagoas UFAL - Instituto de Computa¸˜o ca K-Vizinhos Mais Pr´ximos o Jonathas Magalh˜es a jonathas@ic.ufal.br Magalh˜es, J.J. a IA – 2013 1
  • 2. Introdu¸˜o ca Algoritmo Pontos Importantes K-Vizinhos mais Pr´ximos o Aprendizado baseado em instˆncias: a Aprendizado: armazenar todos as instˆncias de treinamento; a Classifica¸˜o: descobrir a qual classe uma nova instˆncia pertence. ca a T´cnica simples e intuitiva. e Magalh˜es, J.J. a IA – 2013 2
  • 3. Introdu¸˜o ca Algoritmo Pontos Importantes K-Vizinhos Mais Pr´ximos – Exemplo o Table: Base de dados contendo informa¸˜es de alunos. co x1 : Tempo de utiliza¸˜o ca x2 : N´mero postagens u y : Passou na disciplina 2 4 N˜o a 3 6 N˜o a 4 8 N˜o a 4 4 N˜o a 5 7 N˜o a 6 5 N˜o a 6 6 Sim 6 5 Sim 7 7 Sim 8 5 Sim 8 6 Sim 10 10 Sim Magalh˜es, J.J. a IA – 2013 3
  • 4. Introdu¸˜o ca Algoritmo Pontos Importantes K-Vizinhos Mais Pr´ximos o Dados dos alunos dispostos graficamente (em azul, os alunos que passaram, em vermelho, os alunos que n˜o passaram). a Magalh˜es, J.J. a IA – 2013 4
  • 5. Introdu¸˜o ca Algoritmo Pontos Importantes K-Vizinhos Mais Pr´ximos o Como classificar um novo registro (em verde)? (postagens = 6 e tempo = 7, R(6, 7)) Magalh˜es, J.J. a IA – 2013 5
  • 6. Introdu¸˜o ca Algoritmo Pontos Importantes K-Vizinhos Mais Pr´ximos o Passo 1: Calcular a distˆncia do novo registro a cada um dos registros a existentes. A A B B Dados dois pontos, A(x1 ...xn ) e B(x1 ...xn ); Distˆncia euclidiana quadrada: d(A, B) = n (xiA − xiB )2 . a i=1 x1 : utiliza¸˜o ca x2 : postagens Distˆncia para o (6, 7) a 2 4 (2 − 6)2 + (4 − 7)2 = 25 3 6 10 4 8 5 4 4 13 5 7 1 6 5 4 6 6 1 6 5 4 7 7 1 8 5 8 8 6 5 10 10 25 Magalh˜es, J.J. a IA – 2013 6
  • 7. Introdu¸˜o ca Algoritmo Pontos Importantes K-Vizinhos Mais Pr´ximos o Passo 2: Identifica¸˜o dos k registros da base de referˆncia que ca e apresentaram menor distˆncia em rela¸˜o ao novo registro. (Para a ca k = 3) x1 : utiliza¸˜o ca x2 : postagens Distˆncia para o (6, 7) a KNN 2 4 25 3 6 10 4 8 5 4 4 13 5 7 1 6 5 4 6 6 1 6 5 4 7 7 1 8 5 8 8 6 5 10 10 25 Magalh˜es, J.J. a IA – 2013 7
  • 8. Introdu¸˜o ca Algoritmo Pontos Importantes K-Vizinhos Mais Pr´ximos o Magalh˜es, J.J. a IA – 2013 8
  • 9. Introdu¸˜o ca Algoritmo Pontos Importantes K-Vizinhos Mais Pr´ximos o Logo, a nova instˆncia ´ classificada como sendo um aluno que a e passou/passar´ na disciplina. a Magalh˜es, J.J. a IA – 2013 9
  • 10. Introdu¸˜o ca Algoritmo Pontos Importantes K-Vizinhos mais Pr´ximos o Normaliza¸˜o dos dados; ca Tratando empates; Qual valor para k utilizar? Fuzzy KNN. Magalh˜es, J.J. a IA – 2013 10
  • 11. Introdu¸˜o ca Algoritmo Pontos Importantes Perguntas? Magalh˜es, J.J. a IA – 2013 11