soil prediction

Published: 6 May 2025| Version 1 | DOI: 10.17632/ccr8cwphpm.1
Contributor:
lanbing yu

Description

This script predicts soil thickness using both environmental features and graph-based features extracted from two types of graphs: (1) a geographic similarity graph based on spatial proximity, and (2) a feature similarity graph based on high-correlation environmental variables.

Files

Steps to reproduce

## Data Collection and Processing The uploaded dataset is a processed and anonymized example, provided solely for the purpose of demonstrating the workflow and allowing code reproducibility. It does not include original borehole data. Users intending to apply the method should prepare their own region-specific datasets (e.g., borehole or soil survey data) and adapt the script accordingly. Environmental variables such as DEM, slope, curvature, SPI, RSPI, and STI were derived using **ArcGIS** and **ArcGIS Pro**. Standard geospatial analysis tools (e.g., slope computation, flow accumulation, terrain curvature analysis) were used to generate the predictors. ## Software and Tools - Python (Jupyter Notebook, Pandas, NumPy, scikit-learn, NetworkX, scikit-optimize) - ArcGIS / ArcGIS Pro for spatial feature extraction - The entire workflow is implemented in Python and organized in the `soil_thickness_prediction.py` script. ## How to Use 1. Place your processed dataset under `data/processed_data2.csv` 2. Run `soil_thickness_prediction.py` to: - Construct graphs based on spatial and feature similarity - Extract graph features (centrality measures) - Train and evaluate Random Forest and Gradient Boosting models 3. Feature importance plots and model evaluation metrics will be shown upon completion. ## Disclaimer The dataset provided is for demonstration only and should not be used for scientific interpretation. Please replace it with your own valid, authorized, and region-specific soil data when applying this model.

Categories

Machine Learning, Soil, Soil Mapping, Soil Spatial Analysis

Licence