geocif 0.2.34__tar.gz → 0.2.36__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.
- {geocif-0.2.34/geocif.egg-info → geocif-0.2.36}/PKG-INFO +1 -1
- {geocif-0.2.34 → geocif-0.2.36}/geocif/geocif.py +14 -10
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/feature_engineering.py +0 -3
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/feature_selection.py +12 -8
- {geocif-0.2.34 → geocif-0.2.36/geocif.egg-info}/PKG-INFO +1 -1
- {geocif-0.2.34 → geocif-0.2.36}/setup.py +1 -1
- {geocif-0.2.34 → geocif-0.2.36}/LICENSE +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/MANIFEST.in +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/README.md +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/__init__.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/agmet/__init__.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/agmet/geoagmet.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/agmet/plot.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/agmet/utils.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/analysis.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/backup/__init__.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/backup/constants.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/backup/features.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/backup/geo.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/backup/geocif.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/backup/metadata.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/backup/models.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/cei/__init__.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/cei/definitions.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/cei/indices.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/experiments.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/geocif_runner.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/indices_runner.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/indices_runner_angola.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/indices_runner_madagascar.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/indices_runner_malawi.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/indices_runner_mozambique.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/indices_runner_south_africa.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/indices_runner_zambia.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/indices_runner_zimbabwe.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/logger.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/__init__.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/correlations.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/embedding.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/outliers.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/outlook.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/output.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/spatial_autocorrelation.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/stages.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/stats.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/trainers.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/trend.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/ml/xai.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/mm.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/__init__.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/aa.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/area.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/automl.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/download_esi.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/enso.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/eval.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/gamtest.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/gee_access.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/misc.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/play_xagg.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/reg.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/sustain.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/test_catboost.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/tmp.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/tmp2.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/tmp3.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/tmp4.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/tmp5.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/wolayita.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/wolayita_maize_mask.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/wolayita_v2.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/playground/wolayita_v3.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/risk/__init__.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/risk/impact_assessment.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/utils.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/viz/__init__.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/viz/gt.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/viz/plot.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/viz/tmp.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif/viz/viz_ml.py +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif.egg-info/SOURCES.txt +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif.egg-info/dependency_links.txt +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif.egg-info/not-zip-safe +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/geocif.egg-info/top_level.txt +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/requirements.txt +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/setup.cfg +0 -0
- {geocif-0.2.34 → geocif-0.2.36}/tests/test_geocif.py +0 -0
@@ -831,8 +831,16 @@ class Geocif:
|
|
831
831
|
df_region_train = df_region_train.dropna(subset=[self.target_column])
|
832
832
|
|
833
833
|
self.X_train = df_region_train[self.feature_names]
|
834
|
-
# Drop any columns with NaNs
|
835
|
-
|
834
|
+
# Drop any columns with NaNs except the lag yield columns
|
835
|
+
lag_prefix = "t -"
|
836
|
+
lag_cols = [
|
837
|
+
col for col in self.X_train.columns
|
838
|
+
if col.startswith(lag_prefix) and self.target in col
|
839
|
+
]
|
840
|
+
|
841
|
+
cols_with_na = self.X_train.columns[self.X_train.isna().any()]
|
842
|
+
cols_to_check = [col for col in cols_with_na if col not in lag_cols]
|
843
|
+
self.X_train.dropna(axis=1, how="any", subset=cols_to_check, inplace=True)
|
836
844
|
self.y_train = df_region_train[self.target_column]
|
837
845
|
|
838
846
|
self.apply_feature_selector(region, dir_output)
|
@@ -1260,7 +1268,10 @@ class Geocif:
|
|
1260
1268
|
)
|
1261
1269
|
pbar.update()
|
1262
1270
|
|
1263
|
-
|
1271
|
+
try:
|
1272
|
+
self.loop_ml(stage, dict_selected_features, dict_best_cei)
|
1273
|
+
except:
|
1274
|
+
pass
|
1264
1275
|
wandb.finish()
|
1265
1276
|
|
1266
1277
|
def setup(self, forecast_season, model):
|
@@ -1371,13 +1382,6 @@ class Geocif:
|
|
1371
1382
|
self.df_inputs[self.target].notna()
|
1372
1383
|
]["Harvest Year"].unique()
|
1373
1384
|
|
1374
|
-
# Exclude the current forecast season from all_seasons_with_yield
|
1375
|
-
self.all_seasons_with_yield = [
|
1376
|
-
season
|
1377
|
-
for season in self.all_seasons_with_yield
|
1378
|
-
if season != self.forecast_season
|
1379
|
-
]
|
1380
|
-
|
1381
1385
|
if self.method.endswith("_r"):
|
1382
1386
|
if self.forecast_season == self.today_year:
|
1383
1387
|
mask = self.df_inputs["Harvest Year"] == self.forecast_season
|
@@ -176,9 +176,6 @@ def compute_lag_yield(
|
|
176
176
|
if group[target_col].isnull().all():
|
177
177
|
continue
|
178
178
|
|
179
|
-
# Exclude the forecast season from the unique years
|
180
|
-
unique_years = unique_years[unique_years != forecast_season]
|
181
|
-
|
182
179
|
for harvest_year in unique_years:
|
183
180
|
closest_years = compute_closest_years(
|
184
181
|
all_seasons_with_yield, harvest_year, number_lag_years, only_historic=True
|
@@ -82,16 +82,20 @@ def select_features(
|
|
82
82
|
counter = Counter()
|
83
83
|
selections = {}
|
84
84
|
|
85
|
-
models = ["BorutaPy", "mrmr"]
|
85
|
+
models = ["Leshy", "BorutaPy", "mrmr"]
|
86
86
|
# run three selectors and count feature picks
|
87
87
|
for sub_m in models:
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
88
|
+
try:
|
89
|
+
_, _, feats = select_features(
|
90
|
+
X_clean, y,
|
91
|
+
method=sub_m,
|
92
|
+
min_features_to_select=min_features_to_select,
|
93
|
+
threshold_nan=threshold_nan,
|
94
|
+
threshold_unique=threshold_unique
|
95
|
+
)
|
96
|
+
except:
|
97
|
+
feats = []
|
98
|
+
|
95
99
|
selections[sub_m] = set(feats)
|
96
100
|
counter.update(feats)
|
97
101
|
|
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
|
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
|
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
|