{"id":32200479,"url":"https://github.com/xiaoruizhu/spsp","last_synced_at":"2025-10-22T03:49:02.801Z","repository":{"id":56934051,"uuid":"389497171","full_name":"XiaoruiZhu/SPSP","owner":"XiaoruiZhu","description":"A novel approach for feature selection based on the entire solution paths rather than the choice of a single tuning parameter, which significantly improves the accuracy of the selection.","archived":false,"fork":false,"pushed_at":"2023-12-06T05:15:31.000Z","size":1542,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-22T03:49:02.295Z","etag":null,"topics":["feature-selection","r-package","statistics","variable-selection"],"latest_commit_sha":null,"homepage":"https://xiaorui.site/SPSP/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XiaoruiZhu.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-07-26T03:27:57.000Z","updated_at":"2023-10-20T19:36:35.000Z","dependencies_parsed_at":"2023-11-18T06:26:32.267Z","dependency_job_id":"6d802323-a2d1-4b27-8f27-1986721edc82","html_url":"https://github.com/XiaoruiZhu/SPSP","commit_stats":{"total_commits":24,"total_committers":2,"mean_commits":12.0,"dds":"0.41666666666666663","last_synced_commit":"b29a82c8844420de0ff88cf8e99621068f6d8961"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/XiaoruiZhu/SPSP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XiaoruiZhu%2FSPSP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XiaoruiZhu%2FSPSP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XiaoruiZhu%2FSPSP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XiaoruiZhu%2FSPSP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XiaoruiZhu","download_url":"https://codeload.github.com/XiaoruiZhu/SPSP/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XiaoruiZhu%2FSPSP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280376536,"owners_count":26320276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-22T02:00:06.515Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["feature-selection","r-package","statistics","variable-selection"],"created_at":"2025-10-22T03:49:01.288Z","updated_at":"2025-10-22T03:49:02.794Z","avatar_url":"https://github.com/XiaoruiZhu.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SPSP: an R Package for Selecting the relevant predictors by Partitioning the Solution Paths of the Penalized Likelihood Approach\n\n\u003c!-- badges: start --\u003e\n\n[![](https://img.shields.io/cran/v/SPSP?logo=R)](https://cran.r-project.org/package=SPSP)\n[![CRAN checks](https://badges.cranchecks.info/summary/SPSP.svg)](https://cran.r-project.org/web/checks/check_results_SPSP.html)\n[![](https://cranlogs.r-pkg.org/badges/grand-total/SPSP?color=blue)](https://cranlogs.r-pkg.org/badges/grand-total/SPSP)\n[![](https://cranlogs.r-pkg.org/badges/last-month/SPSP?color=green)](https://cranlogs.r-pkg.org/badges/last-month/SPSP?color=green)\n[![](https://cranlogs.r-pkg.org/badges/last-week/SPSP?color=yellow)](https://cranlogs.r-pkg.org/badges/last-week/SPSP?color=yellow)\n\n\u003c!-- badges: end --\u003e\n\nOverview\n--------\n\nAn implementation of the feature Selection procedure by Partitioning the entire Solution Paths\n(namely SPSP) to identify the relevant features rather than using a single tuning parameter. \nBy utilizing the entire solution paths, this procedure can obtain better selection accuracy than \nthe commonly used approach of selecting only one tuning parameter based on existing criteria, \ncross-validation (CV), generalized CV, AIC, BIC, and EBIC (Liu, Y., \u0026 Wang, P. (2018) \nhttps://doi.org/10.1214/18-EJS1434). It is more stable and accurate (low false positive and false negative\nrates) than other variable selection approaches. In addition, it can be flexibly coupled with \nthe solution paths of Lasso, adaptive Lasso, SCAD, MCP, ridge regression, and other penalized estimators.\n\n## Installation\n\nThe `SPSP` package is currently available on [SPSP CRAN](https://CRAN.R-project.org/package=SPSP).\n\n### Install `SPSP` development version from GitHub (recommended)\n\n``` r\n# Install the development version from GitHub\nif (!requireNamespace(\"devtools\")) install.packages(\"devtools\")\ndevtools::install_github(\"XiaoruiZhu/SPSP\")\n```\n\n### Install `SPSP` from the CRAN\n\n``` r\n# Install from CRAN\ninstall.packages(\"SPSP\")\n```\n\n## Example\n\nThe user-friendly function SPSP() conducts the selection by Partitioning the Solution\nPaths (the SPSP procedure) to selects the relevant predictors. The user only needs \nto specify the independent variables matrix, response, family, and a penalized method\nthat can generate the solution paths, for example, Lasso, adaptive Lasso, SCAD, MCP, \nridge regression. The embedded selection methods in this package can be called using\n`fitfun.SP = lasso.glmnet`. Currently, six methods are included: `lasso.glmnet`,\n`adalasso.glmnet`, `adalassoCV.glmnet`, `SCAD.ncvreg`, `MCP.ncvreg`, \nand `ridge.glmnet`.\n\nThe following example shows the R codes:\n\n``` r\nlibrary(SPSP)\ndata(HihgDim)\nlibrary(glmnet)\n\nx \u003c- as.matrix(HighDim[,-1])\ny \u003c- HighDim[,1]\n\n# SPSP + lasso\nspsp_lasso_1 \u003c- SPSP(x = x, y = y, family = \"gaussian\", fitfun.SP = lasso.glmnet,\n                     init = 1, standardize = FALSE, intercept = FALSE)\n\nhead(spsp_lasso_1$nonzero)\nhead(spsp_lasso_1$beta_SPSP)\n\n# SPSP + adalasso\nspsp_adalasso_5 \u003c- SPSP(x = x, y = y, family = \"gaussian\", fitfun.SP = adalasso.glmnet,\n                        init = 5, standardize = T, intercept = FALSE)\n                              \nhead(spsp_adalasso_5$nonzero)\nhead(spsp_adalasso_5$beta_SPSP)\n\n# SPSP + SCAD\nspsp_scad_5 \u003c- SPSP(x = x, y = y, family = \"gaussian\", fitfun.SP = SCAD.ncvreg,\n                    init = 5, standardize = T, intercept = FALSE)\n                              \nhead(spsp_scad_5$nonzero)\nhead(spsp_scad_5$beta_SPSP)\n```\n\nReferences\n----------\n\nLiu, Y., \u0026 Wang, P. (2018). Selection by partitioning the solution paths. *Electronic Journal of Statistics*, 12(1), 1988-2017. \u003c10.1214/18-EJS1434\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaoruizhu%2Fspsp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiaoruizhu%2Fspsp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaoruizhu%2Fspsp/lists"}