入行有段时间了,把自己阅读和理解的做一个汇总,自己使用的工具做一个总结。
技能本身并不是障碍,主要是在在于经验的积累,有些坑要跳,有些坑要绕。该走的路必须走~ 经验--对问题有自己的预判和依据
0.方向和阶段
方向和阶段
理论数据科学家
数据科学的理论研究,为其他的数据科学家创造框架和工具
应用数据科学家和行业数据科学家
A,即Analysis(分析)
分析型数据科学家主要致力于寻找数据背后的含义,或是以一种静态的方式使用这些数据。
分析型数据科学家类似于统计学家(他们很可能本来就是搞统计的),但他们还懂得统计课程里不涉及的与数据工作相关的具体的实际操作,
比如数据清理、大型数据集、数据可视化、对某一领域的深度了解和如何用数据讲一个漂亮的故事,等等。
B型数据科学家:B,即Building(构建)。
构建型数据科学家和分析型分局科学家的共同点是都有统计学背景,但前者还是编程高手,抑或是训练有素的软件工程师
构建型数据科学家的关注点是把数据“投入生产”。他们建立的模型通常以“推荐”的方式与用户互动,
比如产品、你可能认识的人、广告、电影、搜索结果等。
E型--数据工程师,软件工程师的一种
数据工具二次开发工程师:基于源码进行定制开发,或者从底部开始创建系统
数据应用开发工程师:搭建集群,解决数据存储等
大数据运维工程师: 维护集群,安全和运行
阶段--小白--初级--中级--高级--顶级--大师级
个人--
理论--技能--经验
理论内容
至少有那么一两个能推导,能说出适用范围,能自己实现,有过应用
经验:
作品或者项目:要求独立的项目经验--独立工作的能力
做具体的开发或者分析任务
做一个具体的活动-项目
达成的目标---执行能力
理解数据--数据从哪里来,到哪里去,哪些数据要重点关注
比赛:天猫大数据比赛和Kaggle比赛
处理过的最大数据量,如何处理以及处理结果
公司和企业
方式--自建、合作、引入外援以及外包
拥有的数据量和处理能力--数据量:PB TB GB MB
发展初期的公司:
数据分析主要致力于执行记录(log),建立ETL过程(Extract-Transform-Load 的缩写,
用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程——译者注),
模拟数据,设计一个框架来追踪并储存数据。这种公司的工作重点在于打好分析数据的基础,而不是分析数据本身。
发展中期的公司:
企业在成长,相应地,企业的数据也会增长。数据平台需要适应增长的数据,
但由于数据的“地基”已经建好了,公司会自然地从单纯收集数据转向从数据中形成观点、提炼价值。
除非这个企业本来对数据的战略用途就是非常规的,大多数分析型工作主要涉及定义关键绩效指标、促进业绩增长、寻找增长的下个契机。
达到一定规模的公司:
企业规模增长,数据规模会跟着增长。这时,企业需要利用数据创造或保持它的竞争优势,精细化运作--源于市场的竞争
比如:搜索结果要更加优化、推荐内容的相关性要更高、物流与企业运作要更加高效。
机器学习工程师、企业运营优化专家、实验设计者之类的专家能够有效帮助企业实现以上各种诉求。
和公司--
1.熟悉公司的业务流程以及业务架构,大数据的架构,组织结构
成本与收益--减少运营成本,增加市场收入
渠道成本
生产和商务成本
经营成本---
营销成本
人力成本--
2.自己的技能提升和经验的总结
数据团队和部门
问题:
完成目标我需要什么样的人? 这样的人有什么特点?如何考察这些人?
考察哪些方面?我需要的多长时间?目前团队情况与这个人磨合等
个人心性
知识架构: 统计方面,数据挖掘方面,机器学习方面 数据可视化
能力构成: 工作能力:编程能力 解决问题能力 沟通能力 归纳总结能力
英文文献阅读
实际工作经验:
培养-竞争-合作
1.数据分析和挖掘环境
底层数据存储 HDFS/
计算框架和资源管理 Spark、Storm、Yarn、MapReduce
数据存储 HBase、MySQL
ETL工具 Stat-Transfer、Kettle/
大数据分析工具 Spark、Hive、Pig
小数据分析工具 Python-R-SQL-Excel
数据集成 Kafka 、Flume
可视化工具 Tableau、Echarts
说明
这里有一些工具暂时还没用到,作为技术储备先放这里
Stat/Transfer(www.stattransfer.com)是一款可在34种数据格式之间作转换的独立应用程序,其中包括R中的数据格式
数据格式-Json XML 正则表达式
爬虫涉及-JavaScript HTML http协议
2.大数据开发环境
I、操作系统-Windows和Linux环境
语言环境
Java--并设置好环境变量JDK1.8--JDK1.7
Scala
Python
Linux操作系统-Shell
编译器--gcc等
Scala集成开发环境-Idea
安装了Scala插件
gitos插件--intellij-gitosc
Maven工程以及Maven常用的命令
Java集成开发环境
Eclipse
Python开发环境
IPython--简单的脚本和分析
PyCharm--用于开发
R语言
R--原生环境
R Stuido
SQL
MySQL
Orcale
SQLite
其他工具
github
git--并设置环境变量
Xshell
Editplus
Markdown
StatTransfer
3.、云端环境--网络环境-集群环境
代码托管
github
码云
商业服务
阿里云 https://www.aliyun.com/
分析--大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的TB/PB级数据仓库解决方案--支持SQL和MapReduce
分析--E-MapReduce--Hadoop,Spark 等大数据软件
4.机器学习-深度学习
深度学习框架
来源--名称--开发语言--调用语言--编程模式--支持等
蒙特利尔理工学院---Theano ---Python --Python调用----开源跨平台
Facebook ---Torch ---Lua ---Lua
Skymind ---Deeplearning4j---Java --Java、Scala、Clojure --编程模式---
Google ---TensorFlow ---C++ --:Python---开源
加州伯克利分校 ---Caffe ---C++ Python ---C++ C Python
个人组合 ---MXNet ---开发 ---C++, Python, R, Matlab, Java, Scala,Julia,JavaScript
--Amazon AWS 选为官方深度学习平台
机器学习平台
Keras是基于Theano的一个深度学习框架,它的设计参考了Torch,用Python语言编写
硬件
CPU 和 GPU
编程模式
符号式语言(symbolic language)-符号计算构架(如 CNTK,MXNET,TensorFlow,Theano)
命令式语言(imperative language)---命令计算构架(如 Torch
各种连接
雅虎 CaffeOnSpark
雅虎 TensorFlowOnSpark https://github.com/yahoo/TensorFlowOnSpark
DataBricks 提出 tensorframe--TensorFlow 连接到 Spark
英特尔开源了基于 Apache Spark 框架的分布式深度学习库 BigDL-Scala语言实现-- https://github.com/intel-analytics/BigDL
集群
设定独立的集群则需要我们转移大数据集 -----带来了不必要的系统复杂性和端到端的学习延迟
雅虎开源--在大数据集群上进行分布式深度学习