这10个小工具 将引爆机器学习DIY潮流

机器学习十大不可忽视项目

前言:那些流行的机器学习项目之所以受欢迎,一般是因为其提供了一种多数人需要的服务,或是因为它们是第一个(也许是最好的)针对特定用户提供服务的。那些最流行的项目包括Scikit-learn、TensorFlow、 Theano、MXNet 、Weka 等。根据个人使用的工作系统、深度学习目标不同,不同的人认为流行的项目可能会有些许差异。然而,这些项目共有的特性是它们都面向大量的用户提供服务。但是仍然存在很多小型的机器学习项目:pipelines、wrappers、high-level APIs、cleaners等,通常来说这些项目都是针对小规模的用户群提供好用且灵活的服务。

本文将介绍十种不那么有名的机器学习项目,你也可能从这些项目中获得一些不错的启发。不建议你去尝试所有的项目,但是如果里面刚好有你需要的某个功能,请尽管去试一试。

以下即十大你不可忽视的机器学习项目(排名不分先后):

1. Deepy

Deepy由Raphael Shu开发,是一个基于Theano扩展深度学习框架,它提供了一个简洁的、高阶的组件(如LSTMs)、批规范化、自动编码等功能。Deepy宣称其框架是十分简洁明了的,它的官方文档和示例也同样如此。

Deepy工作原理:在给定训练数据和参数(随机初始化)下运行模型,将错误(或梯度)反馈并更新参数,这个过程反复进行。

2. MLxtend

MLxtend 由Sebastian Raschka开发,是一系列有效工具的集合,也是针对机器学习任务的扩展。Sebastian Raschka提到MLxtend本质上是一些有效的工具集,也是与机器学习和数据科学相关的参考资料。他提到开发MLxtend主要是基于以下几个原因:

一些其他地方找不到的特定算法(如序列特征选择算法、多数表决分类器、叠加预估、绘图决策区域等) 用于教学目的(逻辑回归、Softmax回归、多层感知器、PCA、PCA内核等)这些实现主要关注于代码的可读性,而不是单纯的效率 打包便利:tensorflow、Softmax回归和多层感知器

MLxtend基本上是Sebastian Raschka所写的一个机器学习运行常用的库,其中很多功能的实现都与scikit-learn的API相似,但作者仍在持续更新中,且作者表示所有的新增特性与创新的算法都会一起打包在MLxtend中。

3. datacleaner

datacleaner由Randal Olson开发,他认为自己开发的datacleaner是一个“能自动清除数据集并且让它们便于分析的Python工具。”他认为:datacleaner所做的将会节约你大量的编码和清理数据的时间。

datacleaner还处于开发过程中,但目前已经能够处理以下常规(传统方式下耗时量巨大的)数据清洗任务:

在列的基础上,用模式或中位数替换丢失的值 用数值等价物对非数值变量进行编码等

4. auto-sklearn

auto-sklearn由德国弗莱堡大学机器学习自动算法小组开发,是针对Scikit-learn环境的自动机器学习工具。

auto-sklearn能将机器学习用户从算法选择和高参数调整中解救出来,它利用了近期在贝叶斯优化、元学习和集成构筑上研究的优势。其大致工作原理如下:

5. Deep Mining

Deep Mining由来自MIT CSAIL实验室的Sebastien Dubois开发,是一个机器学习深管道自动调谐器。为了尽快实现最好的分类精度,该软件将迭代、智能地测试一些超参数集。

另外值得一提的是文件夹GCP-HPO包含所有高斯过程(GCP)的实现代码以及基于其基础上的超参数优化(HPO)。高斯过程(GCP)可以看作是一种改进的版本。这项新技术被证明优于基于GP的超参数优化,已经远比随机搜索表现要好。

6. Rusty Machine

Rusty Machine是基于Rust的机器学习方法,Rust是由Mozilla赞助开发的一种与C和C++较为相似的计算机编程语言,其号称“Rust是一种系统的编程语言,运行速度极快,可以防止错误,并保证线程安全。”

Rusty Machine的开发者是否活跃,目前支持一系列想学习技术,包括:线性回归、逻辑回归、k-均值聚类、神经网络、支持向量机等等。

