|
10 | 10 | from sklearn.utils.testing import assert_raises_regexp |
11 | 11 | from sklearn.utils.testing import assert_raise_message |
12 | 12 | from sklearn.utils.testing import assert_greater |
| 13 | +from sklearn.utils.testing import assert_warns_message |
13 | 14 | from sklearn.metrics.cluster import silhouette_score |
14 | 15 | from sklearn.metrics.cluster import silhouette_samples |
15 | 16 | from sklearn.metrics import pairwise_distances |
| 17 | +from sklearn.metrics.cluster import calinski_harabasz_score |
16 | 18 | from sklearn.metrics.cluster import calinski_harabaz_score |
17 | 19 | from sklearn.metrics.cluster import davies_bouldin_score |
18 | 20 |
|
@@ -185,25 +187,34 @@ def assert_raises_on_all_points_same_cluster(func): |
185 | 187 | rng.rand(10, 2), np.arange(10)) |
186 | 188 |
|
187 | 189 |
|
188 | | -def test_calinski_harabaz_score(): |
189 | | - assert_raises_on_only_one_label(calinski_harabaz_score) |
| 190 | +def test_calinski_harabasz_score(): |
| 191 | + assert_raises_on_only_one_label(calinski_harabasz_score) |
190 | 192 |
|
191 | | - assert_raises_on_all_points_same_cluster(calinski_harabaz_score) |
| 193 | + assert_raises_on_all_points_same_cluster(calinski_harabasz_score) |
192 | 194 |
|
193 | 195 | # Assert the value is 1. when all samples are equals |
194 | | - assert_equal(1., calinski_harabaz_score(np.ones((10, 2)), |
195 | | - [0] * 5 + [1] * 5)) |
| 196 | + assert_equal(1., calinski_harabasz_score(np.ones((10, 2)), |
| 197 | + [0] * 5 + [1] * 5)) |
196 | 198 |
|
197 | 199 | # Assert the value is 0. when all the mean cluster are equal |
198 | | - assert_equal(0., calinski_harabaz_score([[-1, -1], [1, 1]] * 10, |
199 | | - [0] * 10 + [1] * 10)) |
| 200 | + assert_equal(0., calinski_harabasz_score([[-1, -1], [1, 1]] * 10, |
| 201 | + [0] * 10 + [1] * 10)) |
200 | 202 |
|
201 | 203 | # General case (with non numpy arrays) |
202 | 204 | X = ([[0, 0], [1, 1]] * 5 + [[3, 3], [4, 4]] * 5 + |
203 | 205 | [[0, 4], [1, 3]] * 5 + [[3, 1], [4, 0]] * 5) |
204 | 206 | labels = [0] * 10 + [1] * 10 + [2] * 10 + [3] * 10 |
205 | | - pytest.approx(calinski_harabaz_score(X, labels), |
206 | | - 45 * (40 - 4) / (5 * (4 - 1))) |
| 207 | + pytest.approx(calinski_harabasz_score(X, labels), |
| 208 | + 45 * (40 - 4) / (5 * (4 - 1))) |
| 209 | + |
| 210 | + |
| 211 | +def test_deprecated_calinski_harabaz_score(): |
| 212 | + depr_message = ("Function 'calinski_harabaz_score' has been renamed " |
| 213 | + "to 'calinski_harabasz_score' " |
| 214 | + "and will be removed in version 0.23.") |
| 215 | + assert_warns_message(DeprecationWarning, depr_message, |
| 216 | + calinski_harabaz_score, |
| 217 | + np.ones((10, 2)), [0] * 5 + [1] * 5) |
207 | 218 |
|
208 | 219 |
|
209 | 220 | def test_davies_bouldin_score(): |
|
0 commit comments