[![Build Status](https://machinelearning.visualstudio.com/sharplearning-github-build/_apis/build/status/sharplearning-CI?branchName=master)](https://machinelearning.visualstudio.com/sharplearning-github-build/_build/latest?definitionId=28&branchName=master)
SharpLearning
=================
SharpLearning is an opensource machine learning library for C# .Net.
The goal of SharpLearning is to provide .Net developers with easy access to machine learning algorithms and models.
Currently the main focus is supervised learning for classification and regression,
while also providing the necesarry tools for optimizing and validating the trained models.
SharpLearning provides a simple high-level interface for machine learning algorithms.
In SharpLearning a machine learning algorithm is refered to as a *Learner*,
and a machine learning model is refered to as a *PredictorModel*. An example of usage can be seen below:
```c#
// Create a random forest learner for classification with 100 trees
var learner = new ClassificationRandomForestLearner(trees: 100);
// learn the model
var model = learner.Learn(observations, targets);
// use the model for predicting new observations
var predictions = model.Predict(testObservations);
// save the model for use with another application
model.Save(() => new StreamWriter("randomforest.xml"));
```
All machine learning algorithms and models implement the same interface for easy replacement.
Currently SharpLearning supports the following machine learning algorithms and models:
* DecisionTrees
* Adaboost (trees)
* GradientBoost (trees)
* RandomForest
* ExtraTrees
* NeuralNets (layers for fully connected and convolutional nets)
* Ensemble Learning
All the machine learning algorithms have sensible default hyperparameters for easy usage.
However, several optimization methods are available for hyperparameter tuning:
* GridSearch
* RandomSearch
* ParticleSwarm
* GlobalizedBoundedNelderMead
* Hyperband
* BayesianOptimization
License
-------
SharpLearning 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.
Documentation
-------------
SharpLearning contains xml documentation to help guide the user while using the library.
Code examples and more information about how to use SharpLearning can be found in [SharpLearning.Examples](https://github.com/mdabros/SharpLearning.Examples)
The wiki also contains a set of guides on how to get started:
- [**Getting Started**](https://github.com/mdabros/SharpLearning/wiki/Getting-started).
- [**Introduction to SharpLearning**](https://github.com/mdabros/SharpLearning/wiki/Introduction-to-SharpLearning).
- [**Tuning Hyperparameters**](https://github.com/mdabros/SharpLearning/wiki/hyperparameter-tuning).
- [**Using SharpLearning.XGBoost**](https://github.com/mdabros/SharpLearning/wiki/Using-SharpLearning.XGBoost)
Installation
------------
The 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/).
More information can be found in the [getting started](https://github.com/mdabros/SharpLearning/wiki/Getting-started) guide on the wiki
Learner and model packages:
- **SharpLearning.DecisionTrees** - Provides learning algorithms and models for DecisionTree regression and classification.
- **SharpLearning.AdaBoost** - Provides learning algorithms and models for AdaBoost regression and classification.
- **SharpLearning.RandomForest** - Provides learning algorithms and models for RandomForest and ExtraTrees regression and classification.
- **SharpLearning.GradientBoost** - Provides learning algorithms and models for GradientBoost regression and classification.
- **SharpLearning.Neural** - Provides learning algorithms and models for neural net regression and classification. Layers available for fully connected and covolutional nets.
- **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.
- **SharpLearning.Ensemble** - Provides ensemble learning for regression and classification. Makes it possible to combine the other learners/models from SharpLearning.
- **SharpLearning.Common.Interfaces** - Provides common interfaces for SharpLearning.
Validation and model selection packages:
- **SharpLearning.CrossValidation** - Provides cross-validation, training/test set samplers and learning curves for SharpLearning.
- **SharpLearning.Metrics** - Provides classification, regression, impurity and ranking metrics..
- **SharpLearning.Optimization** - Provides optimization algorithms for hyperparameter tuning.
Container/IO packages:
- **SharpLearning.Containers** - Provides containers and base extension methods for SharpLearning.
- **SharpLearning.InputOutput** - Provides csv parsing and serialization for SharpLearning.
- **SharpLearning.FeatureTransformations** - Provides CsvRow transforms like missing value replacement and matrix transforms like MinMaxNormalization.
Contributing
------------
Contributions are welcome in the following areas:
1. Add new issues with bug descriptions or feature suggestions.
2. Add more examples to [SharpLearning.Examples](https://github.com/mdabros/SharpLearning.Examples).
3. Solve existing issues by forking SharpLearning and creating a pull request.
When contributing, please follow the [contribution guide](https://github.com/mdabros/SharpLearning/blob/master/CONTRIBUTING.md).
没有合适的资源?快使用搜索试试~ 我知道了~
SharpLearning:用于C#.Net的机器学习
共531个文件
cs:486个
csproj:27个
ps1:4个
需积分: 49 31 下载量 138 浏览量
2021-02-05
03:56:02
上传
评论 4
收藏 857KB ZIP 举报
温馨提示
夏普学习 SharpLearning是C#.Net的开源机器学习库。 SharpLearning的目标是使.Net开发人员可以轻松访问机器学习算法和模型。 当前,主要关注点是用于分类和回归的监督学习,同时还提供用于优化和验证训练模型的必要工具。 SharpLearning为机器学习算法提供了一个简单的高级界面。 在SharpLearning中,机器学习算法称为“学习者” ,而机器学习模型则称为PredictorModel 。 用法示例如下: // Create a random forest learner for classification with 100 trees var le
资源推荐
资源详情
资源评论
收起资源包目录
SharpLearning:用于C#.Net的机器学习 (531个子文件)
build.cmd 133B
packages.config 227B
packages.config 225B
OnlyUniqueThresholdsSplitSearcherTest.cs 175KB
LinearSplitSearcherTest.cs 175KB
ClassificationXGBoostModelTest.cs 126KB
StratifiedIndexSamplerTest.cs 67KB
ClassificationGradientBoostModelTest.cs 34KB
ClassificationNeuralNetModelTest.cs 33KB
RegressionNeuralNetModelTest.cs 27KB
ClassificationGradientBoostLearner.cs 27KB
RegressionDecisionTreeModelTest.cs 24KB
ClassificationForestModelTest.cs 24KB
ClassificationAdaBoostModelTest.cs 22KB
ArrayExtensions.cs 20KB
RegressionForestModelTest.cs 20KB
MaxPool2DLayerTest.cs 19KB
Conv2DLayerTest.cs 19KB
ClassificationDecisionTreeModelTest.cs 19KB
GBMDecisionTreeLearner.cs 17KB
ArrayExtensionsTest.cs 16KB
RegressionGradientBoostLearner.cs 16KB
SmacOptimizer.cs 16KB
CsvRowExtensionsTest.cs 15KB
DataSetUtilities.cs 15KB
DataSetUtilities.cs 15KB
DataSetUtilities.cs 15KB
DataSetUtilities.cs 15KB
DataSetUtilities.cs 15KB
RegressionAdaBoostModelTest.cs 15KB
CsvRowExtensions.cs 15KB
NeuralNetLearner.cs 14KB
BayesianOptimizer.cs 14KB
GlobalizedBoundedNelderMeadOptimizer.cs 14KB
ConvUtils.cs 13KB
NeuralNetOptimizer.cs 13KB
Conv2DLayer.cs 13KB
RegressionGradientBoostModelTest.cs 13KB
MaxPool2DLayer.cs 13KB
ClassificationXGBoostLearner.cs 13KB
ClassificationAdaBoostLearner.cs 12KB
ConvUtilsTest.cs 12KB
ClassificationStackingEnsembleLearner.cs 12KB
RegressionAdaBoostLearner.cs 12KB
BayesianOptimizerTest.cs 12KB
BestFirstTreeBuilder.cs 12KB
DepthFirstTreeBuilder.cs 11KB
SmacOptimizerTest.cs 11KB
DataSetUtilities.cs 11KB
RegressionXGBoostLearner.cs 11KB
BatchNormalizationLayer.cs 10KB
ClassificationModelSelectingEnsembleLearner.cs 10KB
RegressionStackingEnsembleLearner.cs 10KB
ClassificationExtremelyRandomizedTreesLearner.cs 10KB
F64MatrixExtensions.cs 10KB
MathNetExtensions.cs 10KB
F64Matrix.cs 10KB
ClassificationModelSelectingEnsembleLearnerTest.cs 10KB
XGBoostTreeConverterTest.cs 10KB
RocAucClassificationProbabilityMetricTest.cs 9KB
StringMatrix.cs 9KB
ClassificationRandomForestLearner.cs 9KB
GenericXmlDataContractSerializer.cs 9KB
ClassificationGradientBoostModel.cs 9KB
RegressionModelSelectingEnsembleLearner.cs 9KB
ClassificationStackingEnsembleModelTest.cs 9KB
RegressionExtremelyRandomizedTreesLearner.cs 9KB
ClassificationDecisionTreeLearnerTest.cs 9KB
ClassificationBinomialGradientBoostLearnerTest.cs 8KB
ParticleSwarmOptimizer.cs 8KB
CsvParser.cs 8KB
ClassificationEnsembleLearner.cs 8KB
RegressionRandomForestLearner.cs 8KB
ClassificationXGBoostModel.cs 8KB
ClassificationAdaBoostModel.cs 8KB
StringMatrixExtensions.cs 8KB
ClassificationStackingEnsembleModel.cs 8KB
ClassificationDecisionTreeLearner.cs 8KB
NeuralNet.cs 8KB
TimeSeriesCrossValidation.cs 7KB
ClassificationEnsembleModelTest.cs 7KB
RegressionImpurityCalculator.cs 7KB
XGBoostTreeConverter.cs 7KB
ClassificationNeuralNetLearner.cs 7KB
ClassificationNeuralNetModel.cs 7KB
LearningCurvesCalculator.cs 7KB
HyperbandOptimizerTest.cs 7KB
HyperbandOptimizer.cs 7KB
ForwardSearchClassificationEnsembleSelection.cs 7KB
ClassificationImpurityCalculator.cs 7KB
ClassificationForestModel.cs 7KB
RegressionEnsembleLearner.cs 7KB
MathNetExtensionsTest.cs 7KB
ClassificationForwardSearchModelSelectingEnsembleLearnerTest.cs 7KB
ForwardSearchRegressionEnsembleSelection.cs 7KB
CsvParserTest.cs 7KB
GradientBoostHuberLoss.cs 7KB
ParameterNames.cs 7KB
ClassificationDecisionTreeModel.cs 6KB
TimeSeriesCrossValidationTest.cs 6KB
共 531 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
秦风明
- 粉丝: 34
- 资源: 4731
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功