# cjlin1/libsvm

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cjlin1-libsvm).**

4,707 stars · 1,635 forks · Java · BSD-3-Clause

## Links

- GitHub: https://github.com/cjlin1/libsvm
- Homepage: https://www.csie.ntu.edu.tw/~cjlin/libsvm/
- awesome-repositories: https://awesome-repositories.com/repository/cjlin1-libsvm.md

## Description

This project is a support vector machine library implemented in C, providing an engine for classification and regression tasks. It functions as a machine learning kernel library and a statistical model validator used to categorize data points and predict continuous numerical values.

The library allows for the definition of custom kernel functions to calculate similarity between data points in specialized datasets. It also includes tools for probabilistic modeling, such as estimating class membership, data density, and distribution boundaries.

Broad capabilities cover model training for multi-class datasets, including the management of unbalanced data through weighted loss functions. The system provides workflows for hyperparameter selection and model optimization using accuracy contours and stratified cross validation.

Data preprocessing utilities are included for input validation and attribute scaling to normalize feature magnitudes.

## Tags

### Artificial Intelligence & ML

- [Machine Learning Kernel Libraries](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning-kernel-libraries.md) — Functions as a comprehensive machine learning kernel library for calculating similarity in specialized datasets.
- [SVM Model Training](https://awesome-repositories.com/f/artificial-intelligence-ml/svm-model-training.md) — Builds classification and regression models using training data and kernel functions to find optimal separating hyperplanes. ([source](https://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html))
- [Multiclass](https://awesome-repositories.com/f/artificial-intelligence-ml/classification/multiclass.md) — Categorizes data points into multiple classes using classification formulations with multi-class support.
- [Custom Kernel Definitions](https://awesome-repositories.com/f/artificial-intelligence-ml/custom-kernel-definitions.md) — Allows the definition of unique kernel functions to calculate similarity between data points in specialized datasets. ([source](https://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html))
- [Kernel-Based Feature Mapping](https://awesome-repositories.com/f/artificial-intelligence-ml/kernel-based-feature-mapping.md) — Transforms input data into high-dimensional spaces using kernel functions to resolve non-linear patterns.
- [Machine Learning Classification](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning-classification.md) — Categorizes data points into predefined classes using support vector machine classification. ([source](https://cdn.jsdelivr.net/gh/cjlin1/libsvm@main/README.md))
- [Regression Predictions](https://awesome-repositories.com/f/artificial-intelligence-ml/model-predictions/regression-predictions.md) — Predicts continuous numerical values by approximating target functions through regression techniques. ([source](https://cdn.jsdelivr.net/gh/cjlin1/libsvm@main/README.md))
- [Model Training](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training.md) — Builds classification and regression models to find optimal boundaries between different data patterns.
- [Numerical Regressions](https://awesome-repositories.com/f/artificial-intelligence-ml/numerical-regressions.md) — Predicts continuous numerical values by approximating target functions using regression techniques.
- [Support Vector Machines](https://awesome-repositories.com/f/artificial-intelligence-ml/support-vector-machines.md) — Implements a support vector machine classifier using a soft-margin approach to improve decision boundary generalization.
- [Class Probability Estimation](https://awesome-repositories.com/f/artificial-intelligence-ml/class-probability-estimation.md) — Transforms raw decision values into probability estimates by fitting a sigmoid function via Platt scaling.
- [Coordinate Descent Optimizers](https://awesome-repositories.com/f/artificial-intelligence-ml/coordinate-descent-optimizers.md) — Implements dual-coordinate descent optimization to minimize the quadratic objective function for faster linear SVM training.
- [Stratified Splitting Tools](https://awesome-repositories.com/f/artificial-intelligence-ml/dataset-management/evaluation-datasets/stratified-splitting-tools.md) — Divides datasets into training and testing sets while preserving original class proportions to prevent sampling bias.
- [Density Estimation](https://awesome-repositories.com/f/artificial-intelligence-ml/density-estimation.md) — Implements methods for modeling the underlying probability distribution of datasets using support vector machines. ([source](https://www.csie.ntu.edu.tw/~cjlin/libsvm/R_example.html))
- [One-Class SVM Outlier Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/kernel-density-estimation/one-class-svm-outlier-detection.md) — Identifies boundaries of a single class of data to detect outliers and estimate data distributions.
- [Imbalanced Dataset Loss Functions](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/architectures/neural-network-components/loss-functions/perceptual-loss/content-loss-calculators/focal-loss-calculators/imbalanced-dataset-loss-functions.md) — Adjusts the penalty for misclassifications based on class weights to handle imbalanced datasets.
- [Hyperparameter Tuning](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-optimization-and-inference/training-algorithms/machine-learning-optimization/hyperparameter-tuning.md) — Optimizes model configurations through cross-validation and accuracy contours to improve predictive performance.
- [Hyperparameter Optimization](https://awesome-repositories.com/f/artificial-intelligence-ml/model-optimization/training-efficiency/hyperparameter-optimization.md) — Determines the optimal hyperparameters for a classification model to improve predictive performance. ([source](https://cdn.jsdelivr.net/gh/cjlin1/libsvm@main/README.md))
- [Hyperparameter Grid Sweeps](https://awesome-repositories.com/f/artificial-intelligence-ml/model-validation-tools/cross-validation-utilities/k-fold-cross-validation/hyperparameter-grid-sweeps.md) — Provides workflows for systematic hyperparameter selection via cross-validation and accuracy contours.
- [Stratified Folders](https://awesome-repositories.com/f/artificial-intelligence-ml/model-validation-tools/cross-validation-utilities/k-fold-cross-validation/stratified-folders.md) — Splits data into folds while preserving class percentages to ensure representative model evaluation. ([source](http://www.csie.ntu.edu.tw/~cjlin/libsvm/acknowledgements))
- [Distribution Boundary Estimators](https://awesome-repositories.com/f/artificial-intelligence-ml/probabilistic-models/estimation-of-distribution-algorithms/distribution-boundary-estimators.md) — Identifies the boundary of a single class of data to detect outliers and estimate data distributions. ([source](https://www.csie.ntu.edu.tw/~cjlin/libsvm/))
- [Statistical Model Validators](https://awesome-repositories.com/f/artificial-intelligence-ml/statistical-model-validators.md) — Provides a framework for evaluating predictive performance using cross-validation, stratified sampling, and accuracy contours.

### Data & Databases

- [Single-Label Prediction](https://awesome-repositories.com/f/data-databases/data-categorization/classification-labelers/multi-label-classifiers/multi-label-prediction-analysis/single-label-prediction.md) — Assigns the single most likely class label to new data instances using a trained model. ([source](https://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html))
- [Classification Engines](https://awesome-repositories.com/f/data-databases/ranking-engines/personalized-ranking-optimizers/svm-classifiers/classification-engines.md) — Implements an engine for training models to categorize data points based on optimal separating hyperplanes.
- [Weighted Loss Functions](https://awesome-repositories.com/f/data-databases/ranking-engines/personalized-ranking-optimizers/svm-classifiers/weighted-loss-functions.md) — Applies weights to different classes during training to prevent bias toward the majority class in imbalanced datasets. ([source](https://www.csie.ntu.edu.tw/~cjlin/libsvm/))

### Software Engineering & Architecture

- [Sequential Minimal Optimizers](https://awesome-repositories.com/f/software-engineering-architecture/dynamic-programming/optimization-problem-solvers/sequential-minimal-optimizers.md) — Employs Sequential Minimal Optimization to efficiently solve the quadratic programming problem during model training.

### Testing & Quality Assurance

- [Accuracy Contour Optimization](https://awesome-repositories.com/f/testing-quality-assurance/model-accuracy-evaluators/model-accuracy-optimization/accuracy-contour-optimization.md) — Identifies the best model settings by using cross validation and generating accuracy contours. ([source](http://www.csie.ntu.edu.tw/~cjlin/libsvm))

### Part of an Awesome List

- [Machine Learning](https://awesome-repositories.com/f/awesome-lists/ai/machine-learning.md) — Efficient library for support vector machines.
- [Machine Learning Libraries](https://awesome-repositories.com/f/awesome-lists/ai/machine-learning-libraries.md) — Efficient software for support vector machine classification and regression tasks.
