diff --git a/data analysis/analysis/analysis.py b/data analysis/analysis/analysis.py index 5d58ee3d..38fdf245 100644 --- a/data analysis/analysis/analysis.py +++ b/data analysis/analysis/analysis.py @@ -7,165 +7,167 @@ # current benchmark of optimization: 1.33 times faster # setup: -__version__ = "1.1.6.001" +__version__ = "1.1.6.002" # changelog should be viewed using print(analysis.__changelog__) __changelog__ = """changelog: -1.1.6.001: - - added additional hyperparameters to decisiontree() -1.1.6.000: - - fixed __version__ - - fixed __all__ order - - added decisiontree() -1.1.5.003: - - added pca -1.1.5.002: - - reduced import list - - added kmeans clustering engine -1.1.5.001: - - simplified regression by using .to(device) -1.1.5.000: - - added polynomial regression to regression(); untested -1.1.4.000: - - added trueskill() -1.1.3.002: - - renamed regression class to Regression, regression_engine() to regression gliko2_engine class to Gliko2 -1.1.3.001: - - changed glicko2() to return tuple instead of array -1.1.3.000: - - added glicko2_engine class and glicko() - - verified glicko2() accuracy -1.1.2.003: - - fixed elo() -1.1.2.002: - - added elo() - - elo() has bugs to be fixed -1.1.2.001: - - readded regrression import -1.1.2.000: - - integrated regression.py as regression class - - removed regression import - - fixed metadata for regression class - - fixed metadata for analysis class -1.1.1.001: - - regression_engine() bug fixes, now actaully regresses -1.1.1.000: - - added regression_engine() - - added all regressions except polynomial -1.1.0.007: - - updated _init_device() -1.1.0.006: - - removed useless try statements -1.1.0.005: - - removed impossible outcomes -1.1.0.004: - - added performance metrics (r^2, mse, rms) -1.1.0.003: - - resolved nopython mode for mean, median, stdev, variance -1.1.0.002: - - 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: - - removed from sklearn import * to resolve uneeded wildcard imports -1.1.0.000: - - removed c_entities,nc_entities,obstacles,objectives from __all__ - - applied numba.jit to all functions - - depreciated and removed stdev_z_split - - cleaned up histo_analysis to include numpy and numba.jit optimizations - - depreciated and removed all regression functions in favor of future pytorch optimizer - - 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: - - refactored - - numpyed everything - - removed stats in favor of numpy functions -1.0.8.005: - - minor fixes -1.0.8.004: - - removed a few unused dependencies -1.0.8.003: - - 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: - - refactors - - bugfixes -1.0.8.000: - - depreciated histo_analysis_old - - depreciated debug - - altered basic_analysis to take array data instead of filepath - - refactor - - optimization -1.0.7.002: - - bug fixes -1.0.7.001: - - bug fixes -1.0.7.000: - - added tanh_regression (logistical regression) - - bug fixes -1.0.6.005: - - added z_normalize function to normalize dataset - - bug fixes -1.0.6.004: - - bug fixes -1.0.6.003: - - bug fixes -1.0.6.002: - - bug fixes -1.0.6.001: - - corrected __all__ to contain all of the functions -1.0.6.000: - - added calc_overfit, which calculates two measures of overfit, error and performance - - added calculating overfit to optimize_regression -1.0.5.000: - - 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: - - added __changelog__ - - updated debug function with log and exponential regressions -1.0.4.001: - - added log regressions - - added exponential regressions - - added log_regression and exp_regression to __all__ -1.0.3.008: - - added debug function to further consolidate functions -1.0.3.007: - - added builtin benchmark function - - added builtin random (linear) data generation function - - added device initialization (_init_device) -1.0.3.006: - - 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: - - major bug fixes - - updated historical analysis - - depreciated old historical analysis -1.0.3.004: - - added __version__, __author__, __all__ - - added polynomial regression - - added root mean squared function - - added r squared function -1.0.3.003: - - bug fixes - - added c_entities -1.0.3.002: - - bug fixes - - added nc_entities, obstacles, objectives - - consolidated statistics.py to analysis.py -1.0.3.001: - - compiled 1d, column, and row basic stats into basic stats function -1.0.3.000: - - added historical analysis function -1.0.2.xxx: - - added z score test -1.0.1.xxx: - - major bug fixes -1.0.0.xxx: - - added loading csv - - added 1d, column, row basic stats + 1.1.6.002: + - changed layout of __changelog to be vscode friendly + 1.1.6.001: + - added additional hyperparameters to decisiontree() + 1.1.6.000: + - fixed __version__ + - fixed __all__ order + - added decisiontree() + 1.1.5.003: + - added pca + 1.1.5.002: + - reduced import list + - added kmeans clustering engine + 1.1.5.001: + - simplified regression by using .to(device) + 1.1.5.000: + - added polynomial regression to regression(); untested + 1.1.4.000: + - added trueskill() + 1.1.3.002: + - renamed regression class to Regression, regression_engine() to regression gliko2_engine class to Gliko2 + 1.1.3.001: + - changed glicko2() to return tuple instead of array + 1.1.3.000: + - added glicko2_engine class and glicko() + - verified glicko2() accuracy + 1.1.2.003: + - fixed elo() + 1.1.2.002: + - added elo() + - elo() has bugs to be fixed + 1.1.2.001: + - readded regrression import + 1.1.2.000: + - integrated regression.py as regression class + - removed regression import + - fixed metadata for regression class + - fixed metadata for analysis class + 1.1.1.001: + - regression_engine() bug fixes, now actaully regresses + 1.1.1.000: + - added regression_engine() + - added all regressions except polynomial + 1.1.0.007: + - updated _init_device() + 1.1.0.006: + - removed useless try statements + 1.1.0.005: + - removed impossible outcomes + 1.1.0.004: + - added performance metrics (r^2, mse, rms) + 1.1.0.003: + - resolved nopython mode for mean, median, stdev, variance + 1.1.0.002: + - 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: + - removed from sklearn import * to resolve uneeded wildcard imports + 1.1.0.000: + - removed c_entities,nc_entities,obstacles,objectives from __all__ + - applied numba.jit to all functions + - depreciated and removed stdev_z_split + - cleaned up histo_analysis to include numpy and numba.jit optimizations + - depreciated and removed all regression functions in favor of future pytorch optimizer + - 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: + - refactored + - numpyed everything + - removed stats in favor of numpy functions + 1.0.8.005: + - minor fixes + 1.0.8.004: + - removed a few unused dependencies + 1.0.8.003: + - 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: + - refactors + - bugfixes + 1.0.8.000: + - depreciated histo_analysis_old + - depreciated debug + - altered basic_analysis to take array data instead of filepath + - refactor + - optimization + 1.0.7.002: + - bug fixes + 1.0.7.001: + - bug fixes + 1.0.7.000: + - added tanh_regression (logistical regression) + - bug fixes + 1.0.6.005: + - added z_normalize function to normalize dataset + - bug fixes + 1.0.6.004: + - bug fixes + 1.0.6.003: + - bug fixes + 1.0.6.002: + - bug fixes + 1.0.6.001: + - corrected __all__ to contain all of the functions + 1.0.6.000: + - added calc_overfit, which calculates two measures of overfit, error and performance + - added calculating overfit to optimize_regression + 1.0.5.000: + - 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: + - added __changelog__ + - updated debug function with log and exponential regressions + 1.0.4.001: + - added log regressions + - added exponential regressions + - added log_regression and exp_regression to __all__ + 1.0.3.008: + - added debug function to further consolidate functions + 1.0.3.007: + - added builtin benchmark function + - added builtin random (linear) data generation function + - added device initialization (_init_device) + 1.0.3.006: + - 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: + - major bug fixes + - updated historical analysis + - depreciated old historical analysis + 1.0.3.004: + - added __version__, __author__, __all__ + - added polynomial regression + - added root mean squared function + - added r squared function + 1.0.3.003: + - bug fixes + - added c_entities + 1.0.3.002: + - bug fixes + - added nc_entities, obstacles, objectives + - consolidated statistics.py to analysis.py + 1.0.3.001: + - compiled 1d, column, and row basic stats into basic stats function + 1.0.3.000: + - added historical analysis function + 1.0.2.xxx: + - added z score test + 1.0.1.xxx: + - major bug fixes + 1.0.0.xxx: + - added loading csv + - added 1d, column, row basic stats """ __author__ = (