geocif 0.2.54__tar.gz → 0.2.57__tar.gz

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.
Files changed (89) hide show
  1. {geocif-0.2.54/geocif.egg-info → geocif-0.2.57}/PKG-INFO +1 -1
  2. {geocif-0.2.54 → geocif-0.2.57}/geocif/geocif.py +14 -8
  3. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/trainers.py +21 -3
  4. {geocif-0.2.54 → geocif-0.2.57/geocif.egg-info}/PKG-INFO +1 -1
  5. {geocif-0.2.54 → geocif-0.2.57}/setup.py +1 -1
  6. {geocif-0.2.54 → geocif-0.2.57}/LICENSE +0 -0
  7. {geocif-0.2.54 → geocif-0.2.57}/MANIFEST.in +0 -0
  8. {geocif-0.2.54 → geocif-0.2.57}/README.md +0 -0
  9. {geocif-0.2.54 → geocif-0.2.57}/geocif/__init__.py +0 -0
  10. {geocif-0.2.54 → geocif-0.2.57}/geocif/agmet/__init__.py +0 -0
  11. {geocif-0.2.54 → geocif-0.2.57}/geocif/agmet/geoagmet.py +0 -0
  12. {geocif-0.2.54 → geocif-0.2.57}/geocif/agmet/plot.py +0 -0
  13. {geocif-0.2.54 → geocif-0.2.57}/geocif/agmet/utils.py +0 -0
  14. {geocif-0.2.54 → geocif-0.2.57}/geocif/analysis.py +0 -0
  15. {geocif-0.2.54 → geocif-0.2.57}/geocif/backup/__init__.py +0 -0
  16. {geocif-0.2.54 → geocif-0.2.57}/geocif/backup/constants.py +0 -0
  17. {geocif-0.2.54 → geocif-0.2.57}/geocif/backup/features.py +0 -0
  18. {geocif-0.2.54 → geocif-0.2.57}/geocif/backup/geo.py +0 -0
  19. {geocif-0.2.54 → geocif-0.2.57}/geocif/backup/geocif.py +0 -0
  20. {geocif-0.2.54 → geocif-0.2.57}/geocif/backup/metadata.py +0 -0
  21. {geocif-0.2.54 → geocif-0.2.57}/geocif/backup/models.py +0 -0
  22. {geocif-0.2.54 → geocif-0.2.57}/geocif/cei/__init__.py +0 -0
  23. {geocif-0.2.54 → geocif-0.2.57}/geocif/cei/definitions.py +0 -0
  24. {geocif-0.2.54 → geocif-0.2.57}/geocif/cei/indices.py +0 -0
  25. {geocif-0.2.54 → geocif-0.2.57}/geocif/experiments.py +0 -0
  26. {geocif-0.2.54 → geocif-0.2.57}/geocif/geocif_runner.py +0 -0
  27. {geocif-0.2.54 → geocif-0.2.57}/geocif/indices_runner.py +0 -0
  28. {geocif-0.2.54 → geocif-0.2.57}/geocif/indices_runner_algeria.py +0 -0
  29. {geocif-0.2.54 → geocif-0.2.57}/geocif/indices_runner_angola.py +0 -0
  30. {geocif-0.2.54 → geocif-0.2.57}/geocif/indices_runner_madagascar.py +0 -0
  31. {geocif-0.2.54 → geocif-0.2.57}/geocif/indices_runner_malawi.py +0 -0
  32. {geocif-0.2.54 → geocif-0.2.57}/geocif/indices_runner_mozambique.py +0 -0
  33. {geocif-0.2.54 → geocif-0.2.57}/geocif/indices_runner_south_africa.py +0 -0
  34. {geocif-0.2.54 → geocif-0.2.57}/geocif/indices_runner_zambia.py +0 -0
  35. {geocif-0.2.54 → geocif-0.2.57}/geocif/indices_runner_zimbabwe.py +0 -0
  36. {geocif-0.2.54 → geocif-0.2.57}/geocif/logger.py +0 -0
  37. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/__init__.py +0 -0
  38. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/correlations.py +0 -0
  39. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/embedding.py +0 -0
  40. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/feature_engineering.py +0 -0
  41. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/feature_selection.py +0 -0
  42. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/outliers.py +0 -0
  43. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/outlook.py +0 -0
  44. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/output.py +0 -0
  45. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/spatial_autocorrelation.py +0 -0
  46. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/stages.py +0 -0
  47. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/stats.py +0 -0
  48. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/trend.py +0 -0
  49. {geocif-0.2.54 → geocif-0.2.57}/geocif/ml/xai.py +0 -0
  50. {geocif-0.2.54 → geocif-0.2.57}/geocif/mm.py +0 -0
  51. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/__init__.py +0 -0
  52. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/aa.py +0 -0
  53. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/aaaa.py +0 -0
  54. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/area.py +0 -0
  55. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/automl.py +0 -0
  56. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/download_esi.py +0 -0
  57. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/enso.py +0 -0
  58. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/eval.py +0 -0
  59. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/gamtest.py +0 -0
  60. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/gee_access.py +0 -0
  61. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/misc.py +0 -0
  62. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/play_xagg.py +0 -0
  63. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/reg.py +0 -0
  64. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/sustain.py +0 -0
  65. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/test_catboost.py +0 -0
  66. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/tmp.py +0 -0
  67. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/tmp2.py +0 -0
  68. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/tmp3.py +0 -0
  69. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/tmp4.py +0 -0
  70. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/tmp5.py +0 -0
  71. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/wolayita.py +0 -0
  72. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/wolayita_maize_mask.py +0 -0
  73. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/wolayita_v2.py +0 -0
  74. {geocif-0.2.54 → geocif-0.2.57}/geocif/playground/wolayita_v3.py +0 -0
  75. {geocif-0.2.54 → geocif-0.2.57}/geocif/risk/__init__.py +0 -0
  76. {geocif-0.2.54 → geocif-0.2.57}/geocif/risk/impact_assessment.py +0 -0
  77. {geocif-0.2.54 → geocif-0.2.57}/geocif/utils.py +0 -0
  78. {geocif-0.2.54 → geocif-0.2.57}/geocif/viz/__init__.py +0 -0
  79. {geocif-0.2.54 → geocif-0.2.57}/geocif/viz/gt.py +0 -0
  80. {geocif-0.2.54 → geocif-0.2.57}/geocif/viz/plot.py +0 -0
  81. {geocif-0.2.54 → geocif-0.2.57}/geocif/viz/tmp.py +0 -0
  82. {geocif-0.2.54 → geocif-0.2.57}/geocif/viz/viz_ml.py +0 -0
  83. {geocif-0.2.54 → geocif-0.2.57}/geocif.egg-info/SOURCES.txt +0 -0
  84. {geocif-0.2.54 → geocif-0.2.57}/geocif.egg-info/dependency_links.txt +0 -0
  85. {geocif-0.2.54 → geocif-0.2.57}/geocif.egg-info/not-zip-safe +0 -0
  86. {geocif-0.2.54 → geocif-0.2.57}/geocif.egg-info/top_level.txt +0 -0
  87. {geocif-0.2.54 → geocif-0.2.57}/requirements.txt +0 -0
  88. {geocif-0.2.54 → geocif-0.2.57}/setup.cfg +0 -0
  89. {geocif-0.2.54 → geocif-0.2.57}/tests/test_geocif.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geocif