Rusty Machine还支持数据结构,如内置向量和矩阵。作为一种常见的模型接口,Rusty Machine为每个支持的模型提供了训练和预测的功能。

7. scikit-image

scikit-image图像是针对SciPy使用Python的图像处理方法。scikit-image是机器学习吗?它其实是一个机器学习项目(没有确切地表示他们必须用机器学习方法),scikit-image就属于数据处理和准备工具这一类。该项目包括一些图像处理算法,如点检测、滤波、特征选择和形态学等。

示例:

8. NLP Compromise

NLP Compromise是由Javascript语言编写的,其在浏览器中进行自然语言处理过程。NLP Compromise非常容易安装和使用,以下是它的一个使用范例:

9. Datatest

Datatest是一个依靠数据冲突的测试集,其由Python编写。

Datatest扩展了数据校正的测试工具标准数据库

Datatest是一种寻找数据冲突和准备的不同方式,如果你的大部分时间都被花在这个任务上,也许换一种新的方法是值得的。

10. GoLearn

GoLearn是一种针对Go语言的机器学习库,自称Go语言机器学习的“内置电池”学习库。简洁、易定制是其追求的目标。

对于一些想分支出来的Python用户或者想尝试下机器学习的Go语言用户来说,GoLearn是一个不错的选项。GoLearn实现了熟悉的Scikit-learn 适应/预测界面,可实现快速预估测试和交换。。

GoLearn是一个成熟的项目,它提供了交叉验证和训练/测试等辅助功能。如果你还记得的话,之前提到的 Rusty Machine还没有实现这个功能。如果要尝试一门新的Go语言的话,GoLearn可能是你所追求的那个。

总结:以上即十个机器学习项目概览,既有小众却简洁好用的学习框架,也有新兴语言衍生出来的学习库资料。再次重申不建议读者去尝试所有的项目,但是如果里面刚好有项目能解决你目前所遇到的问题,请尽管去使用。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2016-08-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

趣味机器学习入门小项目(附教程与数据)

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 没有任何理论可以代替实践,虽然教材和...

2694
来自专栏大数据文摘

李飞飞计算机视觉成名作:斯坦福CS231n作业详解第二弹!

1925
来自专栏PPV课数据科学社区

译文:Python深度学习框架评价

原文链接https://indico.io/blog/python-deep-learning-frameworks-reviewed/ 麦迪逊月 - 201...

3438
来自专栏生信技能树

转录组表达数据分析的一些可视化

通过前面的讲解,我们顺利的了解了GEO数据库以及如何下载其数据,得到我们想要的表达矩阵,也学会了两个常用的套路分析得到的表达矩阵,就是GSEA分析和差异分析。也...

3769
来自专栏IT派

十大你不可忽视的机器学习项目

前言:那些流行的机器学习项目之所以受欢迎,一般是因为其提供了一种多数人需要的服务,或是因为它们是第一个(也许是最好的)针对特定用户提供服务的。那些最流行的项目包...

3258
来自专栏新智元

【干货】7月机器学习Top 10,GitHub平均1041星!

【新智元导读】本月的最热机器学习项目出来了!Mybridge对过去一个月的近250个机器学习开源项目进行了排名,甄选出GitHub星数最多的10大热门项目。开源...

361
来自专栏机器学习-数据挖掘

基于日志分析的母机故障定位 ——机器学习应用

随着腾讯云业务的扩大,母机数量越来越多。为减少人力并实现母机故障的自动化定位,本文尝试利用机器学习算法,通过对历史故障母机的日志数据学习,训练模型实现自动化分析...

2144
来自专栏人工智能头条

黄金三镖客之TensorFlow版

1863
来自专栏量子位

Google发布神经机器翻译教程,带你从零开始搭建NMT系统

李林 编译自 Google Research Blog 量子位 报道 | 公众号 QbitAI ? 想自己在TensorFlow上搭神经机器翻译(NMT)模型?...

3588
来自专栏张红林的专栏

大规模机器学习框架的四重境界

如何利用相对廉价的机器搭建分布式超大规模机器学习集群是一件非常复杂的事情,本文尝试梳理一下这方面的历史和现行的最佳实践。

1.3K2

扫描关注云+社区