def test_kmeans_breastcancer(self): # python -m unittest tests_clustering.Tests_Clustering.test_kmeans_breastcancer from discomll.clustering import kmeans from sklearn.cluster import KMeans max_iter = 10 clusters = 2 random_seed = 2 x_train, _, x_test, _ = datasets.breastcancer_disc() train_data, test_data = datasets.breastcancer_disc_discomll() kmeans2 = KMeans(n_clusters=clusters, max_iter=max_iter, n_init=1, random_state=random_seed).fit(x_train) centroids1 = kmeans2.cluster_centers_ predictions1 = kmeans2.predict(x_test) centroids_url = kmeans.fit(train_data, n_clusters=clusters, max_iterations=max_iter, random_state=random_seed) predictions_url = kmeans.predict(test_data, centroids_url) predictions2 = [v[0] for k, v in result_iterator(predictions_url)] centroids2 = [ v["x"] for k, v in result_iterator(centroids_url["kmeans_fitmodel"]) ] centroids2[0], centroids2[1] = centroids2[1], centroids2[0] self.assertTrue(np.allclose(centroids1, centroids2))
def test_kmeans_breastcancer(self): # python -m unittest tests_clustering.Tests_Clustering.test_kmeans_breastcancer from discomll.clustering import kmeans from sklearn.cluster import KMeans max_iter = 10 clusters = 2 random_seed = 2 x_train, _, x_test, _ = datasets.breastcancer_disc() train_data, test_data = datasets.breastcancer_disc_discomll() kmeans2 = KMeans(n_clusters=clusters, max_iter=max_iter, n_init=1, random_state=random_seed).fit(x_train) centroids1 = kmeans2.cluster_centers_ predictions1 = kmeans2.predict(x_test) centroids_url = kmeans.fit(train_data, n_clusters=clusters, max_iterations=max_iter, random_state=random_seed) predictions_url = kmeans.predict(test_data, centroids_url) predictions2 = [v[0] for k, v in result_iterator(predictions_url)] centroids2 = [v["x"] for k, v in result_iterator(centroids_url["kmeans_fitmodel"])] centroids2[0], centroids2[1] = centroids2[1], centroids2[0] self.assertTrue(np.allclose(centroids1, centroids2))
def test_naivebayes_breastcancer(self): # python -m unittest tests_classification.Tests_Classification.test_naivebayes_breastcancer from discomll.classification import naivebayes train_data1, test_data1 = datasets.breastcancer_disc_orange() train_data2, test_data2 = datasets.breastcancer_disc_discomll() for m in range(3): learner = Orange.classification.bayes.NaiveLearner(m=m) classifier = learner(train_data1) predictions1 = [classifier(inst, Orange.classification.Classifier.GetBoth) for inst in test_data1] predictions1_target = [v[0].value for v in predictions1] predictions1_probs = [v[1].values() for v in predictions1] fitmodel_url = naivebayes.fit(train_data2) predictions_url = naivebayes.predict(test_data2, fitmodel_url, m=m) predictions2_target = [] predictions2_probs = [] for k, v in result_iterator(predictions_url): predictions2_target.append(v[0]) predictions2_probs.append(v[1]) self.assertListEqual(predictions1_target, predictions2_target) self.assertTrue(np.allclose(predictions1_probs, predictions2_probs))
def test_naivebayes_breastcancer(self): # python -m unittest tests_classification.Tests_Classification.test_naivebayes_breastcancer from discomll.classification import naivebayes train_data1, test_data1 = datasets.breastcancer_disc_orange() train_data2, test_data2 = datasets.breastcancer_disc_discomll() for m in range(3): learner = Orange.classification.bayes.NaiveLearner(m=m) classifier = learner(train_data1) predictions1 = [classifier(inst, Orange.classification.Classifier.GetBoth) for inst in test_data1] predictions1_target = [v[0].value for v in predictions1] predictions1_probs = [v[1].values() for v in predictions1] fitmodel_url = naivebayes.fit(train_data2) predictions_url = naivebayes.predict(test_data2, fitmodel_url, m=m) predictions2_target = [] predictions2_probs = [] for k, v in result_iterator(predictions_url): predictions2_target.append(v[0]) predictions2_probs.append(v[1]) self.assertListEqual(predictions1_target, predictions2_target) self.assertTrue(np.allclose(predictions1_probs, predictions2_probs))