From df42ae734e741d3849b4b2c3a713d4f56d96da1c Mon Sep 17 00:00:00 2001 From: art Date: Fri, 8 Nov 2019 12:41:37 -0600 Subject: [PATCH] analysis.py v 1.1.10.00 --- .../__pycache__/analysis.cpython-37.pyc | Bin 21247 -> 29283 bytes .../__pycache__/trueskill.cpython-37.pyc | Bin 32174 -> 32174 bytes data analysis/analysis/analysis.py | 10 +++++++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/data analysis/analysis/__pycache__/analysis.cpython-37.pyc b/data analysis/analysis/__pycache__/analysis.cpython-37.pyc index 8f845bb9d6d35c14366ac98beff1010881515375..0aed5924c68457e05b19b1da8c3261a849682535 100644 GIT binary patch literal 29283 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 F{{#9l-1`6k delta 7117 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 B!kPd8 diff --git a/data analysis/analysis/__pycache__/trueskill.cpython-37.pyc b/data analysis/analysis/__pycache__/trueskill.cpython-37.pyc index e906e4739e6c73d7c7fe1c5c82d35af7b9b1c598..1d5c8c7b500a5f67fd06daf559a6c6db1d31fef7 100644 GIT binary patch delta 22 ccmZ4Yn{nN5Ms6owUM>b8*qgIsBlqH309dXEg8%>k delta 22 ccmZ4Yn{nN5Ms6owUM>b85dXAcBlqH309POfTL1t6 diff --git a/data analysis/analysis/analysis.py b/data analysis/analysis/analysis.py index 3cde9427..ea13a981 100644 --- a/data analysis/analysis/analysis.py +++ b/data analysis/analysis/analysis.py @@ -7,10 +7,12 @@ # current benchmark of optimization: 1.33 times faster # setup: -__version__ = "1.1.9.002" +__version__ = "1.1.10.000" # changelog should be viewed using print(analysis.__changelog__) __changelog__ = """changelog: + 1.1.10.000: + - added numba.jit to remaining functions 1.1.9.002: - kernelized PCA and KNN 1.1.9.001: @@ -399,6 +401,7 @@ def variance(data): return np.var(data) +@jit(forceobj=True) def kmeans(data, n_clusters=8, init="k-means++", n_init=10, max_iter=300, tol=0.0001, precompute_distances="auto", verbose=0, random_state=None, copy_x=True, n_jobs=None, algorithm="auto"): kernel = sklearn.cluster.KMeans(n_clusters = n_clusters, init = init, n_init = n_init, max_iter = max_iter, tol = tol, precompute_distances = precompute_distances, verbose = verbose, random_state = random_state, copy_x = copy_x, n_jobs = n_jobs, algorithm = algorithm) @@ -408,12 +411,14 @@ def kmeans(data, n_clusters=8, init="k-means++", n_init=10, max_iter=300, tol=0. return centers, predictions +@jit(forceobj=True) def pca(data, n_components = None, copy = True, whiten = False, svd_solver = "auto", tol = 0.0, iterated_power = "auto", random_state = None): kernel = sklearn.decomposition.PCA(n_components = n_components, copy = copy, whiten = whiten, svd_solver = svd_solver, tol = tol, iterated_power = iterated_power, random_state = random_state) return kernel.fit_transform(data) +@jit(forceobj=True) def decisiontree(data, labels, test_size = 0.3, criterion = "gini", splitter = "default", max_depth = None): #expects *2d data and 1d labels data_train, data_test, labels_train, labels_test = sklearn.model_selection.train_test_split(data, labels, test_size=test_size, random_state=1) @@ -425,6 +430,7 @@ def decisiontree(data, labels, test_size = 0.3, criterion = "gini", splitter = " return model, cm, cr +@jit(forceobj=True) def knn(data, labels, test_size = 0.3, algorithm='auto', leaf_size=30, metric='minkowski', metric_params=None, n_jobs=None, n_neighbors=5, p=2, weights='uniform'): #expects *2d data and 1d labels post-scaling data_train, data_test, labels_train, labels_test = sklearn.model_selection.train_test_split(data, labels, test_size=test_size, random_state=1) @@ -436,6 +442,7 @@ def knn(data, labels, test_size = 0.3, algorithm='auto', leaf_size=30, metric='m return model, cm, cr +@jit(forceobj=True) class NaiveBayes: def guassian(self, data, labels, test_size = 0.3, priors = None, var_smoothing = 1e-09): @@ -482,6 +489,7 @@ class NaiveBayes: return model, cm, cr +@jit(forceobj=True) class SVM: class CustomKernel: