def test_predict_no_centroids1(): with pytest.raises(AttributeError): kmeans = MultiviewSphericalKMeans() kmeans.centroids_ = [None, None] view1 = np.random.random((10,11)) view2 = np.random.random((10,10)) kmeans.predict([view1, view2])
def test_predict_no_centroids2(): kmeans = MultiviewSphericalKMeans() with pytest.raises(ConvergenceWarning): view1 = np.array([[0, 1], [1, 0]]) view2 = np.array([[1, 0], [0, 1]]) v1_centroids = np.array([[0, 1],[1, 0]]) v2_centroids = np.array([[0, 1],[1, 0]]) centroids = [v1_centroids, v2_centroids] kmeans._final_centroids([view1, view2], centroids) with pytest.raises(AttributeError): kmeans.predict([view1, view2])
def test_predict_random_small(data_random): kmeans = MultiviewSphericalKMeans() 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_predict_not_fit(): with pytest.raises(NotFittedError): kmeans = MultiviewSphericalKMeans() view1 = np.random.random((10,11)) view2 = np.random.random((10,10)) kmeans.predict([view1, view2])