Skip to content

Commit

Permalink
0.5.1
Browse files Browse the repository at this point in the history
  • Loading branch information
dselivanov committed Sep 12, 2022
1 parent e6afd99 commit aa9cf58
Show file tree
Hide file tree
Showing 14 changed files with 173 additions and 161 deletions.
1 change: 1 addition & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ docs/
^Makefile$
extradata/
revdep/
^CRAN-SUBMISSION$
4 changes: 2 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Package: rsparse
Type: Package
Title: Statistical Learning on Sparse Matrices
Version: 0.5.0
Version: 0.5.1
Authors@R: c(
person("Dmitriy", "Selivanov", role=c("aut", "cre", "cph"), email="[email protected]",
comment = c(ORCID = "0000-0001-5413-1506")),
Expand Down Expand Up @@ -57,5 +57,5 @@ Suggests:
StagedInstall: TRUE
URL: https://github.com/rexyai/rsparse
BugReports: https://github.com/rexyai/rsparse/issues
RoxygenNote: 7.1.1
RoxygenNote: 7.2.1
NeedsCompilation: yes
51 changes: 30 additions & 21 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,30 @@
- 2021-10-17 - `v0.5.0`
- reworked non-negative matrix factorization with brand-new Coordinate Descent solver for OLS
- WRMF can model user, item and global biases
- various performance improvements
- 2020-04-01 - `v0.4.0`
- updated docs with roxygen2 7.1
- added `ScaleNormalize` transformer
- added sparse*float S4 methods
- 2019-07-17 - `v0.3.3.2`
- faster `find_top_product()` - avoid BLAS and openmp thread contention
- correctly identify openmp on OSX
- fixed issue with CRAN 'rcnst' check
- use `install_name_tool` hook in the `.onLoad()` - changes location of the `float.so` for CRAN binary installation - see #25
- 2019-04-14 - `v0.3.3.1`
- fixed out of bound memory access as reported by CRAN UBSAN
- added ability to init GloVe embeddings with user provided values
- 2019-03-16 - - `v0.3.3`
- added methods to natively slice CSR matrices without converting them to triplet/CSC
- 2018-10-25
- add GloVe matrix factorization (adapted from `text2vec`)
- link to `float` package - credits to @snoweye and @wrathematics
# rsparse 0.5.1 (2022-09-11)
- update `configure` script, thanks to @david-cortes, see #73
- minor fixes in WRMF
- update docs with new roxygen2 to pass CRAN checks
- update NEWS.md ro follow CRAN format

# rsparse 0.5.0 (2021-10-17)
- reworked non-negative matrix factorization with brand-new Coordinate Descent solver for OLS
- WRMF can model user, item and global biases
- various performance improvements

# rsparse 0.4.0 (2020-04-01)
- updated docs with roxygen2 7.1
- added `ScaleNormalize` transformer
- added sparse*float S4 methods

# rsparse 0.3.3.2 (2019-07-17)
- faster `find_top_product()` - avoid BLAS and openmp thread contention
- correctly identify openmp on OSX
- fixed issue with CRAN 'rcnst' check
- use `install_name_tool` hook in the `.onLoad()` - changes location of the `float.so` for CRAN binary installation - see #25

# rsparse 0.3.3.1 (2019-04-14)
- fixed out of bound memory access as reported by CRAN UBSAN
- added ability to init GloVe embeddings with user provided values

# rsparse 0.3.3 (2019-03-16)
- added methods to natively slice CSR matrices without converting them to triplet/CSC
- add GloVe matrix factorization (adapted from `text2vec`)
- link to `float` package - credits to @snoweye and @wrathematics
2 changes: 1 addition & 1 deletion R/model_FTRL.R
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ FTRL = R6::R6Class(
},
#-----------------------------------------------------------------
load = function(x) {
if (class(x) != "ftrl_model_dump")
if (!inherits(x, "ftrl_model_dump"))
stop("input should be class of 'ftrl_model_dump' - list of model parameters")
private$init_model_param(learning_rate = x$learning_rate, learning_rate_decay = x$learning_rate_decay,
lambda = x$lambda, l1_ratio = x$l1_ratio,
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Please reach us if you need **commercial support** - [[email protected]](mailto:hell

### Classification/Regression

1. [Follow the proximally-regularized leader](https://www.jmlr.org/proceedings/papers/v15/mcmahan11b/mcmahan11b.pdf) which allows to solve **very large linear/logistic regression** problems with elastic-net penalty. Solver uses stochastic gradient descent with adaptive learning rates (so can be used for online learning - not necessary to load all data to RAM). See [Ad Click Prediction: a View from the Trenches](https://www.eecs.tufts.edu/~dsculley/papers/ad-click-prediction.pdf) for more examples.
1. [Follow the proximally-regularized leader](http://proceedings.mlr.press/v15/mcmahan11b/mcmahan11b.pdf) which allows to solve **very large linear/logistic regression** problems with elastic-net penalty. Solver uses stochastic gradient descent with adaptive learning rates (so can be used for online learning - not necessary to load all data to RAM). See [Ad Click Prediction: a View from the Trenches](https://www.eecs.tufts.edu/~dsculley/papers/ad-click-prediction.pdf) for more examples.
- Only logistic regerssion implemented at the moment
- Native format for matrices is CSR - `Matrix::RsparseMatrix`. However common R `Matrix::CsparseMatrix` (`dgCMatrix`) will be converted automatically.
1. [Factorization Machines](https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf) supervised learning algorithm which learns second order polynomial interactions in a factorized way. We provide highly optimized SIMD accelerated implementation.
Expand All @@ -31,7 +31,7 @@ Please reach us if you need **commercial support** - [[email protected]](mailto:hell

1. Vanilla **Maximum Margin Matrix Factorization** - classic approch for "rating" prediction. See `WRMF` class and constructor option `feedback = "explicit"`. Original paper which indroduced MMMF could be found [here](https://ttic.uchicago.edu/~nati/Publications/MMMFnips04.pdf).
* <img src="https://raw.githubusercontent.com/rexyai/rsparse/master/docs/img/MMMF.png" width="400">
1. **Weighted Regularized Matrix Factorization (WRMF)** from [Collaborative Filtering for Implicit Feedback Datasets](https://www.researchgate.net/profile/Yifan-Hu-25/publication/220765111_Collaborative_Filtering_for_Implicit_Feedback_Datasets/links/0912f509c579ddd954000000/Collaborative-Filtering-for-Implicit-Feedback-Datasets.pdf). See `WRMF` class and constructor option `feedback = "implicit"`.
1. **Weighted Regularized Matrix Factorization (WRMF)** from [Collaborative Filtering for Implicit Feedback Datasets](http://yifanhu.net/PUB/cf.pdf). See `WRMF` class and constructor option `feedback = "implicit"`.
We provide 2 solvers:
1. Exact based on Cholesky Factorization
1. Approximated based on fixed number of steps of **Conjugate Gradient**.
Expand Down
8 changes: 5 additions & 3 deletions cran-comments.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Resubmission
# New submission

- fixed pkg imports to not break dependencies
- fixed HTML validation problems discovered by CRAN checks
- fixed NEWS.md to follow CRAN format
- failing tests on "r-oldrel-windows-ix86+x86_64" are due to the lack of `MatrixExtra` library. I'm not sure why this happened on CRAN server

# Test environments

Expand All @@ -9,4 +11,4 @@

# R CMD check results

0 errors | 0 warning | 0 notes
One misc note which shows 403 error when accessing [http://yifanhu.net/PUB/cf.pdf](http://yifanhu.net/PUB/cf.pdf). This seems CRAN server specific.
36 changes: 18 additions & 18 deletions man/FTRL.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 15 additions & 15 deletions man/FactorizationMachine.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 12 additions & 12 deletions man/GloVe.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit aa9cf58

Please sign in to comment.