@@ -23,7 +23,18 @@ using MLJBase
2323end
2424
2525
26- @testset " Test model fitting" begin
26+ @testset " Test model fitting verbosity" begin
27+ Random. seed! (2020 )
28+ X = table ([1 2 ; 1 4 ; 1 0 ; 10 2 ; 10 4 ; 10 0 ])
29+ model = ParallelKMeans. KMeans (k= 2 , max_iters= 1 , verbosity= 1 )
30+ results = @capture_out fit (model, X)
31+
32+ @test results == " Iteration 1: Jclust = 28.0\n "
33+ end
34+
35+
36+ @testset " Test Lloyd model fitting" begin
37+ Random. seed! (2020 )
2738 X = table ([1 2 ; 1 4 ; 1 0 ; 10 2 ; 10 4 ; 10 0 ])
2839 model = ParallelKMeans. KMeans (k= 2 )
2940 results = fit (model, X)
3445end
3546
3647
37- @testset " Test fitted params" begin
48+ @testset " Test Hamerly model fitting" begin
49+ Random. seed! (2020 )
50+ X = table ([1 2 ; 1 4 ; 1 0 ; 10 2 ; 10 4 ; 10 0 ])
51+ model = ParallelKMeans. KMeans (algo= :Hamerly , k= 2 )
52+ results = fit (model, X)
53+
54+ @test results[2 ] == nothing
55+ @test results[end ]. converged == true
56+ @test results[end ]. totalcost == 16
57+ end
58+
59+
60+ @testset " Test Lloyd fitted params" begin
61+ Random. seed! (2020 )
3862 X = table ([1 2 ; 1 4 ; 1 0 ; 10 2 ; 10 4 ; 10 0 ])
3963 model = ParallelKMeans. KMeans (k= 2 )
4064 results = fit (model, X)
4165
4266 params = fitted_params (model, results)
4367 @test params. converged == true
4468 @test params. totalcost == 16
45-
4669end
4770
4871
49- @testset " Test transform" begin
72+ @testset " Test Hamerly fitted params" begin
73+ Random. seed! (2020 )
74+ X = table ([1 2 ; 1 4 ; 1 0 ; 10 2 ; 10 4 ; 10 0 ])
75+ model = ParallelKMeans. KMeans (algo= :Hamerly , k= 2 )
76+ results = fit (model, X)
77+
78+ params = fitted_params (model, results)
79+ @test params. converged == true
80+ @test params. totalcost == 16
81+ end
82+
83+
84+ @testset " Test Lloyd transform" begin
5085 Random. seed! (2020 )
5186 X = table ([1 2 ; 1 4 ; 1 0 ; 10 2 ; 10 4 ; 10 0 ])
5287 X_test = table ([10 1 ])
53-
88+
5489 # Train model using training data X
5590 model = ParallelKMeans. KMeans (k= 2 )
5691 results = fit (model, X)
6196end
6297
6398
99+ @testset " Test Hamerly transform" begin
100+ Random. seed! (2020 )
101+ X = table ([1 2 ; 1 4 ; 1 0 ; 10 2 ; 10 4 ; 10 0 ])
102+ X_test = table ([10 1 ])
103+
104+ # Train model using training data X
105+ model = ParallelKMeans. KMeans (algo= :Hamerly , k= 2 )
106+ results = fit (model, X)
107+
108+ # Use trained model to cluster new data X_test
109+ preds = transform (model, results, X_test)
110+ @test preds[:x1 ][1 ] == 2
111+ end
112+
64113end # end module
0 commit comments