def test_too_many_neighbors_warns(): u = UMAP(a=1.2, b=1.75, n_neighbors=2000, n_epochs=11, init="random") u.fit( nn_data[:100,] ) assert_equal(u._a, 1.2) assert_equal(u._b, 1.75)
def test_umap_fit_params(): # x and y are required to be the same length u = UMAP() x = np.random.uniform(0, 1, (256, 10)) y = np.random.randint(10, size=(257,)) assert_raises(ValueError, u.fit, x, y) u = UMAP() x = np.random.uniform(0, 1, (256, 10)) y = np.random.randint(10, size=(255,)) assert_raises(ValueError, u.fit, x, y) u = UMAP() x = np.random.uniform(0, 1, (256, 10)) assert_raises(ValueError, u.fit, x, []) u = UMAP() x = np.random.uniform(0, 1, (256, 10)) y = np.random.randint(10, size=(256,)) res = u.fit(x, y) assert isinstance(res, UMAP) u = UMAP() x = np.random.uniform(0, 1, (256, 10)) res = u.fit(x) assert isinstance(res, UMAP)
def test_umap_bad_parameters(): u = UMAP(set_op_mix_ratio=-1.0) assert_raises(ValueError, u.fit, nn_data) u = UMAP(set_op_mix_ratio=1.5) assert_raises(ValueError, u.fit, nn_data) u = UMAP(min_dist=2.0) assert_raises(ValueError, u.fit, nn_data) u = UMAP(min_dist=-1) assert_raises(ValueError, u.fit, nn_data) u = UMAP(n_components=-1) assert_raises(ValueError, u.fit, nn_data) u = UMAP(n_components=1.5) assert_raises(ValueError, u.fit, nn_data) u = UMAP(n_neighbors=0.5) assert_raises(ValueError, u.fit, nn_data) u = UMAP(n_neighbors=-1) assert_raises(ValueError, u.fit, nn_data) u = UMAP(metric=45) assert_raises(ValueError, u.fit, nn_data) u = UMAP(learning_rate=-1.5) assert_raises(ValueError, u.fit, nn_data) u = UMAP(repulsion_strength=-0.5) assert_raises(ValueError, u.fit, nn_data) u = UMAP(negative_sample_rate=-1) assert_raises(ValueError, u.fit, nn_data) u = UMAP(init="foobar") assert_raises(ValueError, u.fit, nn_data) u = UMAP(init=42) assert_raises(ValueError, u.fit, nn_data) u = UMAP(init=np.array([[0, 0, 0], [0, 0, 0]])) assert_raises(ValueError, u.fit, nn_data) u = UMAP(n_epochs=-2) assert_raises(ValueError, u.fit, nn_data) u = UMAP(target_n_neighbors=1) assert_raises(ValueError, u.fit, nn_data) u = UMAP(a=1.2, b=1.75, n_neighbors=2000) u.fit(nn_data) assert_equal(u._a, 1.2) assert_equal(u._b, 1.75) # assert_raises(ValueError, u.fit, nn_data) we simply warn now assert_raises(ValueError, nearest_neighbors, nn_data, 10, 42, {}, False, np.random) assert_raises( ValueError, nearest_neighbors, sparse_nn_data, 10, "seuclidean", {}, False, np.random, )