3
- Version: 0.2.54
3
+ Version: 0.2.57
4
4
  Summary: Models to visualize and forecast crop conditions and yields
5
5
  Home-page: https://ritviksahajpal.github.io/yield_forecasting/
6
6
  Author: Ritvik Sahajpal
@@ -296,12 +296,21 @@ class Geocif:
296
296
  cat_features=self.cat_features,
297
297
  verbose=False,
298
298
  )
299
- elif self.model_name in ["ngboost", "oblique", "tabpfn"]:
299
+ elif self.model_name in ["tabpfn"]:
300
+ # Identify the column indices for cat_features in X_train
301
+ if self.cat_features is None:
302
+ cat_feature_indices = []
303
+ cat_feature_indices = [X_train.columns.get_loc(col) for col in self.cat_features if
304
+ col in X_train.columns]
305
+
306
+ self.model.fit(X_train, self.y_train, categorical_feature_indices=cat_feature_indices)
307
+ elif self.model_name in ["ngboost", "oblique"]:
300
308
  X_train = X_train.drop(
301
309
  columns=[
302
310
  item for item in self.cat_features if item != "Harvest Year"
303
311
  ]
304
312
  )
313
+
305
314
  self.model.fit(X_train, self.y_train)
306
315
  elif self.model_name == "ydf":
