The K-Nearest Neighbors Algorithm is one of the simplest algorithms used in machine learning. However, it is often called the lazy learner. The reason for this is that when you provide all the training-related data to this algorithm, it does no work to train itself. Instead of learning discriminative functions, it memorized the whole training dataset. With every addition of a new data point, this algorithm searches for its nearest neighbors in the entire training set, which invariably increases the time it takes to make predictions. This often makes it computationally expensive and very time-consuming.