Usage Examples ============== This section provides detailed examples of how to use the LimeSoDa package for various soil mapping tasks. Basic Usage ----------- First, let's import the necessary modules and load a dataset: .. code-block:: python import numpy as np import pandas as pd from sklearn.linear_model import LinearRegression from sklearn.metrics import r2_score, mean_squared_error from LimeSoDa import load_dataset from LimeSoDa.utils import split_dataset def basic_usage(): """Basic usage example with 10-fold CV""" # Set random seed np.random.seed(2025) # Load dataset BB_250 = load_dataset('BB.250') # Perform 10-fold CV y_true_all = [] y_pred_all = [] for fold in range(1, 11): X_train, X_test, y_train, y_test = split_dataset(BB_250, fold=fold, targets='SOC_target') model = LinearRegression() model.fit(X_train, y_train) y_pred = model.predict(X_test) y_true_all.extend(y_test.values) y_pred_all.extend(y_pred) # Calculate overall performance y_true_all = np.array(y_true_all) y_pred_all = np.array(y_pred_all) mean_r2 = r2_score(y_true_all, y_pred_all) mean_rmse = np.sqrt(mean_squared_error(y_true_all, y_pred_all)) std_r2 = 0 std_rmse = 0 return mean_r2, std_r2, mean_rmse, std_rmse if __name__ == "__main__": mean_r2, std_r2, mean_rmse, std_rmse = basic_usage() print("\nSOC prediction (10-fold CV):") print(f"Mean R-squared: {mean_r2:.7f} ± {std_r2:.7f}") # Mean R-squared: 0.7507837 ± 0.0000000 print(f"Mean RMSE: {mean_rmse:.7f} ± {std_rmse:.7f}") # Mean RMSE: 0.2448791 ± 0.0000000