|
36 | 36 |
|
37 | 37 |
|
38 | 38 | function MMI.clean!(m::KMeans)
|
39 |
| - warning = "" |
| 39 | + warning = String[] |
40 | 40 |
|
41 | 41 | if !(m.algo ∈ keys(MLJDICT))
|
42 |
| - warning *= "Unsupported KMeans variant, Defaulting to Hamerly algorithm." |
| 42 | + push!(warning, "Unsupported KMeans variant. Defaulting to Hamerly algorithm.") |
43 | 43 | m.algo = :Hamerly
|
| 44 | + end |
44 | 45 |
|
45 |
| - elseif m.k_init != "k-means++" |
46 |
| - warning *= "Only `k-means++` or random seeding algorithms are supported. Defaulting to k-means++ seeding." |
| 46 | + if !(m.k_init ∈ ["k-means++", "random"]) |
| 47 | + push!(warning, "Only \"k-means++\" or \"random\" seeding algorithms are supported. Defaulting to k-means++ seeding.") |
47 | 48 | m.k_init = "kmeans++"
|
| 49 | + end |
48 | 50 |
|
49 |
| - elseif m.k < 1 |
50 |
| - warning *= "Number of clusters must be greater than 0. Defaulting to 3 clusters." |
| 51 | + if m.k < 1 |
| 52 | + push!(warning, "Number of clusters must be greater than 0. Defaulting to 3 clusters.") |
51 | 53 | m.k = 3
|
| 54 | + end |
52 | 55 |
|
53 |
| - elseif !(m.tol < 1.0) |
54 |
| - warning *= "Tolerance level must be less than 1. Defaulting to tol of 1e-6." |
| 56 | + if !(m.tol < 1.0) |
| 57 | + push!(warning, "Tolerance level must be less than 1. Defaulting to tol of 1e-6.") |
55 | 58 | m.tol = 1e-6
|
| 59 | + end |
56 | 60 |
|
57 |
| - elseif !(m.max_iters > 0) |
58 |
| - warning *= "Number of permitted iterations must be greater than 0. Defaulting to 300 iterations." |
| 61 | + if !(m.max_iters > 0) |
| 62 | + push!(warning, "Number of permitted iterations must be greater than 0. Defaulting to 300 iterations.") |
59 | 63 | m.max_iters = 300
|
| 64 | + end |
60 | 65 |
|
61 |
| - elseif !(m.threads > 0) |
62 |
| - warning *= "Number of threads must be at least 1. Defaulting to all threads available." |
| 66 | + if !(m.threads > 0) |
| 67 | + push!(warning, "Number of threads must be at least 1. Defaulting to all threads available.") |
63 | 68 | m.threads = Threads.nthreads()
|
| 69 | + end |
64 | 70 |
|
65 |
| - elseif !(m.verbosity ∈ (0, 1)) |
66 |
| - warning *= "Verbosity must be either 0 (no info) or 1 (info requested). Defaulting to 1." |
| 71 | + if !(m.verbosity ∈ (0, 1)) |
| 72 | + push!(warning, "Verbosity must be either 0 (no info) or 1 (info requested). Defaulting to 1.") |
67 | 73 | m.verbosity = 1
|
68 | 74 | end
|
69 |
| - return warning |
| 75 | + |
| 76 | + return join(warning, "\n") |
70 | 77 | end
|
71 | 78 |
|
72 | 79 |
|
|
0 commit comments