add knn algorithm, numpy scipy usage