geocif 0.1.95__tar.gz → 0.1.96__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.1.95/geocif.egg-info → geocif-0.1.96}/PKG-INFO +1 -1
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/feature_selection.py +23 -1
- {geocif-0.1.95 → geocif-0.1.96/geocif.egg-info}/PKG-INFO +1 -1
- {geocif-0.1.95 → geocif-0.1.96}/setup.py +1 -1
- {geocif-0.1.95 → geocif-0.1.96}/LICENSE +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/MANIFEST.in +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/README.md +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/__init__.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/agmet/__init__.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/agmet/geoagmet.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/agmet/plot.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/agmet/utils.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/analysis.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/backup/__init__.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/backup/constants.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/backup/features.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/backup/geo.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/backup/geocif.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/backup/metadata.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/backup/models.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/cei/__init__.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/cei/definitions.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/cei/indices.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/experiments.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/geocif.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/geocif_runner.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/indices_runner.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/indices_runner_angola.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/indices_runner_madagascar.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/indices_runner_malawi.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/indices_runner_mozambique.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/indices_runner_south_africa.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/indices_runner_zambia.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/indices_runner_zimbabwe.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/logger.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/__init__.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/correlations.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/embedding.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/feature_engineering.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/outliers.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/outlook.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/output.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/spatial_autocorrelation.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/stages.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/stats.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/trainers.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/trend.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/ml/xai.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/mm.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/__init__.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/aa.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/area.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/automl.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/download_esi.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/enso.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/eval.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/gamtest.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/gee_access.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/misc.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/play_xagg.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/reg.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/sustain.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/test_catboost.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/tmp.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/tmp2.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/tmp3.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/tmp4.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/tmp5.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/playground/wolayita_maize_mask.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/risk/__init__.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/risk/impact_assessment.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/utils.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/viz/__init__.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/viz/gt.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/viz/plot.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif/viz/tmp.py +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif.egg-info/SOURCES.txt +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif.egg-info/dependency_links.txt +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif.egg-info/not-zip-safe +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/geocif.egg-info/top_level.txt +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/requirements.txt +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/setup.cfg +0 -0
- {geocif-0.1.95 → geocif-0.1.96}/tests/test_geocif.py +0 -0
@@ -133,6 +133,27 @@ def select_features(X, y, method="RFE", min_features_to_select=3, threshold_nan=
|
|
133
133
|
selected_features = (
|
134
134
|
shap_importance_df["feature"].head(optimal_N).values.tolist()
|
135
135
|
)
|
136
|
+
elif method == "stabl":
|
137
|
+
from stabl.stabl import Stabl
|
138
|
+
from sklearn.linear_model import LogisticRegression
|
139
|
+
|
140
|
+
lasso = LogisticRegression(
|
141
|
+
penalty="l1", class_weight="balanced", max_iter=int(1e6), solver="liblinear", random_state=42
|
142
|
+
)
|
143
|
+
stabl = Stabl(
|
144
|
+
base_estimator=lasso,
|
145
|
+
n_bootstraps=100,
|
146
|
+
artificial_type="knockoff",
|
147
|
+
artificial_proportion=.5,
|
148
|
+
replace=False,
|
149
|
+
fdr_threshold_range=np.arange(0.1, 1, 0.01),
|
150
|
+
sample_fraction=0.5,
|
151
|
+
random_state=42,
|
152
|
+
lambda_grid={"C": np.linspace(0.004, 0.4, 30)},
|
153
|
+
verbose=1
|
154
|
+
)
|
155
|
+
stabl.fit(X, y)
|
156
|
+
selected_features = stabl.get_feature_names_out()
|
136
157
|
elif method == "feature_engine":
|
137
158
|
from feature_engine.selection import SmartCorrelatedSelection
|
138
159
|
|
@@ -304,7 +325,8 @@ def select_features(X, y, method="RFE", min_features_to_select=3, threshold_nan=
|
|
304
325
|
else:
|
305
326
|
raise ValueError("Method not recognized. Use BorutaPy, Genetic, or RFE")
|
306
327
|
# tentative_features = X.columns[selector.support_weak_].tolist()
|
307
|
-
|
328
|
+
print(selected_features)
|
329
|
+
breakpoint()
|
308
330
|
non_eo = are_all_features_non_eo(selected_features)
|
309
331
|
if non_eo or method == "SelectKBest":
|
310
332
|
from sklearn.feature_selection import SelectKBest, f_regression
|
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
|