# Lazy vs Eager Learning

I wish to better understand the difference between lazy and eager learning. I am having difficulty conceptualising what the "abstraction" refers to between the two.

According to the text book I am reading it says, "The distinction between easy learners and lazy learners is based on when the algorithm abstracts from the data."

A lazy learner delays abstracting from the data until it is asked to make a prediction while an eager learner abstracts away from the data during training and uses this abstraction to make predictions rather than directly compare queries with instances in the dataset.

I understand that KNN algorithm loads all the data into memory so depending on the size of the dataset, the computing requirements could be enormous as well as the fact it's a non-parametric algorithm so there is no training to find parameters, the classification is done on a per query requirement??

• Pretty much, but don't forget that $k$ is a hyperparameter you can optimize. – Emre May 18 '17 at 6:07

Lazy learner:

1. Just store Data set without learning from it

2. Start classifying data when it receive Test data

3. So it takes less time learning and more time classifying data

Eager learner:

1. When it receive data set it starts classifying (learning)

2. Then it does not wait for test data to learn

3. So it takes long time learning and less time classifying data

## Hint : In supervised learning

Some examples are :

Lazy : K - Nearest Neighbour, Case - Based Reasoning

Eager : Decision Tree, Naive Bayes, Artificial Neural Networks

• It will be good if you can give some examples of lazy and eager learners. – rnso Dec 5 '18 at 17:11
• If you means by examples the algorithms .lazy :k-nearest neighbor, Case-based reasoning...Eager : Decision Tree, Naive Bayes, Artificial Neural Networks – EbraHim Eldesoki Dec 12 '18 at 15:58
• Good information. Thanks. Can be added to the answer above. – rnso Dec 13 '18 at 2:01
• is DBSCAN a lazy learner? – Nipun Sampath Jan 21 at 11:16
• @NipunSampath: Using the original algorithm it is a lazy learner. – Make42 Jul 2 at 13:23