RSSL

A Semi-Supervised Learning package for the R programming language

https://github.com/jkrijthe/rssl

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
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.0%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

A Semi-Supervised Learning package for the R programming language

Basic Info
  • Host: GitHub
  • Owner: jkrijthe
  • Language: R
  • Default Branch: master
  • Homepage:
  • Size: 26 MB
Statistics
  • Stars: 58
  • Watchers: 9
  • Forks: 15
  • Open Issues: 1
  • Releases: 1
Created over 13 years ago · Last pushed over 2 years ago
Metadata Files
Readme

README.Rmd

---
output: github_document
---


```{r, echo = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "README-"
)
```

[![CRAN status](https://www.r-pkg.org/badges/version/RSSL)](https://CRAN.R-project.org/package=RSSL)
[![R-CMD-check](https://github.com/jkrijthe/RSSL/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/jkrijthe/RSSL/actions/workflows/R-CMD-check.yaml)
[![CRAN mirror downloads](http://cranlogs.r-pkg.org/badges/RSSL)](https://cran.r-project.org/package=RSSL)
[![Codecov test coverage](https://codecov.io/gh/jkrijthe/RSSL/branch/master/graph/badge.svg)](https://app.codecov.io/gh/jkrijthe/RSSL?branch=master)


# R Semi-Supervised Learning package
This R package provides implementations of several semi-supervised learning methods, in particular, our own work involving constraint based semi-supervised learning. 

To cite the package, use either of these two references:

* Krijthe, J. H. (2016). RSSL: R package for Semi-supervised Learning. In B. Kerautret, M. Colom, & P. Monasse (Eds.), Reproducible Research in Pattern Recognition. RRPR 2016. Lecture Notes in Computer Science, vol 10214. (pp. 104–115). Springer International Publishing. https://doi.org/10.1007/978-3-319-56414-2_8. arxiv: https://arxiv.org/abs/1612.07993
* Krijthe, J.H. & Loog, M. (2015). Implicitly Constrained Semi-Supervised Least Squares Classification. In E. Fromont, T. de Bie, & M. van Leeuwen, eds. 14th International Symposium on Advances in Intelligent Data Analysis XIV (Lecture Notes in Computer Science Volume 9385). Saint Etienne. France, pp. 158-169.

# Installation Instructions
This package available on CRAN. The easiest way to install the package is to use:
```{r, eval=FALSE}
install.packages("RSSL")
```
To install the latest version of the package using the devtools package:
```{r, eval=FALSE}
library(devtools)
install_github("jkrijthe/RSSL")
```

# Usage
After installation, load the package as usual:
```{r results='hide'}
library(RSSL)
```
The following code generates a simple dataset, trains a supervised and two semi-supervised classifiers and evaluates their performance:
```{r example,results='hide',fig.path="tools/"}
library(dplyr,warn.conflicts = FALSE)
library(ggplot2,warn.conflicts = FALSE)

set.seed(2)
df <- generate2ClassGaussian(200, d=2, var = 0.2, expected=TRUE)

# Randomly remove labels
df <- df %>% add_missinglabels_mar(Class~.,prob=0.98) 

# Train classifier
g_nm <- NearestMeanClassifier(Class~.,df,prior=matrix(0.5,2))
g_self <- SelfLearning(Class~.,df,
                       method=NearestMeanClassifier,
                       prior=matrix(0.5,2))

# Plot dataset
df %>% 
  ggplot(aes(x=X1,y=X2,color=Class,size=Class)) +
  geom_point() +
  coord_equal() +
  scale_size_manual(values=c("-1"=3,"1"=3), na.value=1) +
  geom_linearclassifier("Supervised"=g_nm,
                  "Semi-supervised"=g_self)

# Evaluate performance: Squared Loss & Error Rate
mean(loss(g_nm,df))
mean(loss(g_self,df))


mean(predict(g_nm,df)!=df$Class)
mean(predict(g_self,df)!=df$Class)
```

# Acknowledgement
Work on this package was supported by Project 23 of the Dutch national program COMMIT.

Owner

  • Name: Jesse Krijthe
  • Login: jkrijthe
  • Kind: user
  • Company: Delft University of Technology

GitHub Events

Total
Last Year

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 264
  • Total Committers: 2
  • Avg Commits per committer: 132.0
  • Development Distribution Score (DDS): 0.004
Past Year
  • Commits: 10
  • Committers: 1
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jesse Krijthe j****e@g****m 263
Dirk Eddelbuettel e****d@d****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 13
  • Total pull requests: 3
  • Average time to close issues: 9 months
  • Average time to close pull requests: about 12 hours
  • Total issue authors: 12
  • Total pull request authors: 3
  • Average comments per issue: 2.15
  • Average comments per pull request: 1.67
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • andrewcstewart (2)
  • xunzhaozhenli (1)
  • 2533245542 (1)
  • jamescfli (1)
  • xiuru (1)
  • vermouthmjl (1)
  • liamnz (1)
  • kbenoit (1)
  • liuhyhit (1)
  • icesky0125 (1)
  • sonpro1296 (1)
  • EliHei (1)
Pull Request Authors
  • FabrizioSandri (1)
  • eddelbuettel (1)
  • MikelBa (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 284 last-month
  • Total dependent packages: 2
  • Total dependent repositories: 1
  • Total versions: 10
  • Total maintainers: 1
cran.r-project.org: RSSL

Implementations of Semi-Supervised Learning Approaches for Classification

  • Versions: 10
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 284 Last month
Rankings
Forks count: 4.3%
Stargazers count: 5.9%
Dependent packages count: 13.6%
Average: 14.2%
Downloads: 23.3%
Dependent repos count: 23.8%
Maintainers (1)
Last synced: 12 months ago

Dependencies

DESCRIPTION cran
  • R >= 2.10.0 depends
  • MASS * imports
  • Matrix * imports
  • Rcpp * imports
  • cluster * imports
  • dplyr * imports
  • ggplot2 * imports
  • kernlab * imports
  • methods * imports
  • quadprog * imports
  • reshape2 * imports
  • scales * imports
  • tidyr * imports
  • LiblineaR * suggests
  • SparseM * suggests
  • numDeriv * suggests
  • rmarkdown * suggests
  • testthat * suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite