preprocessing & knn