annotate tests/test_classification.py @ 30:e8084526f7e5
branch-tests
additional test functions
author |
Maria Panteli <m.x.panteli@gmail.com> |
date |
Wed, 13 Sep 2017 19:57:49 +0100 |
parents |
|
children |
d118b6ca8370 |
rev |
line source |
m@30
|
1 # -*- coding: utf-8 -*-
|
m@30
|
2 """
|
m@30
|
3 Created on Fri Sep 1 19:11:52 2017
|
m@30
|
4
|
m@30
|
5 @author: mariapanteli
|
m@30
|
6 """
|
m@30
|
7
|
m@30
|
8 import pytest
|
m@30
|
9
|
m@30
|
10 import numpy as np
|
m@30
|
11 from sklearn.model_selection import train_test_split
|
m@30
|
12
|
m@30
|
13 import scripts.classification as classification
|
m@30
|
14
|
m@30
|
15
|
m@30
|
16 def test_confusion_matrix():
|
m@30
|
17 X = np.random.randn(100, 3)
|
m@30
|
18 # create 2 classes by shifting the entries of half the samples
|
m@30
|
19 X[-50:, :] = X[-50:, :] + 10
|
m@30
|
20 Y = np.concatenate([np.repeat('a', 50), np.repeat('b', 50)])
|
m@30
|
21 X_train, X_test, Y_train, Y_test = train_test_split(X, Y, train_size=0.6, random_state=1, stratify=Y)
|
m@30
|
22 accuracy, predictions = classification.confusion_matrix(X_train, Y_train, X_test, Y_test)
|
m@30
|
23 # expect perfect accuracy for this 'easy' dataset
|
m@30
|
24 assert accuracy == 1.0
|
m@30
|
25
|