From a0e129336117c371e04fbfe35cdc859ca403b846 Mon Sep 17 00:00:00 2001 From: art Date: Thu, 5 Mar 2020 13:18:33 -0600 Subject: [PATCH] analysis.py v 1.1.13.001 analysis pkg v 1.0.0.006 --- analysis-master/analysis.egg-info/PKG-INFO | 2 +- .../__pycache__/analysis.cpython-37.pyc | Bin 34099 -> 34218 bytes analysis-master/analysis/analysis.py | 31 ++++++++++-------- .../build/lib/analysis/analysis.py | 31 ++++++++++-------- analysis-master/dist/analysis-1.0.0.5.tar.gz | Bin 19501 -> 0 bytes ....whl => analysis-1.0.0.6-py3-none-any.whl} | Bin 21606 -> 21564 bytes analysis-master/dist/analysis-1.0.0.6.tar.gz | Bin 0 -> 19456 bytes analysis-master/setup.py | 2 +- data analysis/superscript.py | 12 ++++--- 9 files changed, 43 insertions(+), 35 deletions(-) delete mode 100644 analysis-master/dist/analysis-1.0.0.5.tar.gz rename analysis-master/dist/{analysis-1.0.0.5-py3-none-any.whl => analysis-1.0.0.6-py3-none-any.whl} (52%) create mode 100644 analysis-master/dist/analysis-1.0.0.6.tar.gz diff --git a/analysis-master/analysis.egg-info/PKG-INFO b/analysis-master/analysis.egg-info/PKG-INFO index 8c5afbee..ce78f47e 100644 --- a/analysis-master/analysis.egg-info/PKG-INFO +++ b/analysis-master/analysis.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: analysis -Version: 1.0.0.5 +Version: 1.0.0.6 Summary: analysis package developed by Titan Scouting for The Red Alliance Home-page: https://github.com/titanscout2022/tr2022-strategy Author: The Titan Scouting Team diff --git a/analysis-master/analysis/__pycache__/analysis.cpython-37.pyc b/analysis-master/analysis/__pycache__/analysis.cpython-37.pyc index e2c59aa32a88df5185bf903c93398bf8442fd8d1..46f1441d410733564b8d79ce4ec1a6265a05ff53 100644 GIT binary patch delta 7228 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 delta 7020 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 diff --git a/analysis-master/analysis/analysis.py b/analysis-master/analysis/analysis.py index b73d37a3..03a1aa11 100644 --- a/analysis-master/analysis/analysis.py +++ b/analysis-master/analysis/analysis.py @@ -7,10 +7,14 @@ # current benchmark of optimization: 1.33 times faster # setup: -__version__ = "1.1.13.000" +__version__ = "1.1.13.001" # changelog should be viewed using print(analysis.__changelog__) __changelog__ = """changelog: + 1.1.13.001: + - bug fix with linear regression not returning a proper value + - cleaned up regression + - fixed bug with polynomial regressions 1.1.13.000: - fixed all regressions to now properly work 1.1.12.006: @@ -343,28 +347,27 @@ def histo_analysis(hist_data): return None -def regression(ndevice, inputs, outputs, args, loss = torch.nn.MSELoss(), _iterations = 10000, lr = 0.01, _iterations_ply = 10000, lr_ply = 0.01): # inputs, outputs expects N-D array +def regression(inputs, outputs, args): # inputs, outputs expects N-D array regressions = [] - Regression().set_device(ndevice) if 'lin' in args: # formula: ax + b try: - X = np.array(inputs).reshape(-1,1) + X = np.array(inputs) y = np.array(outputs) - model = sklearn.linear_model.LinearRegression().fit(X, y) + def func(x, a, b): - ret = model.coef_.flatten().tolist() - ret.append(model.intercept_) + return a * x + b - regressions.append((ret, model.score(X,y))) + popt, pcov = scipy.optimize.curve_fit(func, X, y) + + regressions.append((popt.flatten().tolist(), None)) except Exception as e: - print(e) pass if 'log' in args: # formula: a log (b(x + c)) + d @@ -383,8 +386,7 @@ def regression(ndevice, inputs, outputs, args, loss = torch.nn.MSELoss(), _itera regressions.append((popt.flatten().tolist(), None)) except Exception as e: - - print(e) + pass if 'exp' in args: # formula: a e ^ (b(x + c)) + d @@ -404,10 +406,12 @@ def regression(ndevice, inputs, outputs, args, loss = torch.nn.MSELoss(), _itera except Exception as e: - print(e) pass if 'ply' in args: # formula: a + bx^1 + cx^2 + dx^3 + ... + + inputs = [inputs] + outputs = [outputs] plys = [] limit = len(outputs[0]) @@ -443,8 +447,7 @@ def regression(ndevice, inputs, outputs, args, loss = torch.nn.MSELoss(), _itera regressions.append((popt.flatten().tolist(), None)) except Exception as e: - - print(e) + pass return regressions diff --git a/analysis-master/build/lib/analysis/analysis.py b/analysis-master/build/lib/analysis/analysis.py index b73d37a3..03a1aa11 100644 --- a/analysis-master/build/lib/analysis/analysis.py +++ b/analysis-master/build/lib/analysis/analysis.py @@ -7,10 +7,14 @@ # current benchmark of optimization: 1.33 times faster # setup: -__version__ = "1.1.13.000" +__version__ = "1.1.13.001" # changelog should be viewed using print(analysis.__changelog__) __changelog__ = """changelog: + 1.1.13.001: + - bug fix with linear regression not returning a proper value + - cleaned up regression + - fixed bug with polynomial regressions 1.1.13.000: - fixed all regressions to now properly work 1.1.12.006: @@ -343,28 +347,27 @@ def histo_analysis(hist_data): return None -def regression(ndevice, inputs, outputs, args, loss = torch.nn.MSELoss(), _iterations = 10000, lr = 0.01, _iterations_ply = 10000, lr_ply = 0.01): # inputs, outputs expects N-D array +def regression(inputs, outputs, args): # inputs, outputs expects N-D array regressions = [] - Regression().set_device(ndevice) if 'lin' in args: # formula: ax + b try: - X = np.array(inputs).reshape(-1,1) + X = np.array(inputs) y = np.array(outputs) - model = sklearn.linear_model.LinearRegression().fit(X, y) + def func(x, a, b): - ret = model.coef_.flatten().tolist() - ret.append(model.intercept_) + return a * x + b - regressions.append((ret, model.score(X,y))) + popt, pcov = scipy.optimize.curve_fit(func, X, y) + + regressions.append((popt.flatten().tolist(), None)) except Exception as e: - print(e) pass if 'log' in args: # formula: a log (b(x + c)) + d @@ -383,8 +386,7 @@ def regression(ndevice, inputs, outputs, args, loss = torch.nn.MSELoss(), _itera regressions.append((popt.flatten().tolist(), None)) except Exception as e: - - print(e) + pass if 'exp' in args: # formula: a e ^ (b(x + c)) + d @@ -404,10 +406,12 @@ def regression(ndevice, inputs, outputs, args, loss = torch.nn.MSELoss(), _itera except Exception as e: - print(e) pass if 'ply' in args: # formula: a + bx^1 + cx^2 + dx^3 + ... + + inputs = [inputs] + outputs = [outputs] plys = [] limit = len(outputs[0]) @@ -443,8 +447,7 @@ def regression(ndevice, inputs, outputs, args, loss = torch.nn.MSELoss(), _itera regressions.append((popt.flatten().tolist(), None)) except Exception as e: - - print(e) + pass return regressions diff --git a/analysis-master/dist/analysis-1.0.0.5.tar.gz b/analysis-master/dist/analysis-1.0.0.5.tar.gz deleted file mode 100644 index 784081b11749d2e0b53b0201d4899a6008336ff9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19501 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 lpZ@26(+AZl|J&{V3-bTCZ39n diff --git a/analysis-master/dist/analysis-1.0.0.6.tar.gz b/analysis-master/dist/analysis-1.0.0.6.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..2a848dc8f3eb8872922e07cb1c47764d81997695 GIT binary patch literal 19456 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 z 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 literal 0 HcmV?d00001 diff --git a/analysis-master/setup.py b/analysis-master/setup.py index 56cf0877..ff6d5c3e 100644 --- a/analysis-master/setup.py +++ b/analysis-master/setup.py @@ -2,7 +2,7 @@ import setuptools setuptools.setup( name="analysis", # Replace with your own username - version="1.0.0.005", + version="1.0.0.006", author="The Titan Scouting Team", author_email="titanscout2022@gmail.com", description="analysis package developed by Titan Scouting for The Red Alliance", diff --git a/data analysis/superscript.py b/data analysis/superscript.py index 3e6aacdc..a2bece23 100644 --- a/data analysis/superscript.py +++ b/data analysis/superscript.py @@ -70,8 +70,10 @@ __all__ = [ from analysis import analysis as an import data as d import time +import warnings def main(): + warnings.filterwarnings("ignore") while(True): current_time = time.time() @@ -152,19 +154,19 @@ def simplestats(data, test): return an.histo_analysis([list(range(len(data))), data]) if(test == "regression_linear"): - return an.regression('cpu', [list(range(len(data)))], [data], ['lin'], _iterations = 5000) + return an.regression(list(range(len(data))), data, ['lin']) if(test == "regression_logarithmic"): - return an.regression('cpu', [list(range(len(data)))], [data], ['log'], _iterations = 5000) + return an.regression(list(range(len(data))), data, ['log']) if(test == "regression_exponential"): - return an.regression('cpu', [list(range(len(data)))], [data], ['exp'], _iterations = 5000) + return an.regression(list(range(len(data))), data, ['exp']) if(test == "regression_polynomial"): - return an.regression('cpu', [list(range(len(data)))], [data], ['ply'], _iterations = 5000) + return an.regression(list(range(len(data))), data, ['ply']) if(test == "regression_sigmoidal"): - return an.regression('cpu', [list(range(len(data)))], [data], ['sig'], _iterations = 5000) + return an.regression(list(range(len(data))), data, ['sig']) def push_to_database(apikey, competition, results, metrics):