你可能没听过它们,但今天或许会考虑上手。至于那些不同生态、不同编程语言的工具——对于高手而言,即便没有使用需求,借鉴它们的代码执行也能为自己的产品开发带来许多灵感。
雷锋网提醒:顺序与重要性无关。
1. Scikit-plot
一帮缺乏艺术细胞的数据科学家,在某年某月某天突然心怀恐惧地意识到:可视化是数据科学最关键的东西之一,而不仅仅是一个加分项。
这就导致了 Scikit-plot 的诞生。
KDnuggests 副主编 Matthew Mayo 表示:
“我注意到 Scikit-plot,是因为在 Reddit 上看到了它的作者的发帖,随后几乎立刻便上了手。”
该项目旨在为 Scikit-learn 用户提供一系列标准、实用的图表。这包括:
Elbow plots
Feature importance graphs
PCA projection plots
ROC curves
Silhouette plots
Scikit-plot 库有两个 API,其中一个与 Scikit-learn 紧密整合,以控制对其 API 的调用(Factory API)。另一个更传统(the Functions API)。但无论哪个都应当足够你使用。
它的快速上手指南在这里。
2. Scikit-feature
Scikit-feature 是 Python 的开源特征选取资源库,由亚利桑那州立大学的数据挖掘&机器学习实验室开发。它基于 scikit-learn、Numpy 以及 Scipy。Scikit-feature 内置约 40 个常见特征选取算法,包含传统算法以及一些结构式、流式的特征选取算法。
所有的特征选取方案,都有一个共同目标:找出多余、不相关的特征。这是一个相当热门的研究领域,对此有无数算法。
Scikit-feature 既适用于实用特征选取工程,也适合做算法研究。查看它支持的算法列表请点击这里。
一名为 Rubens Zimbres 的数据科学家曾如是说:
“在积累了经验,尝试了堆叠神经网络、并行神经网络、asymmetric configs、简单的神经网络、多层、dropout、激活函数等各种东西之后,我得出了一个结论:论效果,什么都比不上好的特征选取。”
3. Smile
Smile (Statistical Machine Intelligence and Learning Engine) 是一个快速、全面的机器学习系统。受益于先进的数据结构与算法,Smile 有最一流的性能。
Smile 覆盖了机器学习的方方面面,包括分类、回归、聚类、关联规则挖掘、特征选取、流形学习(manifold learning,)、多维尺度分析(MDS)、遗传算法、missing value imputation、最邻近搜索等等。
对于使用 Java 和 Scala 的开发者,目前来看,Smile 是最合适的机器学习库。你可以把它看作是一个 JVM Scikit-learn。该项目有非常全面的官方教程,地址: http://haifengl.github.io/smile/。该教程不仅覆盖了 Smile 使用技巧,还是很高质量的机器学习算法入门资料。
如果你用 JVM 开发机器学习,Smile 绝对值得一试。事实上,如果你身在这个生态系统却没听过 Smile,才是一桩奇闻。
4. Gensim
Gensim 是一个针对话题建模、文件索引、在大语料库中进行相似性检索的 Python 算法库。目标受众是自然语言处理和信息检索社区。
Gensim 是个以完整性为目标的多面手。其开发团队称,它为“常见算法提供了高效的多核执行,比如 Latent Semantic Analysis (LSA/LSI/SVD), Latent Dirichlet Allocation (LDA), Random Projections (RP), Hierarchical Dirichlet Process (HDP) 或 word2vec 深度学习。”
Gensim 的文件在这里。KDnuggets 以前发过一篇教新手用 Gensim 搞话题建模的教程,请戳这里。
5. Sonnet
本月初,DeepMind 在官方博客宣布了开源 Sonnet 的消息。雷锋网(公众号:雷锋网)第一时间进行了报道:DeepMind发布Sonnet 帮你用TensorFlow快速搭建神经网络。
DeepMind 在博客中表示:
“对于 TensorFlow 而言,自从其在 2015 年末开源,一个由众多高级算法库组成的多样生态系统,便已围绕着它迅速发展起来。这些高级工具,允许常用任务以更简便、更快的方式完成,极大节省了开发者的时间精力。
作为该生态的新成员,Sonnet 也是如此。它与现有的神经网络算法库有许多共同点,但部分功能专为 DeepMind 的研究需要而设计。”
Sonnet 是基于 TensorFlow 的高级算法库。DeepMind 承认了它与一些现有产品比较类似,但整合了 DeepMind 研究所必须的功能与特性,比如允许特定模块在随机聚集的 Tensor 群组上运行:
“RNN 的状态,最适合于以异构 Tensor 集合来表示,用扁平列表来表示它们很容易会导致错误。Sonnet 提供了处理这些随机等级结构的功能,所以改变你的试验,使用另一种 RNN,并不需要繁冗地修改代码。DeepMind 已经对核心 TensorFlow 做了修改,以更好地支持这一使用情况。”
最后,希望本文能够对你产生帮助。让你知道一些此前没听说过的算法库,或者你并没有意识到自己其实需要的功能。
本文作者:三川
本文转自雷锋网禁止二次转载,原文链接