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_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_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_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_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_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])