def test_kBestSuggestions(self): kND = KNearestDatasets() kND.fit(pd.DataFrame([self.krvskp, self.labor]), self.runs.loc[:, [233, 234]]) neighbor = kND.kBestSuggestions(self.anneal, 1) self.assertEqual([(233, 1.8229893712531495, 1)], neighbor) neighbors = kND.kBestSuggestions(self.anneal, 2) self.assertEqual([(233, 1.8229893712531495, 1), (234, 2.2679197196559415, 2)], neighbors) neighbors = kND.kBestSuggestions(self.anneal, -1) self.assertEqual([(233, 1.8229893712531495, 1), (234, 2.2679197196559415, 2)], neighbors) self.assertRaises(ValueError, kND.kBestSuggestions, self.anneal, 0) self.assertRaises(ValueError, kND.kBestSuggestions, self.anneal, -2)
def test_random_metric(self): kND = KNearestDatasets(metric=get_random_metric(random_state=1)) kND.fit(pd.DataFrame([self.krvskp, self.labor]), self.runs.loc[:, [233, 234]]) distances = [] for i in range(20): neighbor = kND.kBestSuggestions(self.anneal, 1) distances.append(neighbor[0][1]) self.assertEqual(len(np.unique(distances)), 20)
def test_kBestSuggestions(self): kND = KNearestDatasets() kND.fit(pd.DataFrame([self.krvskp, self.labor]), self.runs.loc[:,[233, 234]]) neighbor = kND.kBestSuggestions(self.anneal, 1) self.assertEqual([(233, 1.8229893712531495, 1)], neighbor) neighbors = kND.kBestSuggestions(self.anneal, 2) self.assertEqual([(233, 1.8229893712531495, 1), (234, 2.2679197196559415, 2)], neighbors) neighbors = kND.kBestSuggestions(self.anneal, -1) self.assertEqual([(233, 1.8229893712531495, 1), (234, 2.2679197196559415, 2)], neighbors) self.assertRaises(ValueError, kND.kBestSuggestions, self.anneal, 0) self.assertRaises(ValueError, kND.kBestSuggestions, self.anneal, -2)
def test_random_metric(self): kND = KNearestDatasets(metric=get_random_metric(random_state=1)) kND.fit(pd.DataFrame([self.krvskp, self.labor]), self.runs.loc[:,[233, 234]]) distances = [] for i in range(20): neighbor = kND.kBestSuggestions(self.anneal, 1) distances.append(neighbor[0][1]) self.assertEqual(len(np.unique(distances)), 20)
def test_kBestSuggestions(self): kND = KNearestDatasets() kND.fit(pd.DataFrame([self.krvskp, self.labor]), self.runs.loc[:, [233, 234]]) neighbor = kND.kBestSuggestions(self.anneal, 1) np.testing.assert_array_almost_equal( [(233, 3.8320802803440586, 1)], neighbor, ) neighbors = kND.kBestSuggestions(self.anneal, 2) np.testing.assert_array_almost_equal( [(233, 3.8320802803440586, 1), (234, 4.367919719655942, 2)], neighbors, ) neighbors = kND.kBestSuggestions(self.anneal, -1) np.testing.assert_array_almost_equal( [(233, 3.8320802803440586, 1), (234, 4.367919719655942, 2)], neighbors, ) self.assertRaises(ValueError, kND.kBestSuggestions, self.anneal, 0) self.assertRaises(ValueError, kND.kBestSuggestions, self.anneal, -2)