예제 #1
0
class RecognizerTest(unittest.TestCase):
	def setUp(self):
		self.original_base = ImageReader.base
		ImageReader.base = 'tests/fixtures/' + ImageReader.base

		self.subject = Recognizer()

	def tearDown(self):
		ImageReader.base = self.original_base

	def test_fit_predict(self):
		self.subject.load_data(['BLACK', 'BLUE'])
		self.subject.model = [RecognizerFlatten(), RecognizerSVM()]
		self.subject.fit()
		for X, y in zip(self.subject.data.X, self.subject.data.y):
			self.assertEqual(self.subject.predict(X), y)

	def test_fit_predict_with_PCA_SVM(self):
		self.subject.load_data(['BLACK', 'BLUE'])
		self.subject.model = [RecognizerFlatten(), RecognizerPCA(), RecognizerSVM()]
		self.subject.fit()
		for X, y in zip(self.subject.data.X, self.subject.data.y):
			self.assertEqual(self.subject.predict(X), y)

	def test_fit_predict_with_Split_PCA_SVM(self):
		self.subject.load_data(['BLACK', 'BLUE'])
		self.subject.model = [RecognizerFlatten(), RecognizerSplit(), RecognizerPCA(), RecognizerSVM()]
		self.subject.fit()
		self.subject.score()

	def test_fit_predict_with_LDA_SVM(self):
		self.subject.load_data(['BLACK', 'BLUE'])
		self.subject.model = [RecognizerFlatten(), RecognizerLDA(), RecognizerSVM()]
		self.subject.fit()
		for X, y in zip(self.subject.data.X, self.subject.data.y):
			self.assertEqual(self.subject.predict(X), y)

	def test_dump_load(self):
		model_filename = 'tmp/test_model.pkl'
		self.subject.load_data(['BLACK', 'BLUE'])
		self.subject.model = [RecognizerFlatten(), RecognizerPCA(), RecognizerSVM()]
		self.subject.fit()
		self.subject.dump(model_filename)

		self.subject = Recognizer()
		self.subject.load(model_filename)
		data = Data()
		data.load_data(['BLACK', 'BLUE'])
		for X, y in zip(data.X, data.y):
			self.assertEqual(self.subject.predict(X), y)
예제 #2
0
class RecognizerLDATest(unittest.TestCase):
	def setUp(self):
		self.original_base = ImageReader.base
		ImageReader.base = 'tests/fixtures/' + ImageReader.base

		self.subject = Recognizer()

	def tearDown(self):
		ImageReader.base = self.original_base

	def test_fit_predict(self):
		self.subject.load_data(['BLACK', 'BLUE'])
		self.subject.model = [RecognizerFlatten(), RecognizerLDA()]
		self.subject.fit()
		for X, y in zip(self.subject.data.X, self.subject.data.y):
			self.assertTrue(self.subject.predict(X) is not None)
예제 #3
0
class RecognizerLDATest(unittest.TestCase):
    def setUp(self):
        self.original_base = ImageReader.base
        ImageReader.base = 'tests/fixtures/' + ImageReader.base

        self.subject = Recognizer()

    def tearDown(self):
        ImageReader.base = self.original_base

    def test_fit_predict(self):
        self.subject.load_data(['BLACK', 'BLUE'])
        self.subject.model = [RecognizerFlatten(), RecognizerLDA()]
        self.subject.fit()
        for X, y in zip(self.subject.data.X, self.subject.data.y):
            self.assertTrue(self.subject.predict(X) is not None)
예제 #4
0
class RecognizerTest(unittest.TestCase):
    def setUp(self):
        self.original_base = ImageReader.base
        ImageReader.base = 'tests/fixtures/' + ImageReader.base

        self.subject = Recognizer()

    def tearDown(self):
        ImageReader.base = self.original_base

    def test_fit_predict(self):
        self.subject.load_data(['BLACK', 'BLUE'])
        self.subject.model = [RecognizerFlatten(), RecognizerSVM()]
        self.subject.fit()
        for X, y in zip(self.subject.data.X, self.subject.data.y):
            self.assertEqual(self.subject.predict(X), y)

    def test_fit_predict_with_PCA_SVM(self):
        self.subject.load_data(['BLACK', 'BLUE'])
        self.subject.model = [
            RecognizerFlatten(),
            RecognizerPCA(),
            RecognizerSVM()
        ]
        self.subject.fit()
        for X, y in zip(self.subject.data.X, self.subject.data.y):
            self.assertEqual(self.subject.predict(X), y)

    def test_fit_predict_with_Split_PCA_SVM(self):
        self.subject.load_data(['BLACK', 'BLUE'])
        self.subject.model = [
            RecognizerFlatten(),
            RecognizerSplit(),
            RecognizerPCA(),
            RecognizerSVM()
        ]
        self.subject.fit()
        self.subject.score()

    def test_fit_predict_with_LDA_SVM(self):
        self.subject.load_data(['BLACK', 'BLUE'])
        self.subject.model = [
            RecognizerFlatten(),
            RecognizerLDA(),
            RecognizerSVM()
        ]
        self.subject.fit()
        for X, y in zip(self.subject.data.X, self.subject.data.y):
            self.assertEqual(self.subject.predict(X), y)

    def test_dump_load(self):
        model_filename = 'tmp/test_model.pkl'
        self.subject.load_data(['BLACK', 'BLUE'])
        self.subject.model = [
            RecognizerFlatten(),
            RecognizerPCA(),
            RecognizerSVM()
        ]
        self.subject.fit()
        self.subject.dump(model_filename)

        self.subject = Recognizer()
        self.subject.load(model_filename)
        data = Data()
        data.load_data(['BLACK', 'BLUE'])
        for X, y in zip(data.X, data.y):
            self.assertEqual(self.subject.predict(X), y)