metacountregressor 0.1.134__tar.gz → 0.1.137__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/PKG-INFO +1 -1
  2. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/helperprocess.py +73 -4
  3. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/main.py +11 -6
  4. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor.egg-info/PKG-INFO +1 -1
  5. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/LICENSE.txt +0 -0
  6. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/README.rst +0 -0
  7. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/__init__.py +0 -0
  8. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/_device_cust.py +0 -0
  9. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/app_main.py +0 -0
  10. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/data_split_helper.py +0 -0
  11. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/halton.py +0 -0
  12. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/main_old.py +0 -0
  13. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/metaheuristics.py +0 -0
  14. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/pareto_file.py +0 -0
  15. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/pareto_logger__plot.py +0 -0
  16. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/setup.py +0 -0
  17. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/single_objective_finder.py +0 -0
  18. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/solution.py +0 -0
  19. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor/test_generated_paper2.py +0 -0
  20. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor.egg-info/SOURCES.txt +0 -0
  21. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor.egg-info/dependency_links.txt +0 -0
  22. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor.egg-info/not-zip-safe +0 -0
  23. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor.egg-info/requires.txt +0 -0
  24. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/metacountregressor.egg-info/top_level.txt +0 -0
  25. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/setup.cfg +0 -0
  26. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/setup.py +0 -0
  27. {metacountregressor-0.1.134 → metacountregressor-0.1.137}/tests/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: metacountregressor
3
- Version: 0.1.134
3
+ Version: 0.1.137
4
4
  Summary: Extensions for a Python package for estimation of count models.
5
5
  Home-page: https://github.com/zahern/CountDataEstimation
6
6
  Author: Zeke Ahern
@@ -1,9 +1,12 @@
1
+ from os.path import exists
2
+
1
3
  import numpy as np
2
4
  import pandas as pd
3
5
  import csv
4
6
  import matplotlib.pyplot as plt
5
7
  from scipy import stats as st
6
8
  from sklearn.preprocessing import StandardScaler
9
+ from win32comext.shell.demos.IActiveDesktop import existing_item
7
10
 
8
11
  plt.style.use('https://github.com/dhaitz/matplotlib-stylesheets/raw/master/pitayasmoothie-dark.mplstyle')
9
12
 
@@ -179,15 +182,81 @@ config = {
179
182
  }
180
183
  }
181
184
  '''
185
+ def null_handler(vari):
186
+ if vari in locals():
187
+ return vari
188
+ else:
189
+ print(f'{vari} does not exist, setting None..')
190
+ return None
191
+
192
+
193
+ def set_up_analyst_constraints(data_characteristic, model_terms, variable_decisions_alt = None):
182
194
 
183
195
 
196
+ name_data_characteristics = data_characteristic.columns.tolist()
197
+ # Get non-None values as a list
198
+ non_none_terms = [value for value in model_terms.values() if value is not None]
199
+ # how to make name_data_characteristics - non_none_terms
200
+
201
+ result = [item for item in name_data_characteristics if item not in non_none_terms]
202
+ distu = ['Normal', 'Uniform', 'Triangular']
203
+ tra = ['no', 'sqrt', 'arcsinh']
204
+ if model_terms.get('grouped') is None:
205
+ print('cant have grouped rpm, removing level 4 from every item')
206
+ MAKE_ALL_4_FALSE = True
207
+ else:
208
+ MAKE_ALL_4_FALSE = False
209
+
210
+ variable_decisions = {
211
+ name: {
212
+ 'levels': list(range(6)),
213
+ 'distributions': distu,
214
+ 'transformations': tra
215
+ }
216
+ for name in result
217
+ }
218
+ # Override elements in the original dictionary with the alt dictionary
219
+ if variable_decisions_alt is not None:
220
+ for key, alt_value in variable_decisions_alt.items():
221
+ if key in variable_decisions:
222
+ # Update the existing entry
223
+ variable_decisions[key].update(alt_value)
224
+ else:
225
+ # Add new entry if it doesn't exist
226
+ variable_decisions[key] = alt_value
227
+ # Prepare the data for the DataFrame
228
+ rows = []
229
+ for column_name, details in variable_decisions.items():
230
+ # Create a row dictionary
231
+ row = {'Column': column_name}
232
+
233
+ # Add levels as True/False for Level 0 through Level 5
234
+ for level in range(6): # Assuming Level 0 to Level 5
235
+
236
+ if level == 4 and MAKE_ALL_4_FALSE:
237
+ row[f'Level {level}'] = False
238
+ else:
239
+ row[f'Level {level}'] = level in details['levels']
240
+
241
+ # Add distributions and transformations directly
242
+ row['distributions'] = details['distributions']
243
+ row['transformations'] = details['transformations']
244
+
245
+ rows.append(row)
246
+
247
+ # Create the DataFrame
248
+ df = pd.DataFrame(rows)
249
+
250
+ data_new = data_characteristic.rename(columns={v: k for k, v in model_terms.items() if v in data_characteristic.columns})
251
+ return df, data_new
252
+
184
253
  # Function to guess Low, Medium, High ranges
185
254
  def guess_low_medium_high(column_name, series):
186
255
  # Compute the tertiles (33rd and 66th percentiles)
187
- print('did it make it...')
188
- mode_value = st.mode(series) # Get the most frequent value
189
- print('good')
190
- series = pd.to_numeric(series, errors='coerce').fillna(mode_value)
256
+ #print('did it make it...')
257
+ #mode_value = st.mode(series) # Get the most frequent value
258
+ #print('good')
259
+ # series = pd.to_numeric(series, errors='coerce').fillna(mode_value)
191
260
  low_threshold = np.quantile(series, 0.33)
192
261
  high_threshold = np.quantile(series,0.66)
193
262
 
@@ -28,11 +28,16 @@ def convert_df_columns_to_binary_and_wide(df):
28
28
  return df
29
29
 
30
30
 
31
+
32
+
33
+
34
+
31
35
  def process_arguments(**kwargs):
32
36
  '''
