笔者最近在学习python数据分析,在网络上并未发现合适(笔者对于合适的定义自然是讲者符合不符合自己的脾气)的相关课程,而自行读书又太过乏味,因而才用此随笔之诞生,相信边看边写,倒也便有一番趣味,至于为何发于网络,实在是笔者厌恶读书之无聊,图一新鲜罢了。
该随笔是基于“Python数据分析实战”,原作者是Fabio Nelli,由本国“杜春晓”老师翻译,不知道这样分享是否侵权,但是,本人只是分析自己所学,聊发牢骚,无任何盈利、逐名之心,另外,本人一向对于促进学科发展的老师从内心有着敬意,愿以此文向本文作者以及无数为计算机科学发展做出贡献的先生致敬。
笔者不知道是否可以做完本书全部的笔记,缘由实在是因为笔者厌恶读书(但绝对是对学问有着绝对的敬意,两种矛盾的事物在笔者内心实在可以达到阴阳调和之起效),如果对你有所帮助,笔者从内心感到十分开心。另外,笔者难免眼界有限,其中定然存在些许错误,还望读者仅作参考,将其看作一个俗人发牢骚的笔记,感谢!
第一章 数据分析简介
1.1数据分析
数据:可以记录、传输和分析的都可称之为“数据”。而信息则是从数据中提取出来的操作者所需要的内容,(将操作者所拿到的数据比喻成一堆食材,而信息则是操作者用这一堆食材做出的一道菜肴,其中有的菜会用不到,类似数据清洗,有的菜需要切、炸,类似数据分析,经过操作做一系列精湛的厨艺,呈现出了一道美味的、操作者所需的菜肴;至于做菜的整个过程,被称作数据分析)。
数据分析的目的:建立数学模型,并对希望的事情做出一定精度以内的预测。数学模型的预测精度取决于操作者的能力、获取数据的精度;
人们对于图形的理解能力远远大于文字,因此,市面上存在着许多将数据可视化的方式:各式各样的图表(类似于操作者可以将数据看成各种各样的蔬菜);
数据分析得到的信息是一道菜(一个模型和图形化展示),得到模型之后,就可以使用一些已经知道结果的数据集(多个数据)对模型的优劣进行试验。如果新的模型比既有模型优秀,舍弃既有模型,部署新模型,部署阶段需要根据模型给出的预测结果,实施相应的对策,同时还要防范模型预测到的潜在风险(笔者此处不太明白,是已经将模型预测到的结果用于现实吗?但该结果不是早已经知道了?)
1.2数据分析师的知识范畴
总而言之,数据分析师要有掌舵的能力,就像老船长一样,在数据海洋中,带领水手到达目的地。
1.3数据的本质
数据是对万物的表示(够精简吧)。
数据可以分为:类别型(又被分为定类、定序)、数值型(又被分为离散、连续)。定类型数据的各个类别没有内在的顺序、定序型数据有预先指定的顺序、离散型的个数是可数的、连续性就是不可数的。(各个数据各有不同,就如同时间万物,实在博大精深,叹为观止)。
1.4数据分析的过程
过程:转换和处理原始data-->以可视化的方式呈现data-->建模做预测
(此处本书作者“杜春晓”老师,给出了上述三个步骤的具体操作的相关图例,读者可通过查阅原书,了解该图例),现就具体步骤的详细content记录如下:
1.4.1 问题定义:在采集原始数据之前,针对具体要解决的问题,给出定义(笔者此处认为,应该是操作者要与客户进行交谈,用专业术语分析出客户的需求和潜在期望,并将信息通过专业术语的方式记录,为后续做基础,笔者认为这一步至关重要,无论后续操作如何,方向若是错了,什么都会变得没有意义),将问题整理好文件之后,进行项目规划,将解决问题所需要的团队筹建好。
1.4.2数据抽取:一定要根据第一步的问题,进行准确的数据采集,切不可有一丝疏忽,而遗漏大局,数据分析是一环套一环,在进行每一步骤的时候,都要谨慎,此处,笔者给出一个解决方案,或许在人力、财力运行的情况下,将每个过程的实施人员分成三组,一组实施,剩余两组做测验。
1.4.3数据准备:将获得的数据池,通过数据清洗、规范化处理等,转变成可以被分析的形式。
1.4.4数据探索和可视化:数据探索是通过对获得的数据进行分析,发现它们内部之间的关联,而可视化就是将这些关联透过图形的方式展示给操作者。
1.4.5 预测模型:(书中所讲笔者并为理解,现将在网络上查询到的information记录如下),利用过去的数据,建立一个“模型”,去预测未来的结果或未知的情况。
1.4.6 模型评估:(这里书中给了两个概念,训练集:用于建模的数据,验证集:用来验证模型的data,但其实两者都是来自先前所收集的数据池)用测试集对模型进行测验,验证是否输出已知的结果,进而评定其优劣。
1.4.7部署:(来源于网络)将模型真正投入使用,交付给用户。
1.5定量和定性data分析
如果所分析的data有着严格的数值型或类别型结构,这种分析称为定量分析;如果data要用自然language来描述,则称为定性分析;由于所处理的对象具有不同的特点,这两种数据分析方法也有所不同:
定量分析:所处理的data具有内在逻辑顺序或能分成不同的类别,这样,数据就有了结构。顺序、类别、结构可以给操作者provide更多的information,从而可以严谨地用数学方式对data做进一步处理。用这种data产生地model可以做出定量预测,而分析师(即我所言的操作者)可以更加客观地得出结论。
定性分析:处理的data通常没有内在结构,或者说结构没有那么明显,这些data既不是数值型也不是类别型(适合进行定性分析的data有文本、视频、音频等),分析这些data的时候,常常需要根据时机情况,开发特殊的方法来抽取information。用这些information创建的model可以做出定性预测,而数据分析师给出的结论可能包含主管解释。定性分析通常用来研究诸如社会现象或复杂结构等测量难度大的system。(此段文字笔者实在是可以体会到author索要表达的意思,文字精炼。)
1.6开放data
现在社会,人们将越来越多的data resource放在了Internet(我记得计算机网络,第八版,谢希仁老师,在书中讲解过Internet和internet的区别,很有趣,读者可以查看原典)上,而被存放在网络上、被有需求的人可以免费download的data就被称为open data。
书中作者给出了一些开放数据resource的站点,此处不在赘述。
就开放data而言,笔者亦可透过LOD云图(http://lod-cloud.net)了解网络上都要哪些开放的数据resource可以用。(笔者经过测试,该website可以使用)
1.7Python和data分析
该书用Python language介绍data分析的全部概念(作者说全部概念,组件作者功底之深厚)。
使用python进行数据分析的advantage:python拥有大量的库(笔者认为是第三方数据分析库的意思)为data分析和处理provide了完整的工具集、python的库一直在增加,与多种language(如C和Fortran)想对接。
PS:此时,时间已经接近凌晨1点,笔者通过边读边写的方式,将该书的第一章全部读完,对数据分析有了一个大体的轮廓,似如管中窥豹,笔者文中措词或有不当,以前笔者总会字字琢磨,生怕错语,今年来,笔者有着不同的看法,语言是为了表述情绪而存在,笔者所著皆为笔者日常,因此,若是读者感到困惑,实感抱歉,今年笔者突感精力充沛,实在想写出些什么,倒是不求惊天动地,只求多年之后,回看文章,读懂今日我之心绪,可以说,读者所看到的,实际上也是笔者为了日后自己所写之漂流瓶。
最后,如果这篇文章帮助到你,我会感到万分开心,如若你茅塞依旧,祝愿你早日找到解救之道,笔者的成长环境是尔虞我诈、充满着虚伪的环境,笔者虽然如鱼得水,但也对此厌恶不已,笔者自嘲“结庐在人境,而我车马喧”,希望读者私信时,可以文明礼貌,再次感谢!
















