Skip to content

shimat/LibSVMsharp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github Actions Status NuGet package

LibSVMsharp

LibSVMsharp is a simple and easy-to-use C# wrapper for Support Vector Machines. This library uses LibSVM version 3.23 with x64 support, released on 15th of July in 2018.

For more information visit the official libsvm webpage.

This fork project will bring the original ccerhan/LibSVMsharp project, which is no longer being updated, into .NET (Core) compatible.

How to Install

To install LibSVMsharp, download the Nuget package or run the following command in the Package Manager Console:

PM> Install-Package LibSVMsharpCore

License

LibSVMsharp is released under the MIT License and libsvm is released under the modified BSD Lisence which is compatible with many free software licenses such as GPL.

Example Codes

Simple Classification

SVMProblem problem = SVMProblemHelper.Load(@"dataset_path.txt");
SVMProblem testProblem = SVMProblemHelper.Load(@"test_dataset_path.txt");

SVMParameter parameter = new SVMParameter();
parameter.Type = SVMType.C_SVC;
parameter.Kernel = SVMKernelType.RBF;
parameter.C = 1;
parameter.Gamma = 1;

SVMModel model = SVM.Train(problem, parameter);

double[] target = new double[testProblem.Length];
for (int i = 0; i < testProblem.Length; i++)
  target[i] = SVM.Predict(model, testProblem.X[i]);

double accuracy = SVMHelper.EvaluateClassificationProblem(testProblem, target);

Simple Classification with Extension Methods

SVMProblem problem = SVMProblemHelper.Load(@"dataset_path.txt");
SVMProblem testProblem = SVMProblemHelper.Load(@"test_dataset_path.txt");

SVMParameter parameter = new SVMParameter();

SVMModel model = problem.Train(parameter);

double[] target = testProblem.Predict(model);
double accuracy = testProblem.EvaluateClassificationProblem(target);

Simple Regression

SVMProblem problem = SVMProblemHelper.Load(@"dataset_path.txt");
SVMProblem testProblem = SVMProblemHelper.Load(@"test_dataset_path.txt");

SVMParameter parameter = new SVMParameter();

SVMModel model = problem.Train(parameter);

double[] target = testProblem.Predict(model);
double correlationCoeff;
double meanSquaredErr = testProblem.EvaluateRegressionProblem(target, out correlationCoeff);

About

.NET wrapper of LibSVM

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%