想转行数据方向,苦苦找不到方法?看这里,数据方向的完整知识体系送给你!
数据分析/挖掘-岗位要求
阿里巴巴数据挖掘工程师岗位要求:
1.熟练使用统计分析工具例如SQL, excel, SPSS, SAS, R, python等等;
2.掌握常用的数据分析方法,例如数据预处理,单变量描述性统计,多元统计分析如回归,聚类等;
3.良好的数据敏感度,能从海量数据提炼核心结果,有丰富的数据分析、挖掘、清洗和建模的经验;
4.有成本优化效能提升数据分析经验,尤其是供应链相关的优先。
腾讯数据挖掘工程师的岗位要求:
-
严谨的逻辑思维能力和扎实的梳理专业基础知识。
-
较强的动手能力,熟练使用R/Python/Matlab相关统计数学软件的一种。
-
具备自我驱动能力的研究热情,有学术研究成果优先考虑。
数据分析/挖掘知识体系
一、必备工具-SQL
SQL包括MySQL、hiveSQL/Oracel等,基本语法差不多,掌握其中一种即可,其他的可以用到时在学。SQL的学习需要掌握以内容:
-
SQL基础语法,包括语句查询,过滤条件,多表组合等
-
数据库表的增、删、查、改。
-
数据聚合计算,包括分组计算,自定义函数计算等
-
开窗函数(面试考察重点)
-
分页函数(面试考察重点)
推荐书籍及链接:《SQL必知必会》、牛客网刷题、推荐B站神器
二、统计分析神器-R语言
R语言是比较常用的统计分析工具,也是一种简单易学的高级程序语言。R语言的学习需要掌握以下内容
-
R语言的基础语法,基础的语法结构、函数定义以及基本绘图方法
-
掌握基本统计分析,包括描述性统计、相关、t检验、组间差异的非参数检验;回归;方差分析等
书籍推荐:《R语言实战》、《ggplot2:数据分析与绘图艺术》
三、Python
Python作为AI的必备工具,需要掌握以下内容:
-
Python基础语法,重点要学习数据结构、函数定义、类定义等
-
pandas进行数据管理,清洗,转换等
-
Numpy等高级库进行数值计算,线性转换等
-
熟练运用Matplotlib进行可视化
-
能够灵活使用第三方库sklearn, gensim等进行机器学习建模
书籍推荐:《Python编程从入门到实践》、《利用PYTHON进行数据分析》
网站推荐:廖雪峰的官方网站
四、统计学与概率论
统计概率是数据挖掘理论知识的基础。在日常的数据分析工作中,常常会用到统计概率论的知识。统计概率涉及到的条件概率、概率分布,统计检验等知识是学习数据挖掘必备的先验条件。
-
统计学基础知识,包括方差,中位数,协方差等定义
-
理解并且掌握离散分布于连续分布,比如高斯分布,泊松分布等概念。做到深刻理解,能够写出公式并且熟知运用
-
了解统计假设检验
-
理解并且能够应用线性回归,深入理解最小二乘算法
-
划重点:条件概率,这是一个经常考的点,牢记公式,能够熟练的运用公式解决实际题目
-
记住正态分布的3δ原则
书籍推荐:《深入浅出统计学》《统计学-从数据到结论》
五、线性代数与数理统计
概率论与数理统计是学习机器学习和深度学习的基础,学号线性代数与数理统计更容易理解及机器学习中的各项数学表达式。
线性代数与数理统计需要掌握的知识有:
-
矩阵代数
-
行列式
-
空间向量
-
特征值与特征向量
-
正交性和最小二乘法
书籍推荐:《线性代数及其应用》
六、机器学习
数据挖掘涉及到数据的清洗、数据挖掘定义,模型理解与运用,模型指标评估等一整套知识体系。
-
理解并且掌握数据挖掘基础知识,包括代价函数、过拟合、泛化能力、评价标准(精确率、召回率、敏感性、特异性)、划分数据集的方法、处理数据不平衡的方法、bias variance trade-off等
-
区分监督学习,无监督学习,半监督学习,同时要区分回归于分类模型等常用知识的区别
-
对于常用模型要有深刻理解并且能够用灵活运用,如 随机森林,GBDT, Logistic Regression, svm等,包括每一个算法定义的function、loss function以及求解loss function 的方法。
-
除了监督学习,还需要掌握主流的无监督学习方法,比如K-MEANS、层次聚类、密度聚类等,掌握评价无监督学习算法优劣的评价标准。
-
灵活掌握sklearn机器学习库,能有灵活应用到项目实践中
-
能够高效的检验模型参数,能够正确的运用评估指标进行模型评价
推荐书籍:《机器学习》周志华 《统计学习方法》
推荐视频:B站李宏毅机器学习系列课程、吴恩达系列课程
七、数据结构与算法基础
数据结构与算法作为校招面试中必考的题目,建议大家提前准备,能够在具体的场景下,抽象问题,用算法解决具体的问题,能够找出最优解最佳。数据结构与算法可以从以下几个方面进行准备:
1.递归
2.栈、堆、队列
3.链表
4.树
5.映射、哈希表和跳跃表
6.搜索树
7.排序与选择
8.图算法
推荐书籍:《算法图解》、《数据结构与算法-python语言实现》、《算法》、《剑指offer》
推荐视频:《左程云算法初级、中级、进阶》
推荐刷题网站:leetcode、牛客
八、自然语言处理(加分项)
NLP处理的是文字与文本数据。在现实中我们接触到的大部分都是非结构化的文本类数据,如果高效的运用这些数据是我们在NLP里面首先要解决的问题。NLP涉及到机器翻译,语音识别,情感分析等方方面面,掌握NLP的基础知识是每一位数据挖掘工程师必备技能。
-
能够掌握正则表达式,快速准确的提取出有效信息
-
掌握中文分词,能够灵活调用分词库,学会处理停顿词等
-
了解语言模型
-
掌握并且能够运用词向量模型
参考书籍:《统计自然语言处理》
九、大数据基础(加分项)
linux是数据挖掘工程师日常工作的操作系统,所以必须对Linux常用命令和系统有所了解,并且要求能够使用linux完成简单的数据分析任务。同时,linux上部署的分布式机器学习平台spark也是我们需要熟悉掌握的,这是加分项:
-
掌握常用linux命令,能够熟练使用Linux进行数据分析
-
能够使用Linux系统进行模型部署与自动调度
-
熟练使用spark进行分布式机器学习
-
理解mapreduce、spark的原理与区别
推荐书籍:《鸟哥的私房菜》
十、深度学习实践(加分项)
深度学习是当前最火热最前沿的应用,作为一名合格的数据挖掘工程师,必须理解以及运用深度学习常用模型。 我们需要掌握以下知识:
-
能够理解神经网络运行机制,比如反向传播等
-
能够对于常见的模型,DNN、CNN、RNN、LSTM等有深入的理解和运用
-
必须掌握一门深度学习框架,我们推荐使用Tensotflow
参考书籍:《深度学习》
推荐视频:B站李宏毅机器学习系列课程
参考链接:
https://job.alibaba.com/zhaopin/position_detail.htm?spm=a2obv.11410903.0.0.32ec44f6X0SqTy&positionId=76004
https://join.qq.com/post.php?post=191&pid=1
更多资讯关注微信公众号:DataScienceArt,不定期分送各种小福利。