Data Mining Classification Alternative Techniques Lecture Notes for























- Slides: 23
Data Mining Classification: Alternative Techniques Lecture Notes for Chapter 5 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 1
Nearest Neighbor Classifiers l Basic idea: – If it walks like a duck, quacks like a duck, then it’s probably a duck Compute Distance Training Records © Tan, Steinbach, Kumar Test Record Choose k of the “nearest” records Introduction to Data Mining 4/18/2004 2
Nearest-Neighbor Classifiers l Requires three things – The set of stored records – Distance Metric to compute distance between records – The value of k, the number of nearest neighbors to retrieve l To classify an unknown record: – Compute distance to other training records – Identify k nearest neighbors – Use class labels of nearest neighbors to determine the class label of unknown record (e. g. , by taking majority vote) © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 3
Definition of Nearest Neighbor K-nearest neighbors of a record x are data points that have the k smallest distance to x © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 4
KNN https: //lettier. com/projects/knearestneighbors/ © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 5
Nearest Neighbor Classification l Compute distance between two points: – Euclidean distance l Determine the class from nearest neighbor list – take the majority vote of class labels among the k-nearest neighbors – Weigh the vote according to distance u weight factor, w = 1/d 2 © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 6
Nearest Neighbor Classification… l Choosing the value of k: – If k is too small, sensitive to noise points – If k is too large, neighborhood may include points from other classes © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 7
© Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 8
© Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 9
© Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 10
l Some of the figures in this presentation are taken from "An Introduction to Statistical Learning, with applications in R" (Springer, 2013) with permission from the authors: G. James, D. Witten, T. Hastie and R. Tibshirani © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 11
Nearest neighbor Classification… l k-NN classifiers are lazy learners – It does not build models explicitly – Unlike eager learners such as decision tree induction and rule-based systems – Classifying unknown records are relatively expensive © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 12
Example +-+- ++++ © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 13
A real-world problem l https: //www. youtube. com/watch? v=1 Csmp_KWMj. Y &feature=emb_logo © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 14
Bayes Classifier l l A probabilistic framework for solving classification problems Bayes theorem: © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 15
Example Let X represents the team hosting the match, {0, 1} Let Y represents the winner of the match, {0, 1} P(Y=0|X=1) = 0. 4262 P(Y=1|X=1) = 0. 5738>0. 4262, thus team 1 has a better chance to winner the game © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 16
Bayesian Classifiers l Consider each attribute and class label as random variables l Given a record with attributes (A 1, A 2, …, An) – Goal is to predict class C – Specifically, we want to find the value of C that maximizes P(C| A 1, A 2, …, An ) l Can we estimate P(C| A 1, A 2, …, An ) directly from data? © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 17
Bayesian Classifiers l Approach: – compute the posterior probability P(C | A 1, A 2, …, An) for all values of C using the Bayes theorem – Choose value of C that maximizes P(C | A 1, A 2, …, An) – Equivalent to choosing value of C that maximizes P(A 1, A 2, …, An|C) P(C) l How to estimate P(A 1, A 2, …, An | C )? © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 18
Naïve Bayes Classifier l Assume independence among attributes Ai when class is given: – P(A 1, A 2, …, An |C) = P(A 1| Cj) P(A 2| Cj)… P(An| Cj) – Can estimate P(Ai| Cj) for all Ai and Cj. – New point is classified to Cj if P(Cj) P(Ai| Cj) is maximal. © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 19
Naïve Bayes Classifier l Calculate the prior probability for each class l Find Likelihood probability (class-conditional probability) with each attribute for each class l Calculate posterior probability. © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 20
How to Estimate Probabilities from Data? l Class: P(C) = Nc/N – e. g. , P(No) = 7/10, P(Yes) = 3/10 l For discrete attributes: P(Ai | Ck) = |Aik|/ Nc – where |Aik| is number of instances having attribute Ai and belongs to class Ck – Examples: P(Status=Married|No) = 4/7 P(Refund=Yes|Yes)=0 © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 21
Example of Naïve Bayes Classifier Given a Test Record: l P(X|Class=No) = P(Refund=No|Class=No) P(Married| Class=No) = 4/7 = 0. 0024 l P(X|Class=Yes) = P(Refund=No| Class=Yes) P(Married| Class=Yes) =1 0 =0 Since P(X|No)P(No) > P(X|Yes)P(Yes) Therefore P(No|X) > P(Yes|X) => Class = No © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 22
Example of Naïve Bayes Classifier A: attributes M: mammals N: non-mammals P(A|M)P(M) > P(A|N)P(N) => Mammals © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 24