绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
python入门总结(数据分析方向)
2019-09-01 23:47:24

 随着Python自身功能的完善以及生态系统的扩展,Python在Web开发、网络爬虫、数据分析与数据挖掘、人工智能等应用方面逐渐崭露头角。回顾phthon演变史,主要如下介个阶段:

1、Django和Flask引领的WEB开发模式

2、网络爬虫

3、自动化运维

4、数据分析与科学计算

作为数据库出身,本人学习以数据分析和挖掘为方向为主,因此接下来围绕这些内容进行简要总结。2008年发布的Numpy、scipy和2009年发布的pandas是数据分析与科学计算的三剑客。因此在这次学习过程中,我围绕数据分析方向经常用到的有Numpy、pandas、sklearn工具包为主进行学习测试。

 

一、安装环境

      自学要从 python3 开始,安装环境建议使用 Anaconda ,关于anaconda的可以看看这篇文章: Anaconda 完全入门指南 来自 https://www.jianshu.com/p/eaee1fadc1e9 >

      虽然有功能强大的 PyCharm 开发工具,在入门阶段还是建议使用 anacond a 环境,尤其其中的 Spyder 图形开发界面,适合初学者加载各种包和查看变量值等。   

 

二、python语法基础

      python 是采用弱变量机制,也就是说变量类型不用明确指定。 python 中的数据类型不多,有元组( tuple )、列表( list )、字典等。某种数据类型是指具体类型和该类型数据的操作集合,比如,元组用圆括号,可以做创建、查询等,但不能修改。 List 用中括号表示,能修改,类似一维数组。不过 list 也可包含二元元组(或更多元元组)等,还有实现了分支和流程控制的 for /w hile lambd 函数等。

       数据分析和挖掘,仅仅 python 基本语法还不够,因此后来有了 Numpy scipy 包,主要用于处理以为数组( Ndarry )和各类数据计算。为什么数组的处理呢,因为学习机器学习的时候我们会发现矩阵是模式识别或相似度分析的基础,矩阵实际上就是多维数组,所以免不了数组的计算。

 

三、python数据分析

       现实世界不那么简单,因此后来又有了 pandas ,主要用于表格类数据(实际上也是矩阵)处理的 Datafram 和序列数据的 Series ,通过 pndas 的各类操作方法,数据分析初期的数据清洗和预处理工作基本能完成。如果你是数据库很熟,前期数据处理(数据仓库)都能用 SQL 来处理,那 pandas 也是可以跳过去,但是学了 pandas 后我们会发现,有些数据处理操作比 SQL 还高效易用,因此还是需要学习。 pandas Datafram 对应于数据库中表或 Exell 上的表格。通过 pandas 我们后续会合并、排序特需的数据集。也能进行基本统计、分组、分布、交叉、相关分析等。

       当然,这些分析离不开数据导入导出功能的实现,根据个人经验,这些导入导出和各类数据库链接等,python里实现起来还是比较顺利轻松,Excell、CVS、文本、mysql等的链接导入导出测试一般一次就能成功。对Oracle数据库的链接,因本地电脑需要安装Oracle客户端原因,相对较为麻烦,相关过程可以参见本博客的文章“python环境链接Oracle数据库”:http://blog.itpub.net/18841027/viewspace-2655148/。

      分析过的数据也需要各种图标来展现,因此 python 也少不了数据可视化工具,因此出现了 Matplotlib ,其中应用广泛的称为 mat plotlib.pyplot 模块儿。

 

四、python数据挖掘

       除了简单分析,我们还需要挖掘 和采用机器学习的算法 ,因此有了机器学习公共库 scikit-learn( 简称 sklearn ) sklearn 整合了多种机器学习算法库,在数据分析过程中能够快速建立模型。所谓机器学习本质就是首先将数据分成训练集和测试集,根据训练集及其目标特征,通过建立特定模型,然后通过测试数据进行测试评估。评估结果达到预计标准后将模型部署到生产环境,将输入生产数据(特征未知的数据集)进行预测判断的过程。如下图 1 所示:

 图1 机器学习过程图

数据挖掘是内容不少的一门专业课程,但在 skl earn 中的的实现概括起来如下图 2 所示。从图中可以看出,机器学习的本质也是一个分类的过程。数据分为字符类数据(非连续)和数值类数据(连续),字符类数据的分类我们还是叫分类( classification )而数值类数据的分类叫做回归( regression )。另一中分类方法叫做聚类( clustering ),还有为了降低计算和空间复杂的所采取的降维( dimensionality reduction )。

sk l earn 算法蓝图

五,应用和实战

       除非我们做科研类工作,我们工作基本聚焦在项目应用和工程实战。因此,有了以上基础后,我们得结合具体需求做一些代码编写或已有代码的测试工作。当明白这些书上的现成代码,且测试成功后,下一步就是对这些代码做一些修改能力培养阶段,同时回顾之前内容复习一遍,所谓的温故而知新阶段。温故阶段要熟练那些语法,当我们再次阅读时候领悟到知识点肯定跟次学习阶段有所不同的,也是必要阶段。

       这些阶段结束后,我们开始结合工作需求做一些尝试。也许一开始不好开始或下手。但我们要记住,只有问题解决为导向的学习研究才是真正高效的学习方式。因此,在这个挑战阶段虽然开头难,但给我带来成就感和学有所用的关键阶段。我本人也准备开始踏入该阶段,因此现在总结未免过早,当有了收获,也会逐步分享。

      作为刚入门技术爱好者,在此也分享一下我学习或参考用的书籍:

1 Python 数据分析基础       余本国   编著     清华大学出版社

2、Python数据分析与应用  黄红梅、张良均  主编    中国工信出版集团和人民邮电出版社

3、数据挖掘:概念与技术  Jiawei Han and Micheline Kamber著  机械工业出版社

4、推荐系统实践   项亮  编著  人民优点出版社

5、Hands-On-Recommendation-Systems-with-Python    Rounak_Banik

6、大学计算机 计算机思维  战德臣教授   哈尔滨工业大学计算机学院

7、大学计算机--Python算法实践

 

六,总结

      Python语言易用和具备大量公用库,可以拿来主义的方式来使用,但作为一个编程语言,要掌握这门语言来将现实世界需求改编为计算机世界的模型和程序代码,我们离开不了计算(机)思维。那什么是计算思维?计算思维的本质就是抽象(Abstraction)与自动化(Automation),即在不同层面进行抽象,以及将这些抽象“机器化”。 国内国内学者和专家的观点为:计算思维是人类应具备的第三种思维:

1、实验思维: 实验è观察è发现、推断与总结. ---观察与归纳

2、理论思维: 假设/预设è定义/性质/定理è证明. ---推理和演绎

3、计算思维: 设计, 构造与计算. ---设计与构造

       计算思维关注的是人类思维中有关可行性、可构造性和可评价性的部分。当前环境下,理论与实验手段在面临大规模数据的情况下,不可避免地要用计算手段来辅助进行。

     就像计算机世界基础由0和1、程序、递归构成一样,在Python学习也离不开这些,尤其是递归和循环,针对不是计算机专业出身,这些基础概念的学习补充对后续代码理解有很大的帮助。


分享好友

分享这个小栈给你的朋友们,一起进步吧。

数据分析与数据挖掘
创建时间:2020-06-17 15:23:29
数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求大化地开发数据的功能,发挥数据的作用。 数据挖掘是指从大量的数据中通过算法搜索隐藏于其中信息的过程。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~