geocif 0.2.26__tar.gz → 0.2.28__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.26/geocif.egg-info → geocif-0.2.28}/PKG-INFO +1 -1
- {geocif-0.2.26 → geocif-0.2.28}/geocif/geocif.py +8 -4
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/feature_selection.py +6 -2
- {geocif-0.2.26 → geocif-0.2.28/geocif.egg-info}/PKG-INFO +1 -1
- {geocif-0.2.26 → geocif-0.2.28}/setup.py +1 -1
- {geocif-0.2.26 → geocif-0.2.28}/LICENSE +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/MANIFEST.in +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/README.md +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/__init__.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/agmet/__init__.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/agmet/geoagmet.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/agmet/plot.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/agmet/utils.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/analysis.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/backup/__init__.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/backup/constants.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/backup/features.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/backup/geo.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/backup/geocif.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/backup/metadata.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/backup/models.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/cei/__init__.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/cei/definitions.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/cei/indices.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/experiments.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/geocif_runner.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/indices_runner.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/indices_runner_angola.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/indices_runner_madagascar.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/indices_runner_malawi.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/indices_runner_mozambique.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/indices_runner_south_africa.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/indices_runner_zambia.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/indices_runner_zimbabwe.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/logger.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/__init__.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/correlations.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/embedding.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/feature_engineering.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/outliers.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/outlook.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/output.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/spatial_autocorrelation.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/stages.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/stats.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/trainers.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/trend.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/ml/xai.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/mm.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/__init__.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/aa.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/area.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/automl.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/download_esi.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/enso.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/eval.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/gamtest.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/gee_access.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/misc.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/play_xagg.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/reg.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/sustain.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/test_catboost.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/tmp.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/tmp2.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/tmp3.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/tmp4.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/tmp5.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/playground/wolayita_maize_mask.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/risk/__init__.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/risk/impact_assessment.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/utils.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/viz/__init__.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/viz/gt.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/viz/plot.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif/viz/tmp.py +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif.egg-info/SOURCES.txt +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif.egg-info/dependency_links.txt +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif.egg-info/not-zip-safe +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/geocif.egg-info/top_level.txt +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/requirements.txt +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/setup.cfg +0 -0
- {geocif-0.2.26 → geocif-0.2.28}/tests/test_geocif.py +0 -0
@@ -211,7 +211,7 @@ class Geocif:
|
|
211
211
|
# obj_pickle = outlook.Outlook(self.pickle_file)
|
212
212
|
# self.df_outlook = obj_pickle.read_outlook_file()
|
213
213
|
|
214
|
-
def apply_feature_selector(self, dir_output):
|
214
|
+
def apply_feature_selector(self, region, dir_output):
|
215
215
|
if self.model_name in ["cumulative_1", "cumulative_2", "cumulative_3"]:
|
216
216
|
all_features = self.X_train.columns
|
217
217
|
|
@@ -224,7 +224,11 @@ class Geocif:
|
|
224
224
|
else:
|
225
225
|
self.logger.info(f"Selecting features for {self.country} {self.crop}")
|
226
226
|
selector, _, self.selected_features = fs.select_features(
|
227
|
-
self.X_train,
|
227
|
+
self.X_train,
|
228
|
+
self.y_train,
|
229
|
+
method=self.feature_selection,
|
230
|
+
dir_output=dir_output,
|
231
|
+
region=region
|
228
232
|
)
|
229
233
|
self.logger.info(f"Selected features: {self.selected_features}")
|
230
234
|
|
@@ -837,8 +841,8 @@ class Geocif:
|
|
837
841
|
# Drop any columns with NaNs
|
838
842
|
self.X_train.dropna(axis=1, how="any", inplace=True)
|
839
843
|
self.y_train = df_region_train[self.target_column]
|
840
|
-
|
841
|
-
self.apply_feature_selector(dir_output)
|
844
|
+
|
845
|
+
self.apply_feature_selector(region, dir_output)
|
842
846
|
self.train_model(df_region_train, scaler, dir_output)
|
843
847
|
|
844
848
|
""" Predict """
|
@@ -1,3 +1,5 @@
|
|
1
|
+
import os
|
2
|
+
|
1
3
|
import numpy as np
|
2
4
|
from tqdm import tqdm
|
3
5
|
from sklearn.ensemble import RandomForestRegressor
|
@@ -38,7 +40,8 @@ def select_features(
|
|
38
40
|
min_features_to_select=3,
|
39
41
|
threshold_nan=0.2,
|
40
42
|
threshold_unique=0.6,
|
41
|
-
dir_output="."
|
43
|
+
dir_output=".",
|
44
|
+
region=None
|
42
45
|
):
|
43
46
|
"""
|
44
47
|
Feature-selection wrapper supporting many methods plus a new 'multi' option.
|
@@ -102,7 +105,8 @@ def select_features(
|
|
102
105
|
plt.tight_layout()
|
103
106
|
|
104
107
|
dir_output = dir_output / Path("feature_selection")
|
105
|
-
|
108
|
+
os.makedirs(dir_output, exist_ok=True)
|
109
|
+
fig.savefig(dir_output / f"feature_selection_frequency_{region}.png", dpi=300)
|
106
110
|
plt.close(fig)
|
107
111
|
|
108
112
|
return None, X_out, combined
|
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
|