def test_not_2_views(): with pytest.raises(ValueError): view1 = np.random.random((10, )) view2 = np.random.random((10, )) view3 = np.random.random((10, )) kmeans = MultiviewKMeans() kmeans.fit([view1, view2, view3])
def test_n_init_not_positive_int(): with pytest.raises(ValueError): kmeans = MultiviewKMeans(n_init=-1) kmeans.fit(data_small) with pytest.raises(ValueError): kmeans = MultiviewKMeans(n_init=0) kmeans.fit(data_small)
def test_init_not_2_views(data_small): with pytest.raises(ValueError): view1 = np.random.random((2, 8)) view2 = np.random.random((2, 9)) view3 = np.random.random((2, 9)) kmeans = MultiviewKMeans(init=[view1, view2]) kmeans.fit(data_small)
def test_max_iter_not_positive_int(data_small): with pytest.raises(ValueError): kmeans = MultiviewKMeans(max_iter=-1) kmeans.fit(data_small) with pytest.raises(ValueError): kmeans = MultiviewKMeans(max_iter=0) kmeans.fit(data_small)
def test_predict_random_small(data_random): kmeans = MultiviewKMeans() input_data = [ data_random['fit_data'][0][:2], data_random['fit_data'][1][:2] ] kmeans.fit(input_data) cluster_pred = kmeans.predict(data_random['test_data']) assert (data_random['n_test'] == cluster_pred.shape[0]) for cl in cluster_pred: assert (cl >= 0 and cl < data_random['n_clusters'])
def test_patience_not_nonnegative_int(data_small): with pytest.raises(ValueError): kmeans = MultiviewKMeans(patience=-1) kmeans.fit(data_small)
def test_samples_not_2D_2(): with pytest.raises(ValueError): view1 = np.random.random((10, )) view2 = np.random.random((10, )) kmeans = MultiviewKMeans() kmeans.fit([view1, view2])
def test_samples_not_list(): with pytest.raises(ValueError): view1 = 1 view2 = 3 kmeans = MultiviewKMeans() kmeans.fit([view1, view2])
def test_random_state_not_convertible(data_small): with pytest.raises(ValueError): kmeans = MultiviewKMeans(random_state='ab') kmeans.fit(data_small)
def test_tol_not_nonnegative_float(data_small): with pytest.raises(ValueError): kmeans = MultiviewKMeans(tol=-0.05) kmeans.fit(data_small)
def test_init_samples_not_2D_2(data_small): with pytest.raises(ValueError): view1 = np.random.random((2, )) view2 = np.random.random((2, )) kmeans = MultiviewKMeans(init=[view1, view2]) kmeans.fit(data_small)
def test_init_samples_not_list(data_small): with pytest.raises(ValueError): view1 = 1 view2 = 3 kmeans = MultiviewKMeans(init=[view1, view2]) kmeans.fit(data_small)
def test_init_clusters_not_same(data_small): with pytest.raises(ValueError): view1 = np.random.random((2, 8)) view2 = np.random.random((3, 9)) kmeans = MultiviewKMeans(init=[view1, view2]) kmeans.fit(data_small)
def test_not_init1(data_small): with pytest.raises(ValueError): kmeans = MultiviewKMeans(init='Not_Init') kmeans.fit(data_small)
def test_final_centroids_less_than_n_clusters(): with pytest.raises(ConvergenceWarning): kmeans = MultiviewKMeans(n_clusters=3, random_state=RANDOM_SEED) view1 = np.random.random((2, 11)) view2 = np.random.random((2, 10)) kmeans.fit([view1, view2])