分享

一篇文章收藏涵盖各种人工智能算法和数据处理的开源工具

 新用户0175WbuX 2022-02-07

  数据学习(DataLearner)- 关注人工智能算法、学术论文和程序开发

  机器学习、人工智能、数据挖掘、深度学习等技术在这些年有了长足的发展,并深入很多人的心里。对于很多人来说,学习这些算法的原理需要一定的精力,并不是一个简单的事情。而很多人,尤其是对于一些小企业和个人来说更多的只是能用就行了。知道哪些算法可以做什么,然后找到相应的工具实施就可以了。对于需要学习算法原理的童鞋来说,有开源工具的帮助,看别人写的源代码也会帮助我们加深算法的理解,并获得实际中试试算法的一些经验。

  这篇文章中将会给大家带来涵盖各种算法和数据处理的开源工具,这些工具实现了聚类、分类、回归、个性化推荐、主题模型、自然语言处理、深度学习等各种算法,也包含各个语言的版本,同时欢迎大家评论并添加新的工具。头条不让发链接,所以这些工具官网没有提供,大家可以去:

  datalearner/machine_learning_tools 这里访问,有直接的地址。

  一篇文章收藏涵盖各种人工智能算法和数据处理的开源工具

  Scikit-Learn - Python

  Scikit-Learn是一个Python机器学习开源工具,它包含分类、回归、聚类、降维、模型选择、数据预处理等功能。根据官网介绍,目前已经有很多公司也在使用,包括Spotify、Inria、Evernote等。该工具主要特点如下:

  是数据挖掘和数据分析简单有效的工具

  所有人均可使用,多种场景可复用

  基于NumPy,Scipy和matplotlib构造

  一篇文章收藏涵盖各种人工智能算法和数据处理的开源工具

  基于BSD许可——开源、商用均可

  TensorFlow - Python

  TensorFlow是谷歌开发的人工智能算法工具。Tensor(张量)意味表示多维的意思,Flow(流)表示基于数据流图的计算。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域,是目前深度学习最流行的框架之一。

  DeepLearning4J - Java

  DeepLearning for Java是一个开源的DeepLearning库,它是用Java和Scala写的。它是第一个商业级别的运行在JVM上的DeepLearning版本。它可以运行在Hadoop和Spark上。对于不熟悉Python的人来说,这是入手深度学习很好的工具。主要包括的库有DeepLearning4J、ND4J、DataVec、JavaCPP等。该工具主要特点如下:

  支持CPU和GPU上的分布式运行

  提供Java/Scala/Python接口

  通过循环的reduce并行训练

  基于Hadoop的可扩展工具

  支持在AWS上的GPU扩展

  一篇文章收藏涵盖各种人工智能算法和数据处理的开源工具

  Word2Vec - Python

  Word2Vec是由Google开源的一个计算词向量的工具。这并不是一个算法,但是它实现了CBoW模型和Skip-gram模型。可以根据文本计算出单词的向量。这些向量在空间中的位置具有一定的含义。

  DatumBox - Java

  DatumBox是机器学习开源框架,是使用Java语言编写的工具。它可以运用在社交媒体监测、搜索引擎优化、质量评估和文本分析等领域。包括Webseo,Mozaik等公司都在使用。该工具主要特点如下:

  提供强大的开源支持

  使用Java编写的机器学习框架

  包含大量算法、模型、统计检验等功能

  一篇文章收藏涵盖各种人工智能算法和数据处理的开源工具

  Knowledge Networks - Java/C

  这是一个收集了各种主题模型的库,包括各种版本的LDA代码,以及Dirichlet过程(DP)代码、层次Dirichlet过程模型(HDP)代码。还有其他的一些主题模型代码。这个库还收集了一个NIPS0-12的数据集,主要是用来做主题模型的,包括1740个文档,2037个作者等等。

  一篇文章收藏涵盖各种人工智能算法和数据处理的开源工具

  gensim - Python

  gensim是一个基于Python的话题模型工具,是免费的Python库。它是可扩展的统计语义工具,可以分析文本语义结构并抽取相似语义的文本。很多公司如IBCN、DTU、issuu等都在使用。该工具主要特点如下:

  良好的扩展性、鲁棒性

  独立于平台

  开源

  一篇文章收藏涵盖各种人工智能算法和数据处理的开源工具

  MALLET - Java

  MALLET(MAchine Learning for LanguagE Toolkit)是一个机器学习的工具,主要用来做自然语言处理的,也可以用来做文档的分类、聚类、话题模型、信息抽取以及其它的文本相关的机器学习。这个工具包含很多精细的算法,比如层次话题模型(hLDA)等。主要功能如下:

  文档分类

  序列标注

  话题模型

  一篇文章收藏涵盖各种人工智能算法和数据处理的开源工具

  NLTK - Python

  NLTK是University of Pennsylvania的两位大神开发的,主要是做自然语言处理的。对英文的支持非常好,可以做如抽取地名、组织名、词干提取等等操作。同时这个工具还提供了超过50种的语料,如WordNet等,可以供大家做实验用。NLTK也支持对中文的处理。

  LensKit - Java

  Lenskit是美国的明尼苏达大学的GroupLens团队开发的开源推荐工具,基于Java编写,是基于GNU许可的开源软件。它实现了推荐领域的多种算法,包括基于用户、项目的协同过滤算法,矩阵分解方法等。它还提供了多种推荐效果评价工具。这应该是推荐领域的人用到的最常用的工具。这个工具覆盖了很多流行的个性化推荐算法,也提供了相应的源代码。做个性化推荐的同学既可以使用这个工具,也可以通过这个工具学习算法细节。

  一篇文章收藏涵盖各种人工智能算法和数据处理的开源工具

  MyMediaLite_Python - Python

  MyMediaLite_Python是合肥工业大学王锦坤博士开发的开源推荐工具,基于Python编写,是MyMediaLite框架的Python版本。目前已经引入了WRMF模型等。

  Apache Mahout - Java/Scala

  Apache Mahout是一个优秀的分布式机器学习框架,早先随着Apache Hadoop 1.X推出,它包含了一些很优秀的向量运算工具。0.98版本以前是基于Hadoop 1.X的工具,使用Java编写。随着Hadoop 2.X的推出,其开始使用Spark作为基础平台,提供Scala接口。后面我们也会说到Spark上的机器学习工具。如果希望使用Java可以下载0.98版本之前的软件,该工具的源代码也非常适合大家乐器学习算法,值得研究。其主要特点如下:

  提供了简单的可扩展编程环境,很容易构造具有扩展性的算法

  内置大量经典算法,这些算法基于Scala+Apache Spark、H2O、Apache Flink平台

  提供Samsara,一个向量实验环境,语法与R类似

  一篇文章收藏涵盖各种人工智能算法和数据处理的开源工具

  Apache Spark MLlib - Java/Scala/Python

  Apache Spark MLlib是Spark平台上的一个可扩展的机器学习包。这也是目前最流行的分布式的机器学习库之一。只要使用Spark等几乎都会使用这个库。底层算法是Scala编写,可以Java调用,主要是分布式计算框架,运行在Spark平台之上。其主要特点如下:

  简单易用,可以被Java,Scala,Python和SparkR调用

  性能强悍,拥有高质量算法,比MapReduce快100X倍

  容易部署,可以运行在Hadoop集群和数据之上

  一篇文章收藏涵盖各种人工智能算法和数据处理的开源工具

  Weka - Java

  老牌的数据挖掘工具,这个软件是由University of Waikato的人开发和维护的。它的语言版本是Java,既提供jar包,可以自己调用,也提供了图形化界面让大家使用鼠标操作。非常简单易用。唯一麻烦的是输入格式是ARFF文件,是他们自己定义的。但是我们也可以使用csv作为输入,只不过不如ARFF强大。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多