k-nearest neighbors regression

Transcription

k-nearest neighbors regression
k-nearest neighbors regression
Niina Haataja
University of Tampere
30.4.2015
Introduction
●
●
●
k-nearest neighbors algorithm (k-NN) is
used for both classification and regression
It's a simple non-parametric method and
therefore easy to use withouth checking
any pre-assumptions of the variables
The independent variables (predictor) and
dependent variable (response) can be
either continuous or categorical
2
Method in a nutshell
●
●
●
The predicted response value is the average
of the values of its k nearest neighbors
Neighborhood is calculated from the
predictors
k is a parameter chosen by the statistician;
the best choice depends on the data
–
Larger values of k reduce the effect of noise on
the classification, but make boundaries between
classes less distinct
3
Finding the neighbors
●
●
●
●
There are several ways to calculate the
distances
For categorical variables, you can use for
example the Hamming Distance
For continuous variables there are for
example Euclidean, Manhattan,
Minkowski and Mahalabonis distances.
Let's have a closer look at the Euclidean
distance...
4
Euclidean distance
●
Euclidean distance is the "ordinary" (i.e
straight line) distance between two points
in Euclidean space
5
The possibility of weighting
●
●
●
Since k-NN predictions are based on the intuitive
assumption that objects close in distance are
potentially similar, it makes good sense to
discriminate between the k-nearest neighbors
when making predictions
Nearer neighbors contribute more to the average
(=predicted value) than the more distant ones
For a simple example, give each neighbor a
weight of 1/d, where d is the distance to the
neighbor
6
Example
●
●
Let's consider a completely made up data
set of maths exam score, physics exam
score and activity percent (how much
home work student has made and how
often he/she is present in the class)
Then we try to predict the maths exam
score for a student who is 60 percent
active and got 140 points from the physics
exam.
7
Example data set
Maths score
Physics score
Activity percent
150
160
85
103
101
30
168
154
72
129
140
56
160
180
80
189
164
65
106
112
25
175
160
62
149
158
70
138
107
28
166
180
86
140
125
52
112
150
49
161
134
31
8
Example part A
●
●
Let's try to predict maths score first just by
the physics score, and after that, add the
activity percent as a predictor as well
Distance D is calculated as the Euclidean
distance
9
Distance
Maths score
Physics score
Distance
150
160
sqrt((160-140)^2) = 20
103
101
sqrt((101-140)^2) = 39
168
154
14
129
140
0
160
180
40
189
164
24
106
112
28
175
160
20
149
158
18
138
107
33
166
180
40
140
125
15
112
150
10
161
134
6
10
Predicting
●
●
When k=1, we predict the maths score
with just the closest neighbor. Then the
predicted value would be 129.
When k=3, we predict the maths score
with the average of the three closest
neighbors:
–
(129 + 161 + 112) / 3 = 134
11
Example part B
●
Now we have also the activity
percent as a predictor and we need
calculate new distances.
12
Distance
Maths score
Physics score
Activity percent Distance
150
160
85
sqrt((160-140)^2 + (85-60)^2) = 32,0
103
101
30
sqrt((101-140)^2 + (30-60)^2) = 49,2
168
154
72
18,4
129
140
56
4,0
160
180
80
44,7
189
164
65
24,5
106
112
25
44,8
175
160
62
20,1
149
158
70
20,6
138
107
28
46,0
166
180
86
47,7
140
125
52
17,0
112
150
49
14,9
161
134
31
29,6
13
Predicting
●
●
When k=1, we predict the maths score
with just the closest neighbor. Then the
predicted value would be 129 (same as
before).
When k=3, we predict the maths score
with the average of the three closest
neighbors:
–
●
(129 + 112 + 140) / 3 = 127
When k=5, we use the top five neighbors:
–
(129 + 112 + 140 + 168 + 175) / 5 = 145
14
Exercise for you
●
●
●
●
Predict the maths score for a student
who is 75 percent active and got 180
from the physics exam.
Use k=1, k=3 and k=5.
What do you think about the value of k;
what makes a good prediction?
When would you use weights on the
predictors?
15
Sources
●
●
k-NN has been used for decades,
so it's easy to find more information
For example, have a look at:
–
Altman, N. S. (1992). "An
introduction to kernel and nearestneighbor nonparametric regression".
The American Statistician 46 (3):
175–185.
16
Thank you!
17