一.入门:高屋建瓴

数据分析的坑很大,一开始走上这条路,就要明确基本的方向,依托于核心的思想,不然只会越走越偏,最后觉得山太高水太深,不了了之。

1.数据与数据分析

数据其实就是对事物特征的定性指称以及量化描述,比如一个人的身份证号,年龄,收入,身高等就构成了一组数据:{id:001,age:45,income:10000,height:176}——如果把很多人的这些数据汇成表,便构成了“结构化”(也就是比较规整一致)的“数据空间”。

但是呢,有一些或者大部分的数据都不是规整的,也就是分布比较杂乱或者不是按照我们想要的那样分布的(比如一个网页中的文本数据分布),称之为“非结构化”的数据空间。

数据分析的本质是什么?那就是——将这些结构化或者非结构化的数据,映射到指定格式的数据空间里面,然后进行分析——数据分析的基础就是数据空间的映射。

这句话说的比较绕,但是却非常深刻,它告诉我们,数据分析的一个基础(在实践中也是最重要)的一件事情就是寻找合适的数据空间映射方案——某种程度上就是所谓的数据清洗。

2.对于一些工具的看法

沿袭上文,工具则可以分为两种,一是基础性的excel,spss,sas等数据分析软件以及许多数据库管理工具,它们主要处理的是结构化的数据,也就是给你把数据弄成了表的规整数据(当然,这些数据很多时候也需要清洗,不过已经不涉及数据空间映射这个问题了);二是编程语言,包括python,R,Java,Ruby等,这些语言工具主要是处理数据空间映射和清洗工作的,其中,比较常用的是python和R,前者由于其可扩充性,已经在大多数情况下优于后者了。

3.学习:从天而降

所谓“从天而降”指的是从一个比较高的地方下降来学习的方法,好比是拿着一张总体的地图去探索数据分析与挖掘的世界。推荐阅读:《数据科学实战》。

其次,请注意一点:python学习,对于没有任何计算机基础的人来说,基本上是开头容易、越往后面越难!(python一开始的类似自然语言的结构很友好,但你到了函数与面向对象的学习的时候,还是必须明确引用变量的变化(也就是数据如何在内存中流动)以及作用域的动态变化等对入门者不友好的问题。)

在这种情况下,《head first python》根本不适合,不要用它学习python!

我的建议是,花时间学习一下计算机的基本原理,然后是C语言,Java等,然后再学python,不然你到后面完全是知其然而不知其所以然!

