metacountregressor 0.1.139__py3-none-any.whl → 0.1.141__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- metacountregressor/helperprocess.py +15 -2
- metacountregressor/metaheuristics.py +14 -4
- metacountregressor/solution.py +18 -8
- {metacountregressor-0.1.139.dist-info → metacountregressor-0.1.141.dist-info}/METADATA +1 -1
- {metacountregressor-0.1.139.dist-info → metacountregressor-0.1.141.dist-info}/RECORD +8 -8
- {metacountregressor-0.1.139.dist-info → metacountregressor-0.1.141.dist-info}/LICENSE.txt +0 -0
- {metacountregressor-0.1.139.dist-info → metacountregressor-0.1.141.dist-info}/WHEEL +0 -0
- {metacountregressor-0.1.139.dist-info → metacountregressor-0.1.141.dist-info}/top_level.txt +0 -0
@@ -1,15 +1,28 @@
|
|
1
1
|
from os.path import exists
|
2
|
-
|
3
2
|
import numpy as np
|
4
3
|
import pandas as pd
|
5
4
|
import csv
|
6
5
|
import matplotlib.pyplot as plt
|
7
6
|
from scipy import stats as st
|
8
7
|
from sklearn.preprocessing import StandardScaler
|
9
|
-
|
8
|
+
|
10
9
|
|
11
10
|
plt.style.use('https://github.com/dhaitz/matplotlib-stylesheets/raw/master/pitayasmoothie-dark.mplstyle')
|
12
11
|
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
from itertools import product
|
17
|
+
|
18
|
+
# Function to create a list of dictionaries from a parameter grid
|
19
|
+
def generate_param_combinations(param_grid):
|
20
|
+
keys = param_grid.keys()
|
21
|
+
values = param_grid.values()
|
22
|
+
combinations = [dict(zip(keys, v)) for v in product(*values)]
|
23
|
+
return combinations
|
24
|
+
|
25
|
+
|
13
26
|
##Select the best Features Based on RF
|
14
27
|
def select_features(X_train, y_train, n_f=16):
|
15
28
|
try:
|
@@ -787,7 +787,7 @@ class SimulatedAnnealing(object):
|
|
787
787
|
self.accept = 0
|
788
788
|
self.profiler = []
|
789
789
|
self.update_t = self.cooling_linear_m
|
790
|
-
self.
|
790
|
+
self.get_directory()
|
791
791
|
self._crossover_perc = float(kwargs.get('_crossover_perc', 0.2)) or float(kwargs.get('_cr', 0.2))
|
792
792
|
self._obj_fun = objective_function
|
793
793
|
if objective_function.is_multi: # TODO Define more specific objectives in the intialiser
|
@@ -801,7 +801,7 @@ class SimulatedAnnealing(object):
|
|
801
801
|
self.pf = Pareto(self.obj_1, self.obj_2, False)
|
802
802
|
self._sa_memory = list()
|
803
803
|
|
804
|
-
def
|
804
|
+
def get_directory(self):
|
805
805
|
# checking if the directory demo_folder2
|
806
806
|
# exist or not.
|
807
807
|
if not os.path.isdir(self.instance_number):
|
@@ -1237,6 +1237,16 @@ class HarmonySearch(object):
|
|
1237
1237
|
Initialize HS with the specified objective function. Note that this objective function must implement ObjectiveFunctionInterface.
|
1238
1238
|
"""
|
1239
1239
|
self._obj_fun = objective_function
|
1240
|
+
## NEW CODE, TRYING TO EXCTACT OUT THE PARAMATERS
|
1241
|
+
self._hms = kwargs.get('_hms', 20)
|
1242
|
+
self._par = kwargs.get(_'par', .30)
|
1243
|
+
self.F = kwargs.get('_AI', 2) # mutation scale
|
1244
|
+
self.iter = kwargs.get('_max_iter', 10000)
|
1245
|
+
self.cr = kwargs.get('_crossover_perc') or kwargs.get('_cr', 0.2)
|
1246
|
+
self.instance_number = str(kwargs.get('instance_number', 1))
|
1247
|
+
|
1248
|
+
|
1249
|
+
|
1240
1250
|
# for printing basics metrics
|
1241
1251
|
self.print_verbose = True
|
1242
1252
|
# harmony_memory stores the best hms harmonies
|
@@ -1245,7 +1255,7 @@ class HarmonySearch(object):
|
|
1245
1255
|
self._harmony_history = list()
|
1246
1256
|
# saves the best fitness
|
1247
1257
|
self.instance_number = str(objective_function.instance_number)
|
1248
|
-
self.
|
1258
|
+
self.get_directory()
|
1249
1259
|
self._harmony_trace_best = list()
|
1250
1260
|
self._harmony_trace_incumbent = list()
|
1251
1261
|
if self._obj_fun.is_multi: # TODO Define more specific objectives in the intialiser
|
@@ -1261,7 +1271,7 @@ class HarmonySearch(object):
|
|
1261
1271
|
|
1262
1272
|
self.pf = Pareto(self.obj_1, self.obj_2, False)
|
1263
1273
|
|
1264
|
-
def
|
1274
|
+
def get_directory(self):
|
1265
1275
|
# checking if the directory demo_folder2
|
1266
1276
|
# exist or not.
|
1267
1277
|
if not os.path.isdir(self.instance_number):
|
metacountregressor/solution.py
CHANGED
@@ -32,7 +32,7 @@ from sklearn.metrics import mean_squared_error as MSPE
|
|
32
32
|
from statsmodels.tools.numdiff import approx_fprime, approx_hess
|
33
33
|
from sklearn.preprocessing import StandardScaler, MinMaxScaler
|
34
34
|
from texttable import Texttable
|
35
|
-
|
35
|
+
import time
|
36
36
|
try:
|
37
37
|
from ._device_cust import device as dev
|
38
38
|
from .pareto_file import Pareto, Solution
|
@@ -153,14 +153,14 @@ class ObjectiveFunction(object):
|
|
153
153
|
|
154
154
|
self.MAE = None
|
155
155
|
self.best_obj_1 = 1000000.0
|
156
|
-
self._obj_1 = 'bic'
|
157
|
-
self._obj_2 = 'MSE'
|
156
|
+
self._obj_1 = kwargs.get('_obj_1', 'bic')
|
157
|
+
self._obj_2 = kwargs.get('_obj_2', 'MSE')
|
158
158
|
self.numerical_hessian_calc = 0 # calculates hessian by statsmodels otherwise scipy
|
159
159
|
self.full_model = None
|
160
160
|
self.GP_parameter = 0
|
161
|
-
self.is_multi =
|
161
|
+
self.is_multi = kwargs.get('is_multi', False)
|
162
162
|
self.complexity_level = 6
|
163
|
-
self._max_iterations_improvement =
|
163
|
+
self._max_iterations_improvement = 10000
|
164
164
|
self.generated_sln = set()
|
165
165
|
self.ave_mae = 0
|
166
166
|
# defalt paramaters for hs #TODO unpack into harmony search class
|
@@ -168,7 +168,7 @@ class ObjectiveFunction(object):
|
|
168
168
|
self._hms = 20
|
169
169
|
self._max_time = 60 * 60 * 24
|
170
170
|
self._hmcr = .5
|
171
|
-
self._par = 0.3
|
171
|
+
self._par = 0.3 #dont think this gets useted
|
172
172
|
self._mpai = 1
|
173
173
|
self._max_imp = 100000
|
174
174
|
self._WIC = 1000 # Number of Iterations without Multiobjective Improvement #tod chuck into solution
|
@@ -204,12 +204,17 @@ class ObjectiveFunction(object):
|
|
204
204
|
if 'instance_number' in kwargs:
|
205
205
|
self.instance_number = str(kwargs['instance_number'])
|
206
206
|
else:
|
207
|
+
|
208
|
+
print('no name set, setting name as 0')
|
207
209
|
self.instance_number = str(0) # set an arbitrary instance number
|
208
210
|
|
209
211
|
if not os.path.exists(self.instance_number):
|
210
|
-
|
212
|
+
if kwargs.get('make_directory', True):
|
213
|
+
print('Making a Directory, if you want to stop from storing the files to this directory set argumet: make_directory:False')
|
214
|
+
os.makedirs(self.instance_number)
|
211
215
|
|
212
216
|
if not hasattr(self, '_obj_1'):
|
217
|
+
print('_obj_1 required, define as bic, aic, ll')
|
213
218
|
raise Exception
|
214
219
|
|
215
220
|
self.pvalue_penalty = float(kwargs.get('pvalue_penalty', 0.5))
|
@@ -238,6 +243,9 @@ class ObjectiveFunction(object):
|
|
238
243
|
self.test_percentage = float(kwargs.get('test_percentage', 0))
|
239
244
|
self.val_percentage = float(kwargs.get('val_percentage', 0))
|
240
245
|
if self.test_percentage == 0:
|
246
|
+
print('test percentage is 0, please enter arg test_percentage as decimal, eg 0.8')
|
247
|
+
print('continuing single objective')
|
248
|
+
time.sleep(2)
|
241
249
|
self.is_multi = False
|
242
250
|
|
243
251
|
if 'panels' in kwargs and not (kwargs.get('panels') == None):
|
@@ -348,6 +356,7 @@ class ObjectiveFunction(object):
|
|
348
356
|
|
349
357
|
|
350
358
|
else:
|
359
|
+
print('No Panels. Grouped Random Paramaters Will not be estimated')
|
351
360
|
self.G = None
|
352
361
|
self._Gnum = 1
|
353
362
|
self._max_group_all_means = 0
|
@@ -395,7 +404,7 @@ class ObjectiveFunction(object):
|
|
395
404
|
|
396
405
|
|
397
406
|
|
398
|
-
self.Ndraws = 200
|
407
|
+
self.Ndraws = kwargs.get('Ndraws', 200)
|
399
408
|
self.draws1 = None
|
400
409
|
self.initial_sig = 1 # pass the test of a single model
|
401
410
|
self.pvalue_sig_value = .1
|
@@ -413,6 +422,7 @@ class ObjectiveFunction(object):
|
|
413
422
|
print('Setup Complete...')
|
414
423
|
else:
|
415
424
|
print('No Panels Supplied')
|
425
|
+
print('Setup Complete...')
|
416
426
|
self._characteristics_names = list(self._x_data.columns)
|
417
427
|
# define the variables
|
418
428
|
# self._transformations = ["no", "sqrt", "log", "exp", "fact", "arcsinh", 2, 3]
|
@@ -3,18 +3,18 @@ metacountregressor/_device_cust.py,sha256=759fnKmTYccJm4Lpi9_1reurh6OB9d6q9soPR0
|
|
3
3
|
metacountregressor/app_main.py,sha256=vY3GczTbGbBRalbzMkl_9jVW7RMgEOc6z2Dr1IZJv9c,10014
|
4
4
|
metacountregressor/data_split_helper.py,sha256=M2fIMdIO8znUaYhx5wlacRyNWdQjNYu1z1wkE-kFUYU,3373
|
5
5
|
metacountregressor/halton.py,sha256=jhovA45UBoZYU9g-hl6Lb2sBIx_ZBTNdPrpgkzR9fng,9463
|
6
|
-
metacountregressor/helperprocess.py,sha256=
|
6
|
+
metacountregressor/helperprocess.py,sha256=05698FXkXiAZi2JvVxCtaBwSf9LbW1lY8q_eFmEF5Nc,20739
|
7
7
|
metacountregressor/main.py,sha256=2Rx_mGIGzl4lhwkMb7DHvsBaawqEakKiVR1Yr2uG9Yo,22819
|
8
8
|
metacountregressor/main_old.py,sha256=eTS4ygq27MnU-dZ_j983Ucb-D5XfbVF8OJQK2hVVLZc,24123
|
9
|
-
metacountregressor/metaheuristics.py,sha256=
|
9
|
+
metacountregressor/metaheuristics.py,sha256=f3Jgg6NkPalcAeY2Nz8AePSDHQkVASxfceOLs_OMCug,106265
|
10
10
|
metacountregressor/pareto_file.py,sha256=whySaoPAUWYjyI8zo0hwAOa3rFk6SIUlHSpqZiLur0k,23096
|
11
11
|
metacountregressor/pareto_logger__plot.py,sha256=mEU2QN4wmsM7t39GJ_XhJ_jjsdl09JOmG0U2jICrAkI,30037
|
12
12
|
metacountregressor/setup.py,sha256=5UcQCCLR8Fm5odA3MX78WwahavxFq4mVD6oq0IuQvAY,936
|
13
13
|
metacountregressor/single_objective_finder.py,sha256=jVG7GJBqzSP4_riYr-kMMKy_LE3SlGmKMunNhHYxgRg,8011
|
14
|
-
metacountregressor/solution.py,sha256=
|
14
|
+
metacountregressor/solution.py,sha256=j8pWlmMmEkjBC798Fnh1fu0w7F6jrVtW43H2OSXv8Ts,278258
|
15
15
|
metacountregressor/test_generated_paper2.py,sha256=pwOoRzl1jJIIOUAAvbkT6HmmTQ81mwpsshn9SLdKOg8,3927
|
16
|
-
metacountregressor-0.1.
|
17
|
-
metacountregressor-0.1.
|
18
|
-
metacountregressor-0.1.
|
19
|
-
metacountregressor-0.1.
|
20
|
-
metacountregressor-0.1.
|
16
|
+
metacountregressor-0.1.141.dist-info/LICENSE.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
17
|
+
metacountregressor-0.1.141.dist-info/METADATA,sha256=0P_boUzZxFlgmSBgeEXHip5O0Yg-H6JMWurOQi7H9UQ,23434
|
18
|
+
metacountregressor-0.1.141.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
19
|
+
metacountregressor-0.1.141.dist-info/top_level.txt,sha256=zGG7UC5WIpr76gsFUpwJ4En2aCcoNTONBaS3OewwjR0,19
|
20
|
+
metacountregressor-0.1.141.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|