307
316
  # Combine X_train and y_train
@@ -367,6 +376,8 @@ class Geocif:
367
376
  X_train_scaled = pd.concat([X_scaled_numeric, X_region], axis=1)
368
377
 
369
378
  self.model.fit(X_train_scaled, self.y_train)
379
+ elif self.model_name in ["desreg"]:
380
+ self.model.fit(X_train, self.y_train)
370
381
  except Exception as e:
371
382
  self.logger.error(
372
383
  f"Error fitting model for {self.country} {self.crop} {e}"
@@ -511,12 +522,7 @@ class Geocif:
511
522
  elif self.model_name == "ydf":
512
523
  y_pred = self.model.evaluate(X_test)
513
524
  best_hyperparameters = {}
514
- elif self.model_name == "tabpfn":
515
- X_test = X_test.drop(
516
- columns=[
517
- item for item in self.cat_features if item != "Harvest Year"
518
- ]
519
- )
525
+ elif self.model_name in ["tabpfn", "desreg"]:
520
526
  y_pred = self.model.predict(X_test)
521
527
  best_hyperparameters = {}
522
528
  else:
@@ -1353,7 +1359,7 @@ class Geocif:
1353
1359
  self.cluster_strategy = "single"
1354
1360
  self.select_cei_by = "Index"
1355
1361
  self.use_cumulative_features = True
1356
- elif self.model_name in ["tabpfn"]:
1362
+ elif self.model_name in ["tabpfn", "desreg"]:
1357
1363
  self.do_xai = False
1358
1364
  self.estimate_ci = False
1359
1365
  elif self.model_name in ["oblique", "ydf"]:
@@ -306,11 +306,29 @@ def auto_train(
306
306
  # Identify the column indices for cat_features in X_train
307
307
  if cat_features is None:
308
308
  cat_feature_indices = []
309
- cat_feature_indices = [X_train.columns.get_loc(col) for col in cat_features if
310
- col in X_train.columns]
309
+ else:
310
+ cat_feature_indices = [X_train.columns.get_loc(col) for col in cat_features if
311
+ col in X_train.columns]
312
+
311
313
  model = AutoTabPFNRegressor(max_time=600,
312
- categorical_feature_indices=cat_feature_indices,
314
+ #categorical_feature_indices=cat_feature_indices,
313
315
  ignore_pretraining_limits=True)
316
+ elif model_name == "desreg":
317
+ from desReg.des.DESRegression import DESRegression
318
+
319
+ model_catboost = CatBoostRegressor(**hyperparams, cat_features=cat_features)
320
+ from tabpfn_extensions.post_hoc_ensembles.sklearn_interface import AutoTabPFNRegressor
321
+
322
+ # Identify the column indices for cat_features in X_train
323
+ if cat_features is None:
324
+ cat_feature_indices = []
325
+ else:
326
+ cat_feature_indices = [X_train.columns.get_loc(col) for col in cat_features if
327
+ col in X_train.columns]
328
+ model_tabpfn = AutoTabPFNRegressor(max_time=600,
329
+ # categorical_feature_indices=cat_feature_indices,
330
+ ignore_pretraining_limits=True)
331
+ model = DESRegression(regressors_list=[model_catboost, model_tabpfn])
314
332
  elif model_name == "ngboost":
315
333
  if model_type == "REGRESSION":
316
334
  from ngboost import NGBRegressor
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geocif
3
- Version: 0.2.54
3
+ Version: 0.2.57
4
4
  Summary: Models to visualize and forecast crop conditions and yields
5
5
  Home-page: https://ritviksahajpal.github.io/yield_forecasting/
6
6
  Author: Ritvik Sahajpal
@@ -50,6 +50,6 @@ setup(
50
50
  test_suite="tests",
51
51
  tests_require=test_requirements,
52
52
  url="https://ritviksahajpal.github.io/yield_forecasting/",
53
- version="0.2.54",
53
+ version="0.2.57",
54
54
  zip_safe=False,
55
55
  )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes