Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
4946321 | Knowledge-Based Systems | 2017 | 38 Pages |
Abstract
In this work we provide a new solution to perform an exact k-nearest neighbor classification based on Spark. We take advantage of its in-memory operations to classify big amounts of unseen cases against a big training dataset. The map phase computes the k-nearest neighbors in different training data splits. Afterwards, multiple reducers process the definitive neighbors from the list obtained in the map phase. The key point of this proposal lies on the management of the test set, keeping it in memory when possible. Otherwise, it is split into a minimum number of pieces, applying a MapReduce per chunk, using the caching skills of Spark to reuse the previously partitioned training set. In our experiments we study the differences between Hadoop and Spark implementations with datasets up to 11 million instances, showing the scaling-up capabilities of the proposed approach. As a result of this work an open-source Spark package is available.
Related Topics
Physical Sciences and Engineering
Computer Science
Artificial Intelligence
Authors
Jesus Maillo, Sergio RamÃrez, Isaac Triguero, Francisco Herrera,