33
37
  TRYING TO TURN THE CSV FILES INTO RELEVANT ARGS
34
38
  '''
35
39
  #dataset
40
+ '''
36
41
  if kwargs.get('dataset_file', False
37
42
  ):
38
43
  dataset = pd.read_csv(kwargs.get('dataset_file'))
@@ -71,15 +76,15 @@ def process_arguments(**kwargs):
71
76
 
72
77
  update_constant = kwargs.get('analyst_constraints')
73
78
  #update the decision_constraints
74
-
79
+ '''
75
80
  data_characteristic = pd.read_csv(kwargs.get('problem_data', 'problem_data.csv'))
76
81
  # Extract the column as a list of characteristic names
77
- name_data_characteristics = data_characteristic.columns.tolist()
82
+ #name_data_characteristics = data_characteristic.columns.tolist()
78
83
 
79
84
  # Create the dictionary
80
- decision_constraints = {name: list(range(7)) for name in name_data_characteristics}
85
+ #decision_constraints = {name: list(range(7)) for name in name_data_characteristics}
81
86
 
82
- print('this gets all the features, I need to remove...')
87
+ #print('this gets all the features, I need to remove...')
83
88
 
84
89
  analyst_d = pd.read_csv(kwargs.get('decison_constraints', 'decisions.csv'))
85
90
  hyper = pd.read_csv('setup_hyper.csv')
@@ -377,10 +382,10 @@ def main(args, **kwargs):
377
382
  #data_info['data']['Panel'][0]
378
383
  args['decisions'] = data_info['analyst']
379
384
 
380
- if not np.isnan(data_info['data']['Grouped'][0]):
385
+ if type(data_info['data']['Grouped'][0]) == str and len(data_info['data']['Grouped'][0]) >1:
381
386
  args['group'] = data_info['data']['Grouped'][0]
382
387
  args['ID'] = data_info['data']['Grouped'][0]
383
- if not np.isnan(data_info['data']['Panel'][0]):
388
+ if type(data_info['data']['Panel'][0]) == str and len(data_info['data']['Panel'][0])>1:
384
389
  args['panels'] = data_info['data']['Panel'][0]
385
390
 
386
391
  df = pd.read_csv(str(data_info['data']['Problem'][0]))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: metacountregressor
3
- Version: 0.1.134
3
+ Version: 0.1.137
4
4
  Summary: Extensions for a Python package for estimation of count models.
5
5
  Home-page: https://github.com/zahern/CountDataEstimation
6
6
  Author: Zeke Ahern