From 9232cc31be2a2a1aefaa78a6f713a470a7728067 Mon Sep 17 00:00:00 2001 From: Arthur Lu Date: Thu, 18 Nov 2021 09:51:39 +0000 Subject: [PATCH] fixed import error in Analysis, updated unit tests --- analysis-master/test_analysis.py | 22 ++++++++++++++++------ analysis-master/tra_analysis/Analysis.py | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/analysis-master/test_analysis.py b/analysis-master/test_analysis.py index 1668c719..2abddcf4 100644 --- a/analysis-master/test_analysis.py +++ b/analysis-master/test_analysis.py @@ -9,6 +9,7 @@ from tra_analysis import Clustering from tra_analysis import CorrelationTest from tra_analysis import Fit from tra_analysis import KNN +from tra_analysis import metrics as m from tra_analysis import NaiveBayes from tra_analysis import RandomForest from tra_analysis import RegressionMetric @@ -27,7 +28,7 @@ x_data_circular = [] y_data_circular = [] y_data_ccu = [1, 3, 7, 14, 21] -y_data_ccd = [1, 5, 7, 8.5, 8.66] +y_data_ccd = [8.66, 8.5, 7, 5, 1] test_data_scrambled = [-32, 34, 19, 72, -65, -11, -43, 6, 85, -17, -98, -26, 12, 20, 9, -92, -40, 98, -78, 17, -20, 49, 93, -27, -24, -66, 40, 84, 1, -64, -68, -25, -42, -46, -76, 43, -3, 30, -14, -34, -55, -13, 41, -30, 0, -61, 48, 23, 60, 87, 80, 77, 53, 73, 79, 24, -52, 82, 8, -44, 65, 47, -77, 94, 7, 37, -79, 36, -94, 91, 59, 10, 97, -38, -67, 83, 54, 31, -95, -63, 16, -45, 21, -12, 66, -48, -18, -96, -90, -21, -83, -74, 39, 64, 69, -97, 13, 55, 27, -39] test_data_sorted = [-98, -97, -96, -95, -94, -92, -90, -83, -79, -78, -77, -76, -74, -68, -67, -66, -65, -64, -63, -61, -55, -52, -48, -46, -45, -44, -43, -42, -40, -39, -38, -34, -32, -30, -27, -26, -25, -24, -21, -20, -18, -17, -14, -13, -12, -11, -3, 0, 1, 6, 7, 8, 9, 10, 12, 13, 16, 17, 19, 20, 21, 23, 24, 27, 30, 31, 34, 36, 37, 39, 40, 41, 43, 47, 48, 49, 53, 54, 55, 59, 60, 64, 65, 66, 69, 72, 73, 77, 79, 80, 82, 83, 84, 85, 87, 91, 93, 94, 97, 98] @@ -48,16 +49,25 @@ def test_basicstats(): def test_regression(): assert all(isinstance(item, str) for item in an.regression(test_data_linear, y_data_ccu, ["lin"])) == True - #assert all(isinstance(item, str) for item in an.regression(test_data_linear, y_data_ccd, ["log"])) == True - #assert all(isinstance(item, str) for item in an.regression(test_data_linear, y_data_ccu, ["exp"])) == True - #assert all(isinstance(item, str) for item in an.regression(test_data_linear, y_data_ccu, ["ply"])) == True - #assert all(isinstance(item, str) for item in an.regression(test_data_linear, y_data_ccd, ["sig"])) == True + assert all(isinstance(item, str) for item in an.regression(test_data_linear, y_data_ccd, ["log"])) == True + assert all(isinstance(item, str) for item in an.regression(test_data_linear, y_data_ccu, ["exp"])) == True + assert all(isinstance(item, str) for item in an.regression(test_data_linear, y_data_ccu, ["ply"])) == True + assert all(isinstance(item, str) for item in an.regression(test_data_linear, y_data_ccd, ["sig"])) == True def test_metrics(): assert an.Metric().elo(1500, 1500, [1, 0], 400, 24) == 1512.0 assert an.Metric().glicko2(1500, 250, 0.06, [1500, 1400], [250, 240], [1, 0]) == (1478.864307445517, 195.99122679202452, 0.05999602937563585) - #assert an.Metric().trueskill([[(25, 8.33), (24, 8.25), (32, 7.5)], [(25, 8.33), (25, 8.33), (21, 6.5)]], [1, 0]) == [(metrics.trueskill.Rating(mu=21.346, sigma=7.875), metrics.trueskill.Rating(mu=20.415, sigma=7.808), metrics.trueskill.Rating(mu=29.037, sigma=7.170)), (metrics.trueskill.Rating(mu=28.654, sigma=7.875), metrics.trueskill.Rating(mu=28.654, sigma=7.875), metrics.trueskill.Rating(mu=23.225, sigma=6.287))] + e = [[(21.346, 7.875), (20.415, 7.808), (29.037, 7.170)], [(28.654, 7.875), (28.654, 7.875), (23.225, 6.287)]] + r = an.Metric().trueskill([[(25, 8.33), (24, 8.25), (32, 7.5)], [(25, 8.33), (25, 8.33), (21, 6.5)]], [1, 0]) + i = 0 + for group in r: + j = 0 + for team in group: + assert abs(team.mu - e[i][j][0]) < 0.001 + assert abs(team.sigma - e[i][j][1]) < 0.001 + j+=1 + i+=1 def test_array(): diff --git a/analysis-master/tra_analysis/Analysis.py b/analysis-master/tra_analysis/Analysis.py index 2316a026..e538b107 100644 --- a/analysis-master/tra_analysis/Analysis.py +++ b/analysis-master/tra_analysis/Analysis.py @@ -380,7 +380,7 @@ from tra_analysis.metrics import elo as Elo from tra_analysis.metrics import glicko2 as Glicko2 import numpy as np import scipy -import sklearn, sklearn.cluster +import sklearn, sklearn.cluster, sklearn.pipeline from tra_analysis.metrics import trueskill as Trueskill # import submodules