近年来,越来越多的行业开始通过大数据获益,也有许多行业正在尝试如何使用大数据技术来解决一些日常问题。大部分的企业于机构在大数据、机器学习的探索方面都是基于开源框架来展开相关工作的,这是因为开源框架可以从性能、功能、易用性、安全性等方面给我们带来极大的便利。
如果没有开源的平台,我们在关注于业务于数据本身之外,还要花费巨大的精力来考虑数据的存储、加载等基础问题,同时还要考虑分布式环境下,各节点的管理与通信等问题,所有这些将会大大降低我们的工作效率。
在进行数据分析特别是大数据分析时,往往要用到机器学习算法,如果我们都从头造轮子,那不仅要求我们要精通算法,同时还要精通编程技巧,而且自己开发的算法也需要大量的测试,及时测试通过也不能保证其效率、稳定性、安全性问题,所有这些往往都需要近一步进行优化。
但是目前有众多大数据、机器学习框架,我们该如何选择呢?
首先,需要针对自己的实际情况与需求选择相应的框架。比如对于常规统计而言,很多人对开发并不精通,但是却能熟练的使用sql语句,在这种情况下就可以首先选择Hadoop + Hive的组合,通过Hive将类sql语句翻译成mapreduce代码并执行,这样便可以通过批处理的方式得到分析结果。
如果是一个精通开发的程序员,那么他可以通过python自写代码,也可以开发mapreduce程序,或者基于Spark通过编程完成相应的数据分析工作。特别说明一下,在内存价格大幅跳水的今天,当数据量并不是很大的时候,完全可以通过一些常规的工具如Excel、SPSS、SAS、Matlab等来完成一些繁琐的数据分析工作。
其次,当我们需要使用机器学习算法来对复杂的数据进行分析时,也有多种的选择,对于单机情形下有诸如WEKA、scikit-learn等短小精悍但功能强大的机器学习库;如果数据量很大,需要分布式处理时,可以首选Spark MLlib,也可以使用mahout等。此时,我们可以略去开发的过程,而专注于数据本身,包括数据清洗、特征选择与映射等预处理工作;接下来便可以通过调优参数来优化模型,进而完成数据分析工作。
同时还需注意,当今流行这一种错误的观点,认为仅仅需要通过机器学习培训,让受训人员了解了算法就能胜任数据分析工作,其实不然,更重要的是对数据和业务的理解,以及对二者之间如何关联要了然于胸。框架对我们来说就是一种工具,而需要了解数据分析之“道”才能真正成为一个合格的大数据、机器学习算法工程师,这是一个长期的过程。
机器学习、大数据、人工智能培训
识别二维码,获取更多培训信息