Merge Changes Proposed in Issue#32
This commit is contained in:
Arthur Lu 2020-08-02 17:27:26 -05:00 committed by GitHub
commit 3db3dda315
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 149 additions and 149 deletions

View File

@ -7,11 +7,11 @@
# current benchmark of optimization: 1.33 times faster
# setup:
__version__ = "1.2.2.000"
__version__ = "2.2.0"
# changelog should be viewed using print(analysis.__changelog__)
__changelog__ = """changelog:
1.2.2.000:
2.2.0:
- added Sort class
- added several array sorting functions to Sort class including:
- quick sort
@ -27,25 +27,25 @@ __changelog__ = """changelog:
- tested all sorting algorithms with both lists and numpy arrays
- depreciated sort function from Array class
- added warnings as an import
1.2.1.004:
2.1.4:
- added sort and search functions to Array class
1.2.1.003:
2.1.3:
- changed output of basic_stats and histo_analysis to libraries
- fixed __all__
1.2.1.002:
2.1.2:
- renamed ArrayTest class to Array
1.2.1.001:
2.1.1:
- added add, mul, neg, and inv functions to ArrayTest class
- added normalize function to ArrayTest class
- added dot and cross functions to ArrayTest class
1.2.1.000:
2.1.0:
- added ArrayTest class
- added elementwise mean, median, standard deviation, variance, min, max functions to ArrayTest class
- added elementwise_stats to ArrayTest which encapsulates elementwise statistics
- appended to __all__ to reflect changes
1.2.0.006:
2.0.6:
- renamed func functions in regression to lin, log, exp, and sig
1.2.0.005:
2.0.5:
- moved random_forrest_regressor and random_forrest_classifier to RandomForrest class
- renamed Metrics to Metric
- renamed RegressionMetrics to RegressionMetric
@ -53,166 +53,166 @@ __changelog__ = """changelog:
- renamed CorrelationTests to CorrelationTest
- renamed StatisticalTests to StatisticalTest
- reflected rafactoring to all mentions of above classes/functions
1.2.0.004:
2.0.4:
- fixed __all__ to reflected the correct functions and classes
- fixed CorrelationTests and StatisticalTests class functions to require self invocation
- added missing math import
- fixed KNN class functions to require self invocation
- fixed Metrics class functions to require self invocation
- various spelling fixes in CorrelationTests and StatisticalTests
1.2.0.003:
2.0.3:
- bug fixes with CorrelationTests and StatisticalTests
- moved glicko2 and trueskill to the metrics subpackage
- moved elo to a new metrics subpackage
1.2.0.002:
2.0.2:
- fixed docs
1.2.0.001:
2.0.1:
- fixed docs
1.2.0.000:
2.0.0:
- cleaned up wild card imports with scipy and sklearn
- added CorrelationTests class
- added StatisticalTests class
- added several correlation tests to CorrelationTests
- added several statistical tests to StatisticalTests
1.1.13.009:
13.9:
- moved elo, glicko2, trueskill functions under class Metrics
1.1.13.008:
13.8:
- moved Glicko2 to a seperate package
1.1.13.007:
13.7:
- fixed bug with trueskill
1.1.13.006:
13.6:
- cleaned up imports
1.1.13.005:
13.5:
- cleaned up package
1.1.13.004:
13.4:
- small fixes to regression to improve performance
1.1.13.003:
1.13.3:
- filtered nans from regression
1.1.13.002:
1.13.2:
- removed torch requirement, and moved Regression back to regression.py
1.1.13.001:
1.13.1:
- bug fix with linear regression not returning a proper value
- cleaned up regression
- fixed bug with polynomial regressions
1.1.13.000:
1.13.0:
- fixed all regressions to now properly work
1.1.12.006:
1.12.6:
- fixed bg with a division by zero in histo_analysis
1.1.12.005:
1.12.5:
- fixed numba issues by removing numba from elo, glicko2 and trueskill
1.1.12.004:
1.12.4:
- renamed gliko to glicko
1.1.12.003:
1.12.3:
- removed depreciated code
1.1.12.002:
1.12.2:
- removed team first time trueskill instantiation in favor of integration in superscript.py
1.1.12.001:
1.12.1:
- improved readibility of regression outputs by stripping tensor data
- used map with lambda to acheive the improved readibility
- lost numba jit support with regression, and generated_jit hangs at execution
- TODO: reimplement correct numba integration in regression
1.1.12.000:
1.12.0:
- temporarily fixed polynomial regressions by using sklearn's PolynomialFeatures
1.1.11.010:
1.11.010:
- alphabeticaly ordered import lists
1.1.11.009:
1.11.9:
- bug fixes
1.1.11.008:
1.11.8:
- bug fixes
1.1.11.007:
1.11.7:
- bug fixes
1.1.11.006:
1.11.6:
- tested min and max
- bug fixes
1.1.11.005:
1.11.5:
- added min and max in basic_stats
1.1.11.004:
1.11.4:
- bug fixes
1.1.11.003:
1.11.3:
- bug fixes
1.1.11.002:
1.11.2:
- consolidated metrics
- fixed __all__
1.1.11.001:
1.11.1:
- added test/train split to RandomForestClassifier and RandomForestRegressor
1.1.11.000:
1.11.0:
- added RandomForestClassifier and RandomForestRegressor
- note: untested
1.1.10.000:
1.10.0:
- added numba.jit to remaining functions
1.1.9.002:
1.9.2:
- kernelized PCA and KNN
1.1.9.001:
1.9.1:
- fixed bugs with SVM and NaiveBayes
1.1.9.000:
1.9.0:
- added SVM class, subclasses, and functions
- note: untested
1.1.8.000:
1.8.0:
- added NaiveBayes classification engine
- note: untested
1.1.7.000:
1.7.0:
- added knn()
- added confusion matrix to decisiontree()
1.1.6.002:
1.6.2:
- changed layout of __changelog to be vscode friendly
1.1.6.001:
1.6.1:
- added additional hyperparameters to decisiontree()
1.1.6.000:
1.6.0:
- fixed __version__
- fixed __all__ order
- added decisiontree()
1.1.5.003:
1.5.3:
- added pca
1.1.5.002:
1.5.2:
- reduced import list
- added kmeans clustering engine
1.1.5.001:
1.5.1:
- simplified regression by using .to(device)
1.1.5.000:
1.5.0:
- added polynomial regression to regression(); untested
1.1.4.000:
1.4.0:
- added trueskill()
1.1.3.002:
1.3.2:
- renamed regression class to Regression, regression_engine() to regression gliko2_engine class to Gliko2
1.1.3.001:
1.3.1:
- changed glicko2() to return tuple instead of array
1.1.3.000:
1.3.0:
- added glicko2_engine class and glicko()
- verified glicko2() accuracy
1.1.2.003:
1.2.3:
- fixed elo()
1.1.2.002:
1.2.2:
- added elo()
- elo() has bugs to be fixed
1.1.2.001:
1.2.1:
- readded regrression import
1.1.2.000:
1.2.0:
- integrated regression.py as regression class
- removed regression import
- fixed metadata for regression class
- fixed metadata for analysis class
1.1.1.001:
1.1.1:
- regression_engine() bug fixes, now actaully regresses
1.1.1.000:
1.1.0:
- added regression_engine()
- added all regressions except polynomial
1.1.0.007:
1.0.7:
- updated _init_device()
1.1.0.006:
1.0.6:
- removed useless try statements
1.1.0.005:
1.0.5:
- removed impossible outcomes
1.1.0.004:
1.0.4:
- added performance metrics (r^2, mse, rms)
1.1.0.003:
1.0.3:
- resolved nopython mode for mean, median, stdev, variance
1.1.0.002:
1.0.2:
- snapped (removed) majority of uneeded imports
- forced object mode (bad) on all jit
- TODO: stop numba complaining about not being able to compile in nopython mode
1.1.0.001:
1.0.1:
- removed from sklearn import * to resolve uneeded wildcard imports
1.1.0.000:
1.0.0:
- removed c_entities,nc_entities,obstacles,objectives from __all__
- applied numba.jit to all functions
- depreciated and removed stdev_z_split
@ -221,93 +221,93 @@ __changelog__ = """changelog:
- depreciated and removed all nonessential functions (basic_analysis, benchmark, strip_data)
- optimized z_normalize using sklearn.preprocessing.normalize
- TODO: implement kernel/function based pytorch regression optimizer
1.0.9.000:
0.9.0:
- refactored
- numpyed everything
- removed stats in favor of numpy functions
1.0.8.005:
0.8.5:
- minor fixes
1.0.8.004:
0.8.4:
- removed a few unused dependencies
1.0.8.003:
0.8.3:
- added p_value function
1.0.8.002:
- updated __all__ correctly to contain changes made in v 1.0.8.000 and v 1.0.8.001
1.0.8.001:
0.8.2:
- updated __all__ correctly to contain changes made in v 0.8.0 and v 0.8.1
0.8.1:
- refactors
- bugfixes
1.0.8.000:
0.8.0:
- depreciated histo_analysis_old
- depreciated debug
- altered basic_analysis to take array data instead of filepath
- refactor
- optimization
1.0.7.002:
0.7.2:
- bug fixes
1.0.7.001:
0.7.1:
- bug fixes
1.0.7.000:
0.7.0:
- added tanh_regression (logistical regression)
- bug fixes
1.0.6.005:
0.6.5:
- added z_normalize function to normalize dataset
- bug fixes
1.0.6.004:
0.6.4:
- bug fixes
1.0.6.003:
0.6.3:
- bug fixes
1.0.6.002:
0.6.2:
- bug fixes
1.0.6.001:
0.6.1:
- corrected __all__ to contain all of the functions
1.0.6.000:
0.6.0:
- added calc_overfit, which calculates two measures of overfit, error and performance
- added calculating overfit to optimize_regression
1.0.5.000:
0.5.0:
- added optimize_regression function, which is a sample function to find the optimal regressions
- optimize_regression function filters out some overfit funtions (functions with r^2 = 1)
- planned addition: overfit detection in the optimize_regression function
1.0.4.002:
0.4.2:
- added __changelog__
- updated debug function with log and exponential regressions
1.0.4.001:
0.4.1:
- added log regressions
- added exponential regressions
- added log_regression and exp_regression to __all__
1.0.3.008:
0.3.8:
- added debug function to further consolidate functions
1.0.3.007:
0.3.7:
- added builtin benchmark function
- added builtin random (linear) data generation function
- added device initialization (_init_device)
1.0.3.006:
0.3.6:
- reorganized the imports list to be in alphabetical order
- added search and regurgitate functions to c_entities, nc_entities, obstacles, objectives
1.0.3.005:
0.3.5:
- major bug fixes
- updated historical analysis
- depreciated old historical analysis
1.0.3.004:
0.3.4:
- added __version__, __author__, __all__
- added polynomial regression
- added root mean squared function
- added r squared function
1.0.3.003:
0.3.3:
- bug fixes
- added c_entities
1.0.3.002:
0.3.2:
- bug fixes
- added nc_entities, obstacles, objectives
- consolidated statistics.py to analysis.py
1.0.3.001:
0.3.1:
- compiled 1d, column, and row basic stats into basic stats function
1.0.3.000:
0.3.0:
- added historical analysis function
1.0.2.xxx:
0.2.x:
- added z score test
1.0.1.xxx:
0.1.x:
- major bug fixes
1.0.0.xxx:
0.0.x:
- added loading csv
- added 1d, column, row basic stats
"""
@ -342,7 +342,7 @@ __all__ = [
# now back to your regularly scheduled programming:
# imports (now in alphabetical order! v 1.0.3.006):
# imports (now in alphabetical order! v 0.3.006):
import csv
from analysis.metrics import elo as Elo

View File

@ -5,20 +5,20 @@
# this module is cuda-optimized and vectorized (except for one small part)
# setup:
__version__ = "1.0.0.004"
__version__ = "0.0.4"
# changelog should be viewed using print(analysis.regression.__changelog__)
__changelog__ = """
1.0.0.004:
0.0.4:
- bug fixes
- fixed changelog
1.0.0.003:
0.0.3:
- bug fixes
1.0.0.002:
0.0.2:
-Added more parameters to log, exponential, polynomial
-Added SigmoidalRegKernelArthur, because Arthur apparently needs
to train the scaling and shifting of sigmoids
1.0.0.001:
0.0.1:
-initial release, with linear, log, exponential, polynomial, and sigmoid kernels
-already vectorized (except for polynomial generation) and CUDA-optimized
"""

View File

@ -7,23 +7,23 @@
# this module learns from its mistakes far faster than 2022's captains
# setup:
__version__ = "2.0.1.001"
__version__ = "1.1.1"
#changelog should be viewed using print(analysis.__changelog__)
__changelog__ = """changelog:
2.0.1.001:
1.1.1:
- removed matplotlib import
- removed graphloss()
2.0.1.000:
1.1.0:
- added net, dataset, dataloader, and stdtrain template definitions
- added graphloss function
2.0.0.001:
1.0.1:
- added clear functions
2.0.0.000:
1.0.0:
- complete rewrite planned
- depreciated 1.0.0.xxx versions
- added simple training loop
1.0.0.xxx:
0.0.x:
-added generation of ANNS, basic SGD training
"""

View File

@ -6,13 +6,13 @@
# fancy
# setup:
__version__ = "1.0.0.001"
__version__ = "0.0.1"
#changelog should be viewed using print(analysis.__changelog__)
__changelog__ = """changelog:
1.0.0.001:
0.0.1:
- added graphhistogram function as a fragment of visualize_pit.py
1.0.0.000:
0.0.0:
- created visualization.py
- added graphloss()
- added imports

