{"id":19991453,"url":"https://github.com/mdabros/SharpLearning","last_synced_at":"2025-05-04T10:31:49.335Z","repository":{"id":48240200,"uuid":"81982584","full_name":"mdabros/SharpLearning","owner":"mdabros","description":"Machine learning for C# .Net  ","archived":false,"fork":false,"pushed_at":"2025-03-16T19:16:14.000Z","size":4233,"stargazers_count":393,"open_issues_count":49,"forks_count":86,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-04-26T08:44:38.606Z","etag":null,"topics":["adaboost","cross-validation","csharp","decision-trees","deep-learning","dotnet","ensemble-learning","gradient-boosting-machine","learning","machine","machine-learning","metrics","neural-nets","opensource","random-forest"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdabros.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-14T19:46:39.000Z","updated_at":"2025-03-21T08:54:57.000Z","dependencies_parsed_at":"2024-06-18T14:06:34.393Z","dependency_job_id":null,"html_url":"https://github.com/mdabros/SharpLearning","commit_stats":{"total_commits":595,"total_committers":13,"mean_commits":45.76923076923077,"dds":0.253781512605042,"last_synced_commit":"3f6063fad8886b09c5715c8713541045be7560b9"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdabros%2FSharpLearning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdabros%2FSharpLearning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdabros%2FSharpLearning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdabros%2FSharpLearning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdabros","download_url":"https://codeload.github.com/mdabros/SharpLearning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251987111,"owners_count":21675959,"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":["adaboost","cross-validation","csharp","decision-trees","deep-learning","dotnet","ensemble-learning","gradient-boosting-machine","learning","machine","machine-learning","metrics","neural-nets","opensource","random-forest"],"created_at":"2024-11-13T04:51:46.284Z","updated_at":"2025-05-04T10:31:44.319Z","avatar_url":"https://github.com/mdabros.png","language":"C#","readme":"[![Build Status](https://github.com/mdabros/SharpLearning/actions/workflows/dotnet.yml/badge.svg?branch=master)](https://github.com/mdabros/SharpLearning/actions/workflows/dotnet.yml)\n[![Nuget](https://img.shields.io/nuget/v/SharpLearning.Containers?color=purple)](https://www.nuget.org/packages/SharpLearning.Containers/)\n[![downloads](https://img.shields.io/nuget/dt/SharpLearning.Containers)](https://www.nuget.org/packages/SharpLearning.Containers)\n[![License](https://img.shields.io/github/license/mdabros/SharpLearning)](https://github.com/mdabros/SharpLearning/blob/master/LICENSE)\n\nSharpLearning\n=================\n\nSharpLearning is an opensource machine learning library for C# .Net. \nThe goal of SharpLearning is to provide .Net developers with easy access to machine learning algorithms and models.\n\nCurrently the main focus is supervised learning for classification and regression, \nwhile also providing the necesarry tools for optimizing and validating the trained models.\n\nSharpLearning provides a simple high-level interface for machine learning algorithms.    \nIn SharpLearning a machine learning algorithm is refered to as a *Learner*, \nand a machine learning model is refered to as a *PredictorModel*. An example of usage can be seen below:\n\n```c#\n// Create a random forest learner for classification with 100 trees\nvar learner = new ClassificationRandomForestLearner(trees: 100);\n\n// learn the model\nvar model = learner.Learn(observations, targets);\n\n// use the model for predicting new observations\nvar predictions = model.Predict(testObservations);\n\n// save the model for use with another application\nmodel.Save(() =\u003e new StreamWriter(\"randomforest.xml\"));\n```\n\nAll machine learning algorithms and models implement the same interface for easy replacement.\n\nCurrently SharpLearning supports the following machine learning algorithms and models:\n\n* DecisionTrees\n* Adaboost (trees)\n* GradientBoost (trees)\n* RandomForest\n* ExtraTrees\n* NeuralNets (layers for fully connected and convolutional nets)\n* Ensemble Learning\n\nAll the machine learning algorithms have sensible default hyperparameters for easy usage. \nHowever, several optimization methods are available for hyperparameter tuning:\n\n* GridSearch\n* RandomSearch\n* ParticleSwarm\n* GlobalizedBoundedNelderMead\n* Hyperband\n* BayesianOptimization  \n\nLicense\n-------\n\nSharpLearning is covered under the terms of the [MIT](LICENSE.md) license. You may therefore link to it and use it in both opensource and proprietary software projects.\n\nDocumentation\n-------------\nSharpLearning contains xml documentation to help guide the user while using the library. \n\nCode examples and more information about how to use SharpLearning can be found in [SharpLearning.Examples](https://github.com/mdabros/SharpLearning.Examples)\n\nThe wiki also contains a set of guides on how to get started: \n - [**Getting Started**](https://github.com/mdabros/SharpLearning/wiki/Getting-started).\n - [**Introduction to SharpLearning**](https://github.com/mdabros/SharpLearning/wiki/Introduction-to-SharpLearning).\n - [**Tuning Hyperparameters**](https://github.com/mdabros/SharpLearning/wiki/hyperparameter-tuning).\n - [**Using SharpLearning.XGBoost**](https://github.com/mdabros/SharpLearning/wiki/Using-SharpLearning.XGBoost)\n\n\nInstallation\n------------\n\nThe recommended way to get SharpLearning is to use NuGet. The packages are provided and maintained in the public [NuGet Gallery](https://nuget.org/profiles/mdabros/).\nMore information can be found in the [getting started](https://github.com/mdabros/SharpLearning/wiki/Getting-started) guide on the wiki\n\nLearner and model packages:\n\n- **SharpLearning.DecisionTrees** - Provides learning algorithms and models for DecisionTree regression and classification.\n- **SharpLearning.AdaBoost** - Provides learning algorithms and models for AdaBoost regression and classification.\n- **SharpLearning.RandomForest** - Provides learning algorithms and models for RandomForest and ExtraTrees regression and classification.\n- **SharpLearning.GradientBoost** - Provides learning algorithms and models for GradientBoost regression and classification.\n- **SharpLearning.Neural** - Provides learning algorithms and models for neural net regression and classification. Layers available for fully connected and covolutional nets.\n- **SharpLearning.XGBoost** - Provides learning algorithms and models for regression and classification using the [XGBoost library](https://github.com/dmlc/xgboost). CPU and GPU learning supported. This pakcage is x64 only.\n- **SharpLearning.Ensemble** - Provides ensemble learning for regression and classification. Makes it possible to combine the other learners/models from SharpLearning.\n- **SharpLearning.Common.Interfaces** - Provides common interfaces for SharpLearning.\n\nValidation and model selection packages:\n\n- **SharpLearning.CrossValidation** - Provides cross-validation, training/test set samplers and learning curves for SharpLearning.\n- **SharpLearning.Metrics** - Provides classification, regression, impurity and ranking metrics..\n- **SharpLearning.Optimization** - Provides optimization algorithms for hyperparameter tuning.\n\nContainer/IO packages:\n\n- **SharpLearning.Containers** - Provides containers and base extension methods for SharpLearning.\n- **SharpLearning.InputOutput** - Provides csv parsing and serialization for SharpLearning.\n- **SharpLearning.FeatureTransformations** - Provides CsvRow transforms like missing value replacement and matrix transforms like MinMaxNormalization.\n\nContributing\n------------\nContributions are welcome in the following areas:\n\n 1. Add new issues with bug descriptions or feature suggestions.\n 2. Add more examples to [SharpLearning.Examples](https://github.com/mdabros/SharpLearning.Examples).\n 3. Solve existing issues by forking SharpLearning and creating a pull request.\n\nWhen contributing, please follow the [contribution guide](https://github.com/mdabros/SharpLearning/blob/master/CONTRIBUTING.md).\n","funding_links":[],"categories":["C\\#"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdabros%2FSharpLearning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdabros%2FSharpLearning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdabros%2FSharpLearning/lists"}