def test_loadsave(self): x = Classifier(CONFIG) x.train([ LabeledDatum('Y', Datum({'x': 'y'})), LabeledDatum('N', Datum({'x': 'n'})), ]) path = '/tmp/127.0.0.1_0_classifier_hoge.jubatus' def _remove_model(): try: os.remove(path) except Exception: pass _remove_model() try: self.assertEqual({'127.0.0.1': 0}, x.save('hoge')) self.assertTrue(os.path.isfile(path)) x = Classifier(CONFIG) self.assertTrue(x.load('hoge')) y = x.classify([ Datum({'x': 'y'}), Datum({'x': 'n'}) ]) self.assertEqual(['Y', 'N'], [list(sorted( z, key=lambda x:x.score, reverse=True))[0].label for z in y]) finally: _remove_model()
def test_loadsave(self): x = Classifier(CONFIG) x.train([ LabeledDatum('Y', Datum({'x': 'y'})), LabeledDatum('N', Datum({'x': 'n'})), ]) path = '/tmp/127.0.0.1_0_classifier_hoge.jubatus' def _remove_model(): try: os.remove(path) except Exception: pass _remove_model() try: self.assertEqual( {'127.0.0.1_0': '/tmp/127.0.0.1_0_classifier_hoge.jubatus'}, x.save('hoge')) self.assertTrue(os.path.isfile(path)) x = Classifier(CONFIG) self.assertTrue(x.load('hoge')) y = x.classify([Datum({'x': 'y'}), Datum({'x': 'n'})]) self.assertEqual(['Y', 'N'], [ list(sorted(z, key=lambda x: x.score, reverse=True))[0].label for z in y ]) finally: _remove_model()
def test_types(self): x = Classifier(CONFIG) x.train([ LabeledDatum('Y', Datum({'x': 'y'})), LabeledDatum('N', Datum({'x': 'n'})), ]) y = x.classify([Datum({'x': 'y'}), Datum({'x': 'n'})]) self.assertTrue(isinstance(y[0][0], EstimateResult)) self.assertEqual(['Y', 'N'], [ list(sorted(z, key=lambda x: x.score, reverse=True))[0].label for z in y ])
def test_types(self): x = Classifier(CONFIG) x.train([ LabeledDatum('Y', Datum({'x': 'y'})), LabeledDatum('N', Datum({'x': 'n'})), ]) y = x.classify([ Datum({'x': 'y'}), Datum({'x': 'n'}) ]) self.assertTrue(isinstance(y[0][0], EstimateResult)) self.assertEqual(['Y', 'N'], [list(sorted( z, key=lambda x:x.score, reverse=True))[0].label for z in y])
def test_num(self): x = Classifier(CONFIG) self.assertEqual( 2, x.train([ ('Y', Datum({'x': 1})), ('N', Datum({'x': -1})), ])) def _test_classify(x): y = x.classify([Datum({'x': 1}), Datum({'x': -1})]) self.assertEqual(['Y', 'N'], [ list(sorted(z, key=lambda x: x.score, reverse=True))[0].label for z in y ]) self.assertEqual(x.get_labels(), {'N': 1, 'Y': 1}) _test_classify(x) model = x.save_bytes() x.clear() self.assertEqual({}, x.get_labels()) x.set_label('Y') x.set_label('N') self.assertEqual({'N': 0, 'Y': 0}, x.get_labels()) x.delete_label(u'Y') self.assertEqual({'N': 0}, x.get_labels()) x = Classifier(CONFIG) x.load_bytes(model) _test_classify(x) self.assertEqual(CONFIG, json.loads(x.get_config()))
def test_num(self): x = Classifier(CONFIG) self.assertEqual(2, x.train([ ('Y', Datum({'x': 1})), ('N', Datum({'x': -1})), ])) def _test_classify(x): y = x.classify([ Datum({'x': 1}), Datum({'x': -1}) ]) self.assertEqual(['Y', 'N'], [list(sorted( z, key=lambda x:x.score, reverse=True))[0].label for z in y]) self.assertEqual(x.get_labels(), {'N': 1, 'Y': 1}) _test_classify(x) model = x.save_bytes() x.clear() self.assertEqual({}, x.get_labels()) x.set_label('Y') x.set_label('N') self.assertEqual({'N': 0, 'Y': 0}, x.get_labels()) x.delete_label(u'Y') self.assertEqual({'N': 0}, x.get_labels()) x = Classifier(CONFIG) x.load_bytes(model) _test_classify(x) self.assertEqual(CONFIG, json.loads(x.get_config()))
def test_str(self): x = Classifier(CONFIG) self.assertEqual( 2, x.train([ ('Y', Datum({'x': 'y'})), ('N', Datum({'x': 'n'})), ])) y = x.classify([Datum({'x': 'y'}), Datum({'x': 'n'})]) self.assertEqual(['Y', 'N'], [ list(sorted(z, key=lambda x: x.score, reverse=True))[0].label for z in y ])
def test_str(self): x = Classifier(CONFIG) self.assertEqual(2, x.train([ ('Y', Datum({'x': 'y'})), ('N', Datum({'x': 'n'})), ])) y = x.classify([ Datum({'x': 'y'}), Datum({'x': 'n'}) ]) self.assertEqual(['Y', 'N'], [list(sorted( z, key=lambda x:x.score, reverse=True))[0].label for z in y])
def test_num(self): x = Classifier(CONFIG) self.assertEqual( 2, x.train([ ('Y', Datum({'x': 1})), ('N', Datum({'x': -1})), ])) def _test_classify(x): y = x.classify([Datum({'x': 1}), Datum({'x': -1})]) self.assertEqual(['Y', 'N'], [ list(sorted(z, key=lambda x: x.score, reverse=True))[0].label for z in y ]) self.assertEqual(x.get_labels(), {'N': 1, 'Y': 1}) _test_classify(x) model = x.save_bytes() self.assertTrue(x.clear()) self.assertEqual({}, x.get_labels()) x.set_label('Y') x.set_label('N') self.assertEqual({'N': 0, 'Y': 0}, x.get_labels()) x.delete_label(u'Y') self.assertEqual({'N': 0}, x.get_labels()) x = Classifier(CONFIG) x.load_bytes(model) _test_classify(x) self.assertEqual(CONFIG, json.loads(x.get_config())) if sys.version_info[0] == 3: x = pickle.loads(pickle.dumps(x)) _test_classify(x) self.assertEqual(CONFIG, json.loads(x.get_config())) st = x.get_status() self.assertTrue(isinstance(st, dict)) self.assertEqual(len(st), 1) self.assertEqual(list(st.keys())[0], 'embedded') self.assertTrue(isinstance(st['embedded'], dict))