geocif 0.2.38__tar.gz → 0.2.40__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 (87) hide show
  1. {geocif-0.2.38/geocif.egg-info → geocif-0.2.40}/PKG-INFO +1 -1
  2. {geocif-0.2.38 → geocif-0.2.40}/geocif/geocif.py +3 -3
  3. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/trainers.py +7 -2
  4. {geocif-0.2.38 → geocif-0.2.40/geocif.egg-info}/PKG-INFO +1 -1
  5. {geocif-0.2.38 → geocif-0.2.40}/setup.py +1 -1
  6. {geocif-0.2.38 → geocif-0.2.40}/LICENSE +0 -0
  7. {geocif-0.2.38 → geocif-0.2.40}/MANIFEST.in +0 -0
  8. {geocif-0.2.38 → geocif-0.2.40}/README.md +0 -0
  9. {geocif-0.2.38 → geocif-0.2.40}/geocif/__init__.py +0 -0
  10. {geocif-0.2.38 → geocif-0.2.40}/geocif/agmet/__init__.py +0 -0
  11. {geocif-0.2.38 → geocif-0.2.40}/geocif/agmet/geoagmet.py +0 -0
  12. {geocif-0.2.38 → geocif-0.2.40}/geocif/agmet/plot.py +0 -0
  13. {geocif-0.2.38 → geocif-0.2.40}/geocif/agmet/utils.py +0 -0
  14. {geocif-0.2.38 → geocif-0.2.40}/geocif/analysis.py +0 -0
  15. {geocif-0.2.38 → geocif-0.2.40}/geocif/backup/__init__.py +0 -0
  16. {geocif-0.2.38 → geocif-0.2.40}/geocif/backup/constants.py +0 -0
  17. {geocif-0.2.38 → geocif-0.2.40}/geocif/backup/features.py +0 -0
  18. {geocif-0.2.38 → geocif-0.2.40}/geocif/backup/geo.py +0 -0
  19. {geocif-0.2.38 → geocif-0.2.40}/geocif/backup/geocif.py +0 -0
  20. {geocif-0.2.38 → geocif-0.2.40}/geocif/backup/metadata.py +0 -0
  21. {geocif-0.2.38 → geocif-0.2.40}/geocif/backup/models.py +0 -0
  22. {geocif-0.2.38 → geocif-0.2.40}/geocif/cei/__init__.py +0 -0
  23. {geocif-0.2.38 → geocif-0.2.40}/geocif/cei/definitions.py +0 -0
  24. {geocif-0.2.38 → geocif-0.2.40}/geocif/cei/indices.py +0 -0
  25. {geocif-0.2.38 → geocif-0.2.40}/geocif/experiments.py +0 -0
  26. {geocif-0.2.38 → geocif-0.2.40}/geocif/geocif_runner.py +0 -0
  27. {geocif-0.2.38 → geocif-0.2.40}/geocif/indices_runner.py +0 -0
  28. {geocif-0.2.38 → geocif-0.2.40}/geocif/indices_runner_angola.py +0 -0
  29. {geocif-0.2.38 → geocif-0.2.40}/geocif/indices_runner_madagascar.py +0 -0
  30. {geocif-0.2.38 → geocif-0.2.40}/geocif/indices_runner_malawi.py +0 -0
  31. {geocif-0.2.38 → geocif-0.2.40}/geocif/indices_runner_mozambique.py +0 -0
  32. {geocif-0.2.38 → geocif-0.2.40}/geocif/indices_runner_south_africa.py +0 -0
  33. {geocif-0.2.38 → geocif-0.2.40}/geocif/indices_runner_zambia.py +0 -0
  34. {geocif-0.2.38 → geocif-0.2.40}/geocif/indices_runner_zimbabwe.py +0 -0
  35. {geocif-0.2.38 → geocif-0.2.40}/geocif/logger.py +0 -0
  36. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/__init__.py +0 -0
  37. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/correlations.py +0 -0
  38. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/embedding.py +0 -0
  39. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/feature_engineering.py +0 -0
  40. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/feature_selection.py +0 -0
  41. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/outliers.py +0 -0
  42. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/outlook.py +0 -0
  43. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/output.py +0 -0
  44. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/spatial_autocorrelation.py +0 -0
  45. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/stages.py +0 -0
  46. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/stats.py +0 -0
  47. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/trend.py +0 -0
  48. {geocif-0.2.38 → geocif-0.2.40}/geocif/ml/xai.py +0 -0
  49. {geocif-0.2.38 → geocif-0.2.40}/geocif/mm.py +0 -0
  50. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/__init__.py +0 -0
  51. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/aa.py +0 -0
  52. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/area.py +0 -0
  53. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/automl.py +0 -0
  54. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/download_esi.py +0 -0
  55. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/enso.py +0 -0
  56. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/eval.py +0 -0
  57. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/gamtest.py +0 -0
  58. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/gee_access.py +0 -0
  59. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/misc.py +0 -0
  60. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/play_xagg.py +0 -0
  61. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/reg.py +0 -0
  62. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/sustain.py +0 -0
  63. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/test_catboost.py +0 -0
  64. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/tmp.py +0 -0
  65. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/tmp2.py +0 -0
  66. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/tmp3.py +0 -0
  67. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/tmp4.py +0 -0
  68. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/tmp5.py +0 -0
  69. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/wolayita.py +0 -0
  70. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/wolayita_maize_mask.py +0 -0
  71. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/wolayita_v2.py +0 -0
  72. {geocif-0.2.38 → geocif-0.2.40}/geocif/playground/wolayita_v3.py +0 -0
  73. {geocif-0.2.38 → geocif-0.2.40}/geocif/risk/__init__.py +0 -0
  74. {geocif-0.2.38 → geocif-0.2.40}/geocif/risk/impact_assessment.py +0 -0
  75. {geocif-0.2.38 → geocif-0.2.40}/geocif/utils.py +0 -0
  76. {geocif-0.2.38 → geocif-0.2.40}/geocif/viz/__init__.py +0 -0
  77. {geocif-0.2.38 → geocif-0.2.40}/geocif/viz/gt.py +0 -0
  78. {geocif-0.2.38 → geocif-0.2.40}/geocif/viz/plot.py +0 -0
  79. {geocif-0.2.38 → geocif-0.2.40}/geocif/viz/tmp.py +0 -0
  80. {geocif-0.2.38 → geocif-0.2.40}/geocif/viz/viz_ml.py +0 -0
  81. {geocif-0.2.38 → geocif-0.2.40}/geocif.egg-info/SOURCES.txt +0 -0
  82. {geocif-0.2.38 → geocif-0.2.40}/geocif.egg-info/dependency_links.txt +0 -0
  83. {geocif-0.2.38 → geocif-0.2.40}/geocif.egg-info/not-zip-safe +0 -0
  84. {geocif-0.2.38 → geocif-0.2.40}/geocif.egg-info/top_level.txt +0 -0
  85. {geocif-0.2.38 → geocif-0.2.40}/requirements.txt +0 -0
  86. {geocif-0.2.38 → geocif-0.2.40}/setup.cfg +0 -0
  87. {geocif-0.2.38 → geocif-0.2.40}/tests/test_geocif.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geocif