View File

@ -8,7 +8,7 @@ with open("requirements.txt", 'r') as file:
setuptools.setup(
name="analysis",
version="1.0.0.012",
version="1.12",
author="The Titan Scouting Team",
author_email="titanscout2022@gmail.com",
description="analysis package developed by Titan Scouting for The Red Alliance",
@ -17,7 +17,7 @@ setuptools.setup(
url="https://github.com/titanscout2022/tr2022-strategy",
packages=setuptools.find_packages(),
install_requires=requirements,
license = "GNU General Public License v3.0",
license = "BSD 3-Clause License",
classifiers=[
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",

View File

@ -3,17 +3,17 @@
# Notes:
# setup:
__version__ = "0.0.6.002"
__version__ = "0.6.2"
# changelog should be viewed using print(analysis.__changelog__)
__changelog__ = """changelog:
0.0.6.002:
0.6.2:
- integrated get_team_rankings.py as get_team_metrics() function
- integrated visualize_pit.py as graph_pit_histogram() function
0.0.6.001:
0.6.1:
- bug fixes with analysis.Metric() calls
- modified metric functions to use config.json defined default values
0.0.6.000:
0.6.0:
- removed main function
- changed load_config function
- added save_config function
@ -24,66 +24,66 @@ __changelog__ = """changelog:
- renamed metricsloop to metricloop
- split push to database functions amon push_match, push_metric, push_pit
- moved
0.0.5.002:
0.5.2:
- made changes due to refactoring of analysis
0.0.5.001:
0.5.1:
- text fixes
- removed matplotlib requirement
0.0.5.000:
0.5.0:
- improved user interface
0.0.4.002:
0.4.2:
- removed unessasary code
0.0.4.001:
0.4.1:
- fixed bug where X range for regression was determined before sanitization
- better sanitized data
0.0.4.000:
0.4.0:
- fixed spelling issue in __changelog__
- addressed nan bug in regression
- fixed errors on line 335 with metrics calling incorrect key "glicko2"
- fixed errors in metrics computing
0.0.3.000:
0.3.0:
- added analysis to pit data
0.0.2.001:
0.2.1:
- minor stability patches
- implemented db syncing for timestamps
- fixed bugs
0.0.2.000:
0.2.0:
- finalized testing and small fixes
0.0.1.004:
0.1.4:
- finished metrics implement, trueskill is bugged
0.0.1.003:
0.1.3:
- working
0.0.1.002:
0.1.2:
- started implement of metrics
0.0.1.001:
0.1.1:
- cleaned up imports
0.0.1.000:
0.1.0:
- tested working, can push to database
0.0.0.009:
0.0.9:
- tested working
- prints out stats for the time being, will push to database later
0.0.0.008:
0.0.8:
- added data import
- removed tba import
- finished main method
0.0.0.007:
0.0.7:
- added load_config
- optimized simpleloop for readibility
- added __all__ entries
- added simplestats engine
- pending testing
0.0.0.006:
0.0.6:
- fixes
0.0.0.005:
0.0.5:
- imported pickle
- created custom database object
0.0.0.004:
0.0.4:
- fixed simpleloop to actually return a vector
0.0.0.003:
0.0.3:
- added metricsloop which is unfinished
0.0.0.002:
0.0.2:
- added simpleloop which is untested until data is provided
0.0.0.001:
0.0.1:
- created script
- added analysis, numba, numpy imports
"""