推荐阅读:《计算机科学概论(第11版》

以及:《疯狂Java讲义》(这本书虽然讲的是java,但对数据在内存中的流转也有讲,可以作为参考,理解程序的运行。)

最后才是:《Python基础教程(第2版•修订版)》

然后可以看看入门的统计学教材:《深入浅出统计学》(很快就能看完,我当时半天多一点就看完了。)

以及入门与深入理解数据库原理:《MySQL必知必会》+《数据库系统概念》

有了技术基础了,再看看《R语言编程艺术》

另外,入门者不要选择python3.x,选择python2.7吧。为啥?因为很多重要的模块比如pandas还有网上的许多资料现在还是最多支持到2.7的,你选3.X对于入门那是舍近求远。

最后,可以使用《利用Python进行数据分析》将所有知识串接起来,感受pandas以及scipy,numpy中的数据计算是如何体现数据空间映射这个深刻概念的。

二.中阶:理论

中阶主要是理论学习以及一些比较复杂的应用操作。

1.理论基础:书籍

良好的数学基础是进一步学习的支撑条件。

以下是推荐阅读的书目:

1.概率论与数理统计:《概率论与数理统计》,进一步学习概率与统计;

2.高等代数:《高等代数简明教程(上册)》,“数据空间的映射”的思想就来自于高等代数;

3.最优化:《最优化理论与方法》,参考书,中阶不要细读。

4.数据挖掘:《数据挖掘导论》,偏数学,《数据挖掘》,偏结构化的数据库;

5.信息检索领域入门:《信息检索导论》

6.统计学习理论快速俯瞰:《统计学习方法》

7.实战之于python:《集体智慧编程》+《机器学习实战》

8.实战之于Mahout平台:《Mahout实战》

2.实战:利用数据库与数据api,实战学习

(1)淘宝上以及很多百度提供的一些数据库:API Store_为开发者提供最全面的API服务等,都可以下载到数据进行处理,有一些经典的研究数据库,主要是一些大学构建的,也可以用来训练模型;

(2).学习写网络爬虫,基于python,爬取文本数据进行分析,其中,文本数据分析可能涉及到中文的自然语言处理,比较麻烦,有一些模块可以直接使用(比如jieba),如果觉得不理想,可以尝试爬取英文页面。另:写爬虫必须首先理解网页的数据空间,建议阅读:《Head First HTML与CSS、XHTML(中文版)》;

(3).苦练清洗数据的基本功——因为大多数数据工程师的主要工作都在于此,并且在清洗的过程中,深刻理解数据空间的映射。另,清洗数据必备技能:正则表达式。建议阅读:《正则表达式必知必会》;

(4).混合编程与数据可视化:可以尝试以python为主的混合编程(python+R)以及数据可视化,建议阅读《ggplot2》

三.高阶:回归、远行、优化与万法归宗

1.回归

总的来说,数据挖掘、机器学习相关的工作,看着很新,其实只是很久之前的理论知识的应用罢了,在实战领域,并没有多少新的东西。

所以,从技术上讲,我们需要回归到那些最内核的东西。

什么是最内核的东西,那就是:算法与数据结构。

知乎上有一些言论,说算法与数据结构一般情况下程序员是用不到的,这句话对于一般的写系统的程序员确实受用,但是对机器学习、数据挖掘的程序员,却恰恰相反:我们的主要工作就是在搞算法和数据结构。

比如贝叶斯网络、人工神经网络,本质上其实还是基于图的算法的应用罢了。

推荐一本书,比《算法导论》好读:《算法(第4版)》

2.远行

所谓远行,就是从学习的象牙塔里面走出来,走向实用或者特殊领域,比如:金融量化分析。

传统的投资经理,做的专业投资,本质上根根结底是什么?那就是两个字:分散。

所谓分散,说大白话就是“把鸡蛋放在多个篮子里面”,但至于怎么放,放多少,都是非常复杂的,传统的手段包括建立马科维兹模型与指数模型来作为分散的参考模型。

机器学习也是可以来做分散的,并且,知名的文艺复兴技术公司做的“最大熵模型”比传统的那两大模型还要好,还能够持续跑赢大盘。

如果你对机器学习、数据挖掘相关理论有深刻理解的话,你会发现一个事实:分散本质上就是在寻找有限条件下的最大组合熵!最大熵模型之所以有效就是因为它使用了超级大的数据量作为基准,得到了相对于传统分散模型更高的熵。

这个要讲很多,确实也比较高阶,我就点到为止,将来再细谈。

3.优化

优化主要是对python执行效率的优化——要知道,很多时候,量化分析对时间的要求非常严格,差之毫厘,损失成百上千万。

这个时候,就需要了解如何优化python。

知道吗?python是用C写出来的,如果你优化的好,你的python可能比C还要快!

优化问题本质上是一个局部最优与全局最优权衡的问题,有空细讲。

优化的另外一个问题是数值计算,包括矩阵的分块计算、并行计算,MapReduce对大量数据的处理等,这也是比较复杂的,有空细讲。

4.万法归宗:信息论

数据处理的的最高境界,其实是对信息论的深刻理解。

算法优化,大量问题都是把指数问题变为对数问题,其实根本原理是信息论;

量化分析,买入卖出的博弈,每一次交易如何暴露出信息的?

投资组合,如何在限制条件内产生最大熵?

文本挖掘、数据压缩,隐马尔科夫链,如何用最少的信息映射原空间?

。。。。(待补充)

推荐阅读:《信息论基础》

文章由PM28网编辑,作者:海阁,如若转载,请注明出处:http://www.pm28.com/322.html欢迎投稿

如何成为python 数据分析师_如何成为一名真正的数据分析师或者数据工程师相关推荐

  1. python一年收入_你的年收入过5万了吗?数据科学家的Python模块和包

    全文共2327字,预计学习时长15分钟 图源:unsplash 笔者刚开始学习给数据科学编程时,发现要找到创建模块和包的简单解释以及教程非常困难,尤其是数据科学项目方面. 数据科学代码通常是非常线性的 ...

  2. web数据交互_通过体育运动使用定制的交互式Web应用程序数据科学探索任何数据...

    web数据交互 Most good data projects start with the analyst doing something to get a feel for the data th ...

  3. 微信小程序数据拼接_最佳方式实现微信小程序分页加载数据

    一般小程序做分页加载数据,会做一些下拉加载更多.然后上拉刷新的操作.数据放在一个for循环里去加载,数据源是一个数组对象.在加载下一页数据时,将下一页的数据拼到当前数组后面.这样的确可以实现分页加载数 ...

  4. hbase集群 数据写入_一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法与流程...

    本发明涉及HBase集群领域,尤其涉及一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法. 背景技术: 随着云计算技术的不断发展,云计算技术不断落地成为支撑各行业信息技术发展的重要支柱. ...

  5. 政府公开数据可视化_公开演讲如何帮助您设计更好的数据可视化

    政府公开数据可视化 What do good speeches and good data visualisation have in common? More than you may think. ...

  6. excel两个表格数据对比_教你如何使用excel快速对比多项数据

    Hello,今天要介绍给大家的小技巧是如何利用excel或xlsx快速对比多项数据. 下面我以一.二月份的销售数据为例,进行快速比对两个月的数据差. 首先,我们在任意单元格中输入一个"-1& ...

  7. excel 棒球数据游戏_使用librosa的棒球应用的音频发作检测数据准备

    excel 棒球数据游戏 介绍 (Introduction) I wish to build a deep learning project for a baseball application, o ...

  8. html js json数据解析后台数据包_如何将html解析为有关联的json数据?htmlparser2模块使用详解...

    上一篇文章我们介绍了一个html/xml解析器--htmlparser,这篇文章我们介绍另外一个解析模块htmlparser2,后者是对前者的重构,同时对前者的API做了部分兼容. 用法简介 安装 c ...

  9. api可以主动采集用户数据吗_现在的前端框架全是通过API获得数据,如何记录用户登录状态?...

    很多答案都提到了 JWT.Session.Cookie,但是我发现常常有人混淆这三个概念.或者说不同的语境下大家对 Session 会有不同的理解. 首先这三个名词表示的是三个纬度的东西,不能简单地说 ...

最新文章

  1. java语言基础final_java语言中final的用法
  2. java访问器_Java中的访问器方法
  3. 2020 年,云游戏将爆发?各大科技公司云游戏布局大曝光!
  4. 知乎阅读三百万的生信学习指南
  5. kafka应用场景Kafka VS Flume
  6. vim可以用来编译python吗_Linux下编译Vim以支持python2.x
  7. oracle增加网络服务,Oracle 配置监听和本地网络服务
  8. 新浪微博放开140字限制:社交向左 原创向右
  9. springboot 项目中在普通类中调用dao层的mapper 出现空指针异常
  10. 端口截听实现端口隐藏 嗅探与攻击
  11. 串口调试工具(Python2.7+pyserial+Tkinter)
  12. 固定数组实现一个队列
  13. MAC电脑新手入门指南
  14. java多行注释_Java注释:单行、多行和文档注释
  15. GIS开发必备的地理坐标系知识
  16. 重装系统后,一直卡在天涯若比邻蓝屏
  17. async.whilst 的一个简化版实现
  18. AMD intel CPU 型号对比
  19. selenium被检测了怎么办?
  20. php防止恶意注册,PHP怎样防止用户注册高仿其他人的用户名?

热门文章

  1. FastAI 2019课程学习笔记 lesson 2:自行获取数据并创建分类器
  2. debian10 chrony简单配置
  3. CentOS下Docker 安装
  4. starrocks问题小结
  5. 汇编语言中将数据、代码、栈放入不同的段
  6. LeetCode中等题之重排数字的最小值
  7. 编写可调模板并使用自动调谐器
  8. Android的数据存储方式
  9. 客快物流大数据项目(五十四):初始化Spark流式计算程序
  10. 女友问粉丝过万如何庆祝,我发万字长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学妹|学弟|小白看了就懂