3
- Version: 0.2.38
3
+ Version: 0.2.40
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
@@ -328,6 +328,7 @@ class Geocif:
328
328
  elif self.model_name == "linear":
329
329
  self.model.fit(X_train_scaled, self.y_train)
330
330
  elif self.model_name == "gam":
331
+ breakpoint()
331
332
  self.model.fit(X_train_scaled.values, self.y_train.values)
332
333
  self.best_hyperparams = {}
333
334
  elif self.model_name in ["cubist"]:
@@ -786,7 +787,7 @@ class Geocif:
786
787
  """ Train, Predict, Explain and Store results for each region """
787
788
  pbar = tqdm(self.df_train["Region_ID"].unique(), leave=False)
788
789
  for idx, region in enumerate(pbar):
789
- if self.model_name in ["linear", "gam"]:
790
+ if self.model_name in ["linear"]:
790
791
  self.create_feature_names(stages, dict_best_cei[region][0:3].tolist())
791
792
  elif self.model_name in ["cumulative_1", "cumulative_2", "cumulative_3"]:
792
793
  self.create_feature_names(stages, {})
@@ -1271,8 +1272,7 @@ class Geocif:
1271
1272
  try:
1272
1273
  self.loop_ml(stage, dict_selected_features, dict_best_cei)
1273
1274
  except Exception as e:
1274
- breakpoint()
1275
- pass
1275
+ self.logger.error(e)
1276
1276
  wandb.finish()
1277
1277
 
1278
1278
  def setup(self, forecast_season, model):
@@ -351,9 +351,14 @@ def auto_train(
351
351
  "cumulative_3": s(0) + s(1) + s(2) + te(0, 1) + te(0, 2) + te(1, 2) + f(3),
352
352
  }
353
353
 
354
- formula = gam_formulas.get(model_name, gam_cls(n_splines=25, spline_order=3))
355
- model = GAM(formula).gridsearch(X_train.values, y_train.values, lam=np.logspace(-3, 3, 11)) if model_name.startswith("gam") else formula
354
+ # Fill nans with medians
355
+ for col in X_train.columns:
356
+ if X_train[col].isnull().any():
357
+ median = X_train[col].median()
358
+ X_train[col].fillna(median, inplace=True)
356
359
 
360
+ formula = gam_formulas.get(model_name, gam_cls(n_splines=25, spline_order=3))
361
+ model = gam_cls(n_splines=25, spline_order=3).gridsearch(X_train, y_train.values, lam=np.logspace(-3, 3, 11)) if model_name.startswith("gam") else formula
357
362
  elif model_name == "geospaNN":
358
363
  import torch
359
364
  import geospaNN
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geocif
3
- Version: 0.2.38
3
+ Version: 0.2.40
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.38",
53
+ version="0.2.40",
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