Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
6 of 12 committers (50.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.0%) to scientific vocabulary
Keywords from Contributors
Repository
Current version of the SuperLearner R package
Basic Info
- Host: GitHub
- Owner: ecpolley
- Language: R
- Default Branch: master
- Size: 860 KB
Statistics
- Stars: 281
- Watchers: 17
- Forks: 72
- Open Issues: 19
- Releases: 0
Metadata Files
README.md
SuperLearner: Prediction model ensembling method
This is the current version of the SuperLearner R package (version 2.*).
Features
- Automatic optimal predictor ensembling via cross-validation with one line of code.
- Dozens of algorithms: XGBoost, Random Forest, GBM, Lasso, SVM, BART, KNN, Decision Trees, Neural Networks, and more.
- Integrates with caret to support even more algorithms.
- Includes framework to quickly add custom algorithms to the ensemble.
- Visualize the performance of each algorithm using built-in plotting.
- Easily check multiple hyperparameter configurations for each algorithm in the ensemble.
- Add new algorithms or change the default parameters for existing ones.
- Screen variables (feature selection) based on univariate association, Random Forest, Elastic Net, et al. or custom screening algorithms.
- Multicore and multinode parallelization for scalability.
- External cross-validation to estimate the performance of the ensembling predictor.
- Ensemble can optimize for any target metric: mean-squared error, AUC, log likelihood, etc.
- Includes framework to provide custom loss functions and stacking algorithms.
Install the development version from GitHub:
```r
install.packages("remotes")
remotes::install_github("ecpolley/SuperLearner") ```
Install the current release from CRAN:
r
install.packages("SuperLearner")
Examples
SuperLearner makes it trivial to run many algorithms and use the best one or an ensemble.
```r data(Boston, package = "MASS")
set.seed(1)
sl_lib = c("SL.xgboost", "SL.randomForest", "SL.glmnet", "SL.nnet", "SL.ksvm", "SL.bartMachine", "SL.kernelKnn", "SL.rpartPrune", "SL.lm", "SL.mean")
Fit XGBoost, RF, Lasso, Neural Net, SVM, BART, K-nearest neighbors, Decision Tree,
OLS, and simple mean; create automatic ensemble.
result = SuperLearner(Y = Boston$medv, X = Boston[, -14], SL.library = sl_lib)
Review performance of each algorithm and ensemble weights.
result
Use external (aka nested) cross-validation to estimate ensemble accuracy.
This will take a while to run.
result2 = CV.SuperLearner(Y = Boston$medv, X = Boston[, -14], SL.library = sl_lib)
Plot performance of individual algorithms and compare to the ensemble.
plot(result2) + theme_minimal()
Hyperparameter optimization --
Fit elastic net with 5 different alphas: 0, 0.2, 0.4, 0.6, 0.8, 1.0.
0 corresponds to ridge and 1 to lasso.
enet = create.Learner("SL.glmnet", detailed_names = T, tune = list(alpha = seq(0, 1, length.out = 5)))
sl_lib2 = c("SL.mean", "SL.lm", enet$names)
enetsl = SuperLearner(Y = Boston$medv, X = Boston[, -14], SL.library = sllib2)
Identify the best-performing alpha value or use the automatic ensemble.
enet_sl ```
For more detailed examples please review the vignette:
r
vignette(package = "SuperLearner")
References
Polley EC, van der Laan MJ (2010) Super Learner in Prediction. U.C. Berkeley Division of Biostatistics Working Paper Series. Paper 226. http://biostats.bepress.com/ucbbiostat/paper266/
van der Laan, M. J., Polley, E. C. and Hubbard, A. E. (2007) Super Learner. Statistical Applications of Genetics and Molecular Biology, 6, article 25. http://www.degruyter.com/view/j/sagmb.2007.6.issue-1/sagmb.2007.6.1.1309/sagmb.2007.6.1.1309.xml
van der Laan, M. J., & Rose, S. (2011). Targeted learning: causal inference for observational and experimental data. Springer Science & Business Media.
Owner
- Name: Eric Polley
- Login: ecpolley
- Kind: user
- Location: Rochester, MN and Chicago, IL
- Company: The University of Chicago
- Twitter: ecpolley
- Repositories: 5
- Profile: https://github.com/ecpolley
Associate Professor, Department of Public Health Sciences
GitHub Events
Total
- Issues event: 5
- Watch event: 8
- Issue comment event: 8
- Fork event: 1
Last Year
- Issues event: 5
- Watch event: 8
- Issue comment event: 8
- Fork event: 1
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Eric Polley | e****y@g****m | 171 |
| Eric Polley | e****y@n****v | 92 |
| Chris Kennedy | c****n@g****m | 79 |
| Eric Polley | p****c@m****u | 31 |
| Sam Lendle | s****e@g****m | 7 |
| Sara E. Moore | s****e | 7 |
| Sara Moore | s****e@g****m | 6 |
| ledell | l****l@s****u | 3 |
| David Benkeser | b****r@b****u | 2 |
| Noah Greifer | n****r@g****m | 2 |
| David Benkeser | b****r@e****u | 2 |
| Tyler Hunt | t****t@u****u | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 55
- Total pull requests: 54
- Average time to close issues: 2 months
- Average time to close pull requests: 5 days
- Total issue authors: 38
- Total pull request authors: 6
- Average comments per issue: 3.16
- Average comments per pull request: 1.07
- Merged pull requests: 47
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 0
- Average time to close issues: 1 day
- Average time to close pull requests: N/A
- Issue authors: 4
- Pull request authors: 0
- Average comments per issue: 2.75
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- rdiaz02 (5)
- ecpolley (5)
- benkeser (4)
- jlstiles (3)
- caprone (3)
- bdwilliamson (2)
- ck37 (2)
- ellenxtan (1)
- Johann-Johann (1)
- william-denault (1)
- Naeemkh (1)
- tkasci (1)
- JackStat (1)
- RAP1989 (1)
- fabian-s (1)
Pull Request Authors
- ck37 (43)
- saraemoore (4)
- benkeser (3)
- hlhowardliu (2)
- ngreifer (1)
- nhejazi (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- cran 4,084 last-month
- Total docker downloads: 23,192
-
Total dependent packages: 45
(may contain duplicates) -
Total dependent repositories: 95
(may contain duplicates) - Total versions: 19
- Total maintainers: 1
cran.r-project.org: SuperLearner
Super Learner Prediction
- Homepage: https://github.com/ecpolley/SuperLearner
- Documentation: http://cran.r-project.org/web/packages/SuperLearner/SuperLearner.pdf
- License: GPL-3
-
Latest release: 2.0-29
published over 2 years ago
Rankings
Maintainers (1)
conda-forge.org: r-superlearner
- Homepage: https://github.com/ecpolley/SuperLearner
- License: GPL-3.0-only
-
Latest release: 2.0_28
published about 5 years ago
Rankings
Dependencies
- R >= 2.14.0 depends
- nnls * depends
- cvAUC * imports
- KernelKnn * suggests
- LogicReg * suggests
- MASS * suggests
- ROCR * suggests
- RhpcBLASctl * suggests
- SIS * suggests
- arm * suggests
- bartMachine * suggests
- biglasso * suggests
- bigmemory * suggests
- caret * suggests
- class * suggests
- devtools * suggests
- e1071 * suggests
- earth * suggests
- extraTrees * suggests
- gam >= 1.15 suggests
- gbm * suggests
- genefilter * suggests
- ggplot2 * suggests
- glmnet * suggests
- ipred * suggests
- kernlab * suggests
- knitr * suggests
- lattice * suggests
- mlbench * suggests
- nloptr * suggests
- nnet * suggests
- party * suggests
- polspline * suggests
- prettydoc * suggests
- quadprog * suggests
- randomForest * suggests
- ranger * suggests
- rmarkdown * suggests
- rpart * suggests
- speedglm * suggests
- spls * suggests
- sva * suggests
- testthat * suggests
- xgboost >= 0.6 suggests