建立数据场的七大技能
成为数据极客,建立自己的数据场需要哪些技能呢?遇到普通的数据,通过SQL做分析。如果数据量比较大,可以使用Hadoop等大数据框架处理。在深入挖掘上,可用Python或者R语言进行编程。
上回书说到,数据科学家是具有数据相关的完整理论和知识的人,自然境界很高。做作一个普通的IT界码农,成为数据科学家需要漫长的过程。那这个……,做不到数据科学家,我们还可以做个数据极客(Data Geek)嘛,挑战数据极限,也是挑战自己的极限。
那么,成为数据极客,建立自己的数据场需要哪些技能呢?且不说那高深复杂的理论,仅从实用的角度来分析一下,建立数据场的七个方面。
二维表格数据是最常用形式了,对二维数据的处理分析也是最基本的。传统的SQL工具与大数据环境下的NoSQL工具中,以关系型的MySQL为代表,以文档型的MongoDB为代表,以大数据环境下的Hive代表。这都是数据分析的基础而强大利器,在很多场合下都能快速的解决问题。
扩展的,还会有内存型数据库Redis,图数据库Neo4j,还有全文索引的ElasticSearch和Solr,还有Hbase和Cassandra,这些根据具体的业务,选择性的掌握其中一部分。
学到什么程度并无定论,重点在具体的数据环境下,不至于永远只知道MySQL这一个工具,在不同的场景,其它的数据库能发挥出强大的优势。
总结起来说,重点不是工具,而是数据。不仅要能处理结构化数据,还要处理半结构化数据,不仅能单机处理,还要在集群环境下处理。
2.2 Linux工具集
Shell, AWK, sed, grep等基本工具集,这是很多数据简单处理的得力助手,包含数据文件编码,数据合并,数据拆分,数据规范,格式验证等等。
Linux脚本能力,简单服务配置能力,正则表达式能力,Vim或者Emacs编辑能力,文件系统常用操作命令,远程登录ssh等等,这些都能快速的处理很多问题。任何的分析或挖掘都会依托与一个系统,而Linux是其中最常用的,尤其是在服务器环境。熟悉一个系统,能让自己的数据科学工作事半功倍。
简单的数据收集与处理,很多时候也会依赖于Linux系统或者基于其上的一系列工具,比如常用的Web服务器引擎Nginx及其产生的日志,常用的文件传输scp或者rsync,常用的定时任务crontab等等这些工具,稳定又实用。
2.3 Python或者R语言生态
掌握一门分析专用语言,很有必要。其中以R语言和Python语言为代表。R起源于统计学,如今在数据科学领域也占有强大的阵地。Python更是一门完整的编程语言,不论是Web开发、自动化运维、云计算,还是数据科学领域,都有众多的用户。两者在数据分析中都有完整的生态圈,而且其它环境对这两者的支持也是非常好的。
无意于争端,全看个人喜好。本人只熟悉Python这块生态,因此只讨论这一块相关的。最为大众熟悉的一些包为:Numpy,Scipy, Pandas和Scikit-learn,Keras,解决了从数据分析到机器学习和深度学习的几乎所有任务。
2.4 Hadoop与Spark生态
大数据平台,无疑是以Hadoop和Spark为代表,无论在线处理还是离线分析。Hadoop比较适合离线处理。而在线处理中,Storm就是比较有名的。如果需要自己实现Map-Reduce或者对接数据之类的开发,编程语言中以Java和Scala为代表。
在线搜索相关,估计会用前面说过的ElasticSearch或者Solr。当然,区别于hadoop的Map-Reduce流程,Spark提供的弹性数据集RDD,能作用于RDD上的算子非常多,使得数据处理与分析更加方便。除此之外,Spark还提供了实时任务的Streaming,能实时的对数据进行处理与获取结果。还有Spark SQL功能,尤其以其中的DataFrame重为重要。另外,ML与MLlib也是分布式机器学习的重要部分。
Spark是Hadoop生态圈中的有力补充,并非替代品,如果要说替代,那也只是替代了MapReduce分布式计算框架而已,分布式调试与管理依然用Yarn,文件系统依然会使用HDFS。
Hadoop发行版中,主要以三大厂商的Hadoop的为代表。Cloudera发行的CDH,Hortonworks发行的HDP,这两个是目前各种大数据框架支持的主流,另外一家是修改了核心的MapR。
2.5 概率、统计与线性代数
对数据进行统计与分析,是需要统计学的基础知识。另外,很多问题都可以转化为一个概率问题,并不是要完全确定的结果,只要概率达满足即可。概率论方面的主要是贝叶斯统计,隐马尔可夫模型等之类的。这些都是深入理解算法的基础。
对数据的运算,很多时候就是直接矩阵运算,而涉及矩阵的各种运算也正是线性代数相关相关的问题。
机器学习之所以有效,是因为模型对数据的处理,最后都会变成一系列的数学优化问题,而且主要和凸优化知识相关。机器学习的各种计算,都是和数学密切相关。除了上面的概率、统计与线性代数,还会和微积分有一定的关系。
当然,但除非你深入研究算法的核心原理或者写学术论文需要,也不要被数学吓到了。在机器学习应用过程中,并不会用到太多的数学知识。而且,也并不需要完全把上面这些课程学好了再来进行机器学习。计算机基于数学,但应用型的算法,并不需要特别深厚的数学功底。如果以前课程学得不好也没有太大的关系,很多知识到了关键时刻再补一下也不迟。
数据挖掘与人工智能中和算法相关的部分,常用的分类算法,聚类算法是基础。推广开来,就是监督算法与非监督算法,监督算法中,除了分类,还有回归。非监督算法中,除了聚类,还有数据降维,还有用于个性推荐的关联规则。另外,专门处理自然语言的机器学习也即NLP,或者文本数据挖掘,是另外一个侧重方向。
对算法的理解,需要前面的统计与概率等等数学知识,还需要结合编码能力,最好能自己实现一些演示算法流程的Demo程序来辅助理解。实际应用中,最好以第三方库为准,它们经过大量人员的测试,无论是性能还是算法完整性上都会更好,自己实现的程序仅仅用于理解算法流程即可。除非你对算法理解很彻底,并且编码能力也非常强,而且觉得现有的框架不能满足你的使用。
除了算法及其参数调优外,还有另外两个重要的内容,特征提取与模型评估。如何从原始数据中提取出用于算法的特征是很关键的。很多时候,不同算法在性能差异上并不明显,但不同的特征提取方法,却能产生比较大的差距。
在某种特征上应用特定的算法,还需要做的就是模型评估,如果评估一个模型是好还是坏,在一定程度上也体现了机器学习是否有效的依据。在特征提取上,一个比较火热的领域自然是深度学习了。源于多层神经网络,是一种非监督的特征提取方法,更好的用于图片、语音与视觉处理。值得一提的是,深度学习在很多地方的性能已经超过传统的机器学习算法。
2.7 业务及杂项
除上上面的纯技术外,还有一些非技术上的技能。业务理解,商业洞察,沟通与交流能力,尤其以业务的理解能力为重要。数据是死的,无法更好的理解业务中的问题,也就无法更好的利用现有数据,甚至无法更好的解读其中的结论。
理解业务通常需要一些专业的领域知识,比如做网络安全的,需要安全的一些基础知识;做电商的,需要理解其中各个指标对当前销售的影响;做二手车估值的,需要对二手车残值评估有一定的了解。
除了业务知识外,还需要一定的文档与报表技能,比如Word、PPT与Markdown工具的使用,只有完整的文档与良好的表达,才更好体现数据所展现出来的效果。
另外,英文能力与写作也同样重要,需要经常阅读一些英文文章。阅读的主要目的,就是随时更新自己的技能,扩展知识面。而写作,就是自己知识积累的一种方式,将纸上的东西,变成自己的技能。
这儿列出的七项主要技能,和上一篇文章的7大技能基本相同。对于高级信号处理,主要用于特征提取,个人感觉目前可能通过学习神经网络与深度学习来解决,深度学习是专为解决特征提取的问题而来。
七大技能,总结起来,就是熟悉一门Linux系统及其上的常用工具,遇到普通的数据,可以通过SQL来做简单分析或者聚合。如果数据量比较大,可以使用Hadoop等大数据框架处理。在深入挖掘上,可用Python或者R语言进行编程,应用以概率统计为支撑的机器学习算法。
要做好数据极客,只有在各种工具与技能基础上,再加强自己的业务兴趣点,配合个人的悟性而修行。果能如此,持之以恒,则天下定有你的天地。
数据分析咨询请扫描二维码
作为数据分析领域的探险家,我们常常面临着选择正确工具和技能的挑战。在这个数字化时代,学会并精通适合行业需求的工具显得尤为 ...
2024-12-03在数据分析领域,掌握多种软件和编程语言至关重要,选择合适的工具取决于个人需求和背景。让我们一起探索常用的数据分析工具及其 ...
2024-12-03在数据驱动的时代,数据分析成为了关键的技能。选择合适的数据分析工具至关重要,因为它们直接影响着你对数据的理解和分析效果。 ...
2024-12-03在当今数字化时代,数据分析已经成为各行各业中至关重要的角色。随着技术的迅猛发展和数据量的爆炸增长,数据分析师需要不断提升 ...
2024-12-03在当今数据驱动的世界中,数据分析已成为企业决策制定和战略规划的关键。其中,数据可视化是将复杂数据转化为简洁、易懂图形的重 ...
2024-12-03在当今信息爆炸的时代,数据扮演着至关重要的角色。学会利用数据进行分析不仅是一种技能,更是一种战略性决策工具。本文将探讨学 ...
2024-12-03揭示数据的无限价值 学习数据分析不仅仅是一种技能,更是探索信息海洋中宝藏的钥匙。数据分析的实用性体现在多个领域,如企业决 ...
2024-12-03在当今信息爆炸的时代,数据扮演着至关重要的角色。成为一名优秀的数据分析师,不仅需要具备技术实力,更需要拥有跨学科的知识储 ...
2024-12-03在当今数据驱动的世界中,成为一名优秀的数据分析师需要具备多方面的技能和知识。从统计学基础到机器学习算法,再到沟通能力和业 ...
2024-12-03在当今信息爆炸的时代,数据分析扮演着至关重要的角色。从商业决策到科学研究,数据分析为我们提供了深刻的洞察力和指导方向。然 ...
2024-12-03数据分析的基础知识 数据分析是一个多步骤且复杂的过程,旨在从数据中提取有价值信息以支持决策。这涉及数据的收集、清洗、转换 ...
2024-12-03数据分析是一门引人入胜且充满挑战的领域,它串联着数据的意义与我们的决策需求。无论你是初学者还是经验丰富的专家,掌握数据分 ...
2024-12-03数据分析培训的就业前景展现出令人振奋的态势。随着大数据、人工智能等前沿技术的快速发展,数据分析在各行各业中的应用愈发广泛 ...
2024-12-03在当今数字化时代,数据分析技能的重要性日益凸显。随着大数据、人工智能等领域的迅速发展,数据分析已经成为各行各业中备受瞩目 ...
2024-12-03作为一名数据分析师,除了扎实的数学基础外,掌握软技能同样至关重要。本文将深入探讨数据分析领域中不可或缺的软技能,并结合个 ...
2024-12-03市场需求与技术驱动 数据分析师的职业前景广阔,市场需求旺盛。在金融、医疗、零售、科技等领域,企业对数据分析师的需求不断攀 ...
2024-12-03市场需求与前景 数据分析师的职业前景广阔,伴随着多元化技能要求和清晰的职业发展路径。 在金融、医疗、零售、科技等领域, ...
2024-12-03作为数据分析师,掌握正确的工具和技能至关重要。在当今数据驱动的世界中,Python作为一种多才多艺的编程语言,在数据分析领域扮 ...
2024-12-03在当今数据驱动的世界中,数据分析师扮演着至关重要的角色。他们需要掌握各种工具和技能来从海量数据中提炼出有价值的信息。其中 ...
2024-12-03数据分析实践是一门引人入胜的艺术,融合了技术与创意,为各行业带来前所未有的洞察力与决策支持。本文将探讨数据分析实战案例的 ...
2024-12-03