Github user orhankislal commented on a diff in the pull request:

    https://github.com/apache/madlib/pull/184#discussion_r144158923
  
    --- Diff: src/ports/postgres/modules/knn/test/knn.sql_in ---
    @@ -55,15 +71,23 @@ copy knn_test_data (id, "DATA") from stdin delimiter 
'|';
     6|{50,45}
     \.
     drop table if exists madlib_knn_result_classification;
    -select 
knn('"KNN_TRAIN_DATA"','"DATA"','label','knn_test_data','"DATA"','id','madlib_knn_result_classification','c',3);
    +select 
knn('knn_train_data','data','id','label','knn_test_data','data','id','madlib_knn_result_classification',3,False);
     select assert(array_agg(prediction order by id)='{1,1,0,1,0,0}', 'Wrong 
output in classification with k=3') from madlib_knn_result_classification;
     
    +drop table if exists madlib_knn_result_classification;
    +select 
knn('knn_train_data','data','id','label','knn_test_data','data','id','madlib_knn_result_classification',3,True);
    +select assert((k_nearest_neighbours )='{1,2,3}', 'Wrong output in 
classification with k=3') from madlib_knn_result_classification where id = 1;
    --- End diff --
    
    Good catch! You can try the following to make sure the array order is 
fixed: `select array_agg(x) from (select unnest(k_nearest_neighbours) as x from 
madlib_knn_result_classification where id = 1 order by x asc) y;`


---

Reply via email to