A MATLAB implementation of the Sure Independence Screening and Sparsifying Operator (SISSO) method for symbolic regression based on compressed sensing.
The code is adapted from the official MATLAB repository SISSORegressor_MATLAB with additional modifications for descriptor construction, data splitting, and model evaluation.
-
explicit implementation of
Sure Independence Screening (SIS)andSparsifying Operator (SO)without black-box solvers -
single-file
.mscripts for easy inspection and modification -
explicit evaluation of model generalization performance
-
A minimal single-file MATLAB implementation derived from SISSORegressor_MATLAB.
-
Output:
Fitting 'small' data: 82 data points, 115 features.
Searching for models up to 3 dimemsions, considering 10 new features per iteration.
RMSE Model
1D: 0.296696 1.922 - 0.478 (r_p(A)+r_d(B))
2D: 0.218070 7.495 - 3.483 (r_p(A)+r_d(B)) + 0.392 (r_p(A)+r_d(B))^2
3D: 0.193928 7.280 - 3.528 (r_p(A)+r_d(B)) + 0.405 (r_p(A)+r_d(B))^2 + 0.293 |r_s(A)-r_d(B)|
Fitting 'big' data: 82 data points, 3391 features.
Searching for models up to 3 dimemsions, considering 26 new features per iteration.
RMSE Model
1D: 0.137310 -0.327 - 0.055 (IP(A)+IP(B))/r_p(A)^2
2D: 0.100216 -0.145 + 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.482 |r_s(A)-r_p(B)|/exp(r_s(A))
3D: 0.076428 -0.005 + 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.766 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.032 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 -
An extended version of v1, also provided as a single
.mfile. -
Inherits the core SISSO workflow (standardization, SIS, and SO).
-
Adds:
-
more flexible and robust descriptor construction
-
explicit Train / Validation / Test data splitting
-
standardized reporting of R2, MAE, and RMSE for generalization assessment
-
-
The official and most complete implementation, recommended for high-throughput applications.