搜索
查看: 2363|: 0

值得mark的11个开源机器学习项目

[复制链接]

22

主题

4

回帖

157

积分

版主

积分
157
发表于 2015-1-5 21:22:05 | 显示全部楼层 |阅读模式
摘要:随着机器学习越来越受到开发者关注,出现了很多机器学习的开源项目,在本文列举的11个机器学习开源项目中,无论你是Java爱好者还是Python狂人,在这里你都可以找到自己想要的机器学习开源项目。
垃圾邮件过滤、人脸识别、推荐引擎——当你有一个大数据集并且希望利用它们执行预测分析和模式识别,机器学习是必经之路。这门科学,计算机可以在没有事先规划的前提下自主学习、分析和操作数据,现在越来越多的开发人员关注机器学习。
机器学习技术的兴起不仅是因为硬件成本越来越便宜以及性能越来越强大,促使机器学习在单机或大规模集群上轻松部署的免费软件激增也是重要因素。机器学习库的多样性意味着无论你喜欢什么语言或环境,都有可能是获得你喜欢的。

1. Scikit-learn

Python由于其易用性以及丰富的函数库,已经成为数学、自然科学和统计学的首选编程语言。Scikit-learn通过在现有Python包上构建——NumPy SciPy和matplotlib——服务于数学和自然科学。生成的库要么可以使用交互式“工作台”应用程序,要么被嵌入到其他软件和重用。工具箱可以在BSD许可下获取,所以它是完全开放和可重用的。
Project: scikit-learn
GitHub:
https://github.com/scikit-learn/scikit-learn
2. Shogun

在最古老、最值得尊敬的机器学习库中,Shogun创建于1999年,用C++编写,但并不限于在C++工作。由于SWIG库,Shogun可以轻松在Java、Python、C#、Ruby、R、Lua、Octave、Matlab语言和环境下使用。
虽然德高望重,Shogun也有其他的竞争者。另一个基于C++的机器学习库Mlpack在2011年出现,它宣称比其他竞争者速度更快并且更容易使用(一个更完整的API集)。
Project: Shogun
GitHub: https://github.com/shogun-toolbox/shogun
3. Accord Framework/AForge.net

Accord,一个.Net的机器学习和信号处理框架,是早前类似一个项目AForge.net的扩展。顺便说一下,“信号处理”这里是指一系列对图像和音频的机器学习算法,如图片无缝缝合或执行人脸检测。包含一组视觉处理算法;它作用于图像流(如视频),并且可用于实现移动对象的跟踪等功能。Accord还提供一个从神经网络到决策树系统的机器学习常见库。
Project: Accord Framework/AForge.net
GitHub: https://github.com/accord-net/framework/
4. Mahout

Mahout框架一直与Hadoop相关联,但旗下很多算法还可以脱离Hadoop运行。他们对那些可能最终迁移到Hadoop上的应用程序或从Hadoop上剥离成为独立应用程序的项目非常有用。
Mahout缺点之一:目前几乎没有算法支持高性能的Spark框架,反而使用日益过时的MapReduce框架。该项目目前不接受基于MapReduce的算法,那些想要获得更高性能的开发者转而用MLlib 替代。
Project: Mahout
5. MLlib

Apache自己的Spark和Hadoop机器学习库,旨在为大规模和高速度而设计的MLlib自称拥有所有常见的算法和有用数据类型。与任何Hadoop项目一样,Java是MLlib上的基本语言,但是Python用户可以用MLlib NumPy库连接(也用于scikit-learn),并且Scala用户可以针对MLlib编写代码。如果不能设置一个Hadoop集群,MLlib可以在没有Hadoop的情况下部署在Spark上——以及在EC2或Mesos上。
Project:MLlib


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2024-11-15 16:41 , Processed in 0.095410 second(s), 25 queries .

快速回复 返回顶部 返回列表