五个鲜为人知,但又不可不知的机器学习开源

北京中科白癜风医院是三甲吗 http://www.t52mall.com/

借着人工智能的热潮,各种机器学习项目也迎来了一个爆发期。其中有一些因为背后的巨头支持或者稳定可靠的性能而广为人知,例如Tensorflow、Caffe和Theano等。但实际上,有为数更多的项目却并不为人所知。在这些相对小众的项目中,是否隐藏着一些版本迭代积极,且具有一定参考价值的项目?答案显然是肯定的。

本文将介绍的这五个小众项目来自不同的生态系统和编程语言,并且版本更新活跃,具有一定的参考价值。或许你会觉得了解这些小众的项目并没有太多实际意义,但本文的原作者MatthewMayo,一位资深的数据科学家和无监督学习领域的大牛认为,仔细学习这些项目的实现细节和编码方式,将帮助开发者对他们自己的项目产生一些具有积极意义的想法,因此仍然是大有裨益的。

原文来自KDnuggets,以下项目排名不分先后,雷锋网编译。

1.Hyperopt-sklearn

Hyperopt-sklearn是基于scikit-learn项目的一个子集,其全称是:Hyper-parameteroptimizationforscikit-learn,即针对scikit-learn项目的超级参数优化工具。由于scikit-learn是基于Python的机器学习开源框架,因此Hyperopt-sklearn也基于Python语言。

Hyperopt-sklearn的文档称:对于开发者而言,针对不同的训练数据挑选一个合适的分类器(classifier)通常是困难的。而且即使选好了分类器,后面的参数调试过程也相当乏味和耗时。更严重的是,还有许多情况是开发者好不容易调试好了选定的分类器,却发现一开始的选择本身就是错误的,这本身就浪费了大量的精力和时间。针对该问题,Hyperopt-sklearn提供了一种解决方案。

Hyperopt-sklearn支持各种不同的搜索算法(包括随机搜索、TreeofParzenEstimators、Annealing等),可以搜索所有支持的分类器(KNeightborsClassifier、KNeightborsClassifier、SGDClassifier等)或者在给定的分类器下搜索所有可能的参数配置,并评估最优选择。并且Hyperopt-sklearn还支持多种预处理流程,包括TfidfVectorizer,Normalzier和OneHotEncoder等。

那么Hyperopt-sklearn的实际效果究竟如何?下表分别展示了使用scikit-learn默认参数和Hyperopt-sklearn优化参数运行的分类器的F-score分数,数据源来自20个不同的新闻组稿件。可以看到,经过优化的分类器的平均得分都要高于默认参数的情况。

另外,Hyperopt-sklearn的编码量也很小,并且维护团队还提供了丰富的参考样例。

主页:


转载请注明:http://www.aierlanlan.com/cyrz/5997.html