Reproducibility package: PCA–SOM–KMeans clustering of LiDAR-derived structural predictors
Description
This dataset supports the study “Unsupervised Machine Learning of LiDAR-Derived Forest Structure to Support Ecosystem Monitoring in Minnesota’s Kawishiwi Ranger District” (Salehnia et al., 2026; under review at Ecological Informatics). The working hypothesis of the study is that LiDAR-derived canopy structure metrics, summarized over a regular grid, can be used to objectively delineate spatially coherent forest structural types (clusters) that are meaningful for ecosystem monitoring and interpretation of forest heterogeneity. The dataset includes (i) Python code to derive structural predictors from a Canopy Height Model (CHM) raster and (ii) code to perform an unsupervised learning workflow consisting of PCA-based dimensionality reduction, Self-Organizing Map (SOM) training, and K-means clustering. The main data file (predictors_with_latlon.csv) contains gridded observations with Latitude/Longitude (EPSG:4326) and corresponding LiDAR/CHM structural predictors that quantify canopy height distribution, variability, and vertical stratification (e.g., percentiles, variability metrics, and stratum-based measures). These predictors were computed from CHM values after applying a simple quality-control filter to reduce common artifacts (thresholds and justification are documented in the scripts and in the manuscript Methods). The workflow produces diagnostic outputs (PCA scree/variance summaries and loading tables, SOM grid evaluation metrics and U-matrix visualization, and K-means cluster selection metrics) and assigns each grid cell/point to a structural cluster. The resulting cluster patterns can be interpreted as distinct forest structural regimes across the study area (e.g., differences in canopy height, structural complexity, and strata occupancy), providing a reproducible basis for mapping and monitoring forest structure. Methodological details and parameter settings are described in Salehnia et al. (2026), Sections 2.2–2.5. Users can apply the scripts to other CHM/LiDAR products by updating file paths and adapting the CHM quality-control thresholds to match local canopy height ranges and data characteristics. Intended use: The code and example data can be reused to reproduce the results of the study and/or to apply the same PCA–SOM–K-means clustering approach to other LiDAR/CHM-derived structural datasets.
Files
Steps to reproduce
The scripts and dataset in this repository correspond to the manuscript “Unsupervised Machine Learning of LiDAR-Derived Forest Structure to Support Ecosystem Monitoring in Minnesota’s Kawishiwi Ranger District” (Salehnia et al., 2026), currently under review at Ecological Informatics. Methodological details are provided in the manuscript (Sections 2.2–2.5). To reproduce the main results: Install the required Python packages (see requirements.txt / README). Run 01_compute_lidar_predictors_from_chm.py to compute structural predictors from the input CHM GeoTIFF (edit paths and CHM range in the script). Use the resulting predictor table (predictors_with_latlon.csv) as input to 02_pca_som_kmeans_pipeline.py to perform PCA-based dimensionality reduction, SOM training, and K-means clustering (edit input/output paths and key parameters). Outputs (plots, tables, and the cluster GeoTIFF) are written to the outputs/ directory.
Institutions
- Iowa State UniversityIA, Ames
Categories
Funders
- US Forest ServiceUnited States Department of AgricultureDistrict of Columbia, United StatesGrant ID: 24JV11111137108