{"id":15051472,"url":"https://github.com/gjjvdburg/rgensvm","last_synced_at":"2025-04-10T02:41:38.342Z","repository":{"id":31874475,"uuid":"126980694","full_name":"GjjvdBurg/RGenSVM","owner":"GjjvdBurg","description":"R package for the GenSVM classifier","archived":false,"fork":false,"pushed_at":"2023-01-28T12:32:23.000Z","size":209,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T04:11:46.245Z","etag":null,"topics":["classification","machine-learning","machine-learning-algorithms","multiclass-classification","r","support-vector-machine"],"latest_commit_sha":null,"homepage":"https://cran.r-project.org/web/packages/gensvm/index.html","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/GjjvdBurg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-27T12:09:24.000Z","updated_at":"2024-10-20T17:14:50.000Z","dependencies_parsed_at":"2023-02-15T16:15:56.522Z","dependency_job_id":null,"html_url":"https://github.com/GjjvdBurg/RGenSVM","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GjjvdBurg%2FRGenSVM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GjjvdBurg%2FRGenSVM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GjjvdBurg%2FRGenSVM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GjjvdBurg%2FRGenSVM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GjjvdBurg","download_url":"https://codeload.github.com/GjjvdBurg/RGenSVM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248144945,"owners_count":21055011,"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","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":["classification","machine-learning","machine-learning-algorithms","multiclass-classification","r","support-vector-machine"],"created_at":"2024-09-24T21:35:47.746Z","updated_at":"2025-04-10T02:41:38.319Z","avatar_url":"https://github.com/GjjvdBurg.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"GenSVM R Package\n================\n\n\u003c!-- badges: start --\u003e\n[![build](https://github.com/GjjvdBurg/RGenSVM/actions/workflows/build.yml/badge.svg)](https://github.com/GjjvdBurg/RGenSVM/actions/workflows/build.yml)\n\u003c!-- badges: end --\u003e\n\nThis package implements the [GenSVM Multiclass Support Vector \nMachine](https://jmlr.org/papers/v17/14-526.html) classifier in R.\n\n![Illustration of fitting GenSVM with an RBF kernel on the iris \ndataset](https://raw.githubusercontent.com/GjjvdBurg/RGenSVM/1f30df8d941d30ab546421bc56c92c9fa9cf8a59/.image.png)\n\n```r\n# Plot created with:\n\u003e library(gensvm)\n\u003e x \u003c- iris[, -5]\n\u003e y \u003c- iris[, 5]\n\u003e fit \u003c- gensvm(x, y, kernel='rbf', gamma=10, max.iter=5000, verbose=1, random.seed=123)\n\u003e plot(fit, xlim=c(-5, 5), ylim=c(-5, 5))\n\u003e title(\"Iris dataset (GenSVM + RBF)\")\n```\n\nIntroduction\n------------\n\nThe GenSVM classifier is a generalized multiclass support vector machine \n(SVM). This classifier aims to find decision boundaries that separate the \nclasses with as wide a margin as possible. In GenSVM, the loss functions that \nmeasures how misclassifications are counted is very flexible. This allows the \nuser to tune the classifier to the dataset at hand and potentially obtain \nhigher classification accuracy. Moreover, this flexibility means that \nGenSVM has a number of alternative multiclass SVMs as special cases. One of \nthe other advantages of GenSVM is that it is trained in the primal space, \nallowing the use of warm starts during optimization. This means that for \ncommon tasks such as cross validation or repeated model fitting, GenSVM can \nbe trained very quickly.\n\nFor more information about GenSVM, see the paper: [GenSVM: A Generalized \nMulticlass Support Vector Machine](https://jmlr.org/papers/v17/14-526.html) by \nG.J.J. van den Burg and P.J.F. Groenen (*Journal of Machine Learning \nResearch*, 2016).\n\n\nInstallation\n------------\n\nThis package can be installed from CRAN:\n\n```r\n\u003e install.packages('gensvm')\n```\n\nUsage\n-----\n\nThe package is extensively documented with many examples. See \n`?gensvm-package`, `?gensvm` and `?gensvm.grid` in R.\n\nThe main GenSVM functions are:\n* `gensvm` : Fit a GenSVM model for specific model parameters.\n* `gensvm.grid` : Run a cross-validated grid search for GenSVM.\n\nBoth these functions return S3 objects for which `plot` and `predict` \nfunctions are available. For the GenSVMGrid object the function is applied to \nthe best model found during training. For both of these objects a `coef` \nfunction is also available.\n\nThe following utility functions are also included in the package:\n* `gensvm.accuracy` : Compute the accuracy score between true and predicted \n  class labels\n* `gensvm.maxabs.scale` : Scale each column of the dataset by its maximum \n  absolute value, preserving sparsity and mapping the data to [-1, 1]\n* `gensvm.train.test.split` : Split a dataset into a training and testing \n  sample\n* `gensvm.refit` : Refit a fitted GenSVM model with slightly different \n  parameters or on a different dataset\n\nCiting\n------\n\nIf you use GenSVM in your work, please cite the paper using the information \navailable through the following R command:\n\n```r\n\u003e citation('gensvm')\n```\n\nAlternatively, you can use the following BibTeX code directly:\n\n```bib\n@article{JMLR:v17:14-526,\n  author  = {Gerrit J.J. {van den Burg} and Patrick J.F. Groenen},\n  title   = {{GenSVM}: A Generalized Multiclass Support Vector Machine},\n  journal = {Journal of Machine Learning Research},\n  year    = {2016},\n  volume  = {17},\n  number  = {225},\n  pages   = {1-42},\n  url     = {https://jmlr.org/papers/v17/14-526.html}\n}\n```\n\nLicense\n-------\n\n    Copyright 2018, G.J.J. van den Burg.\n\n    RGenSVM is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    RGenSVM is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with RGenSVM. If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\n    For more information please contact:\n\n    G.J.J. van den Burg\n    email: gertjanvandenburg@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgjjvdburg%2Frgensvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgjjvdburg%2Frgensvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgjjvdburg%2Frgensvm/lists"}