Python语言在数据挖掘上有很大优势,但它的缺点你知道吗?

Python语言的优势

基于以下三个原因,选择Python作为实现数据挖掘算法的编程语言:

(1) Python的语法清晰;

(2) 易于操作纯文本文件;

(3) 使用广泛,存在大量的开发文档。

Python具有清晰的语法结构,也被称作可执行伪代码(executable pseudo-code)。

默认安装的Python开发环境已经附带了很多高级数据类型,如列表、元组、字典、集合、队列等,无需进一步编程就可以使用这些数据类型的操作。

使用这些数据类型使得实现抽象的数学概念非常简单。此外,还可以使用自己熟悉的编程风格,如面向对象编程、面向过程编程、或者函数式编程。

Python语言处理和操作文本文件非常简单,非常易于处理非数值型数据。

Python语言提供了丰富的正则表达式函数以及很多访问Web页面的函数库,使得从HTML中提取数据变得非常简单直观。

Python语言挖掘的特色

诸如MATLAB和Mathematica等高级程序语言也允许用户执行矩阵操作,MATLAB甚至还有许多内嵌的特征可以轻松地构造数据挖掘应用,而且MATLAB的运算速度也很快。

然而MATLAB的不足之处是软件费用太高,单个软件授权就要花费数千美元。

虽然也有适合MATLAB的第三方插件,但是没有一个有影响力的大型开源项目。

Java和C等强类型程序设计语言也有矩阵数学库,然而对于这些程序设计语言来说,最大的问题是即使完成简单的操作也要编写大量的代码。

程序员首先需要定义变量的类型,对于Java来说,每次封装属性时还需要实现getter和setter方法。另外还要记着实现子类,为了完成一个简单的工作,必须花费大量时间编写了很多无用冗长的代码。

Python语言则与Java和C完全不同,它清晰简练,而且易于理解,即使不是编程人员也能够理解程序的含义,而Java和C对于非编程人员则像天书一样难于理解。

Python语言是高级编程语言,可以花费更多的时间处理数据的内在含义,而无须花费太多精力解决计算机如何得到数据结果。Python语言使得很容易表达自己的目的。

Python语言的缺点

Python语言唯一的不足是性能问题。Python程序运行的效率不如Java或者C代码高,但是可以使用Python调用C编译的代码。这样,就可以同时利用C和Python的优点,逐步地开发数据挖掘应用程序。

可以首先使用Python编写实验程序,如果进一步想要在产品中实现数据挖掘,转换成C代码也不困难。

作者:扣丁学堂 来源:http://www.jianshu.com/p/041c3901d31b


原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2017-07-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏玄魂工作室

Python黑帽编程 2.0 第二章概述

于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一...

3687
来自专栏web前端教室

初学js钻太深,不太好

其实我个人觉得新手不太应该追求彻底的学透每一个知识点。因为初学的时候,钻的太深并不太利于对JS有一个整体的理解。反而有可能钻牛角尖。但这种方法和心态却是必须有的...

2146
来自专栏编程

Java语言零基础菜鸟入门Java程序学习的要点

一、掌握静态方法和属性 静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在...

2140
来自专栏码农分享

工厂模式(Factory)

简单工厂和工厂方法这俩个设计模式不做详细介绍,请各位看官自行百度,有大量的解释。再次我简单引用一下其他博客主对这三种模式的理解。

811
来自专栏中国白客联盟

35行代码实现千万级别字典的快速去重

字典对于一个安全从业者的意义非常重要,尤其是渗透测试工程师,一份好的字典往往能带来意外的收获。 在当前各种裤子满天飞的环境下,快速整理有用信息并加入自己的字典已...

6424
来自专栏Pythonista

day24,python习题

有两个列表,分别存放来老男孩报名学习linux和python课程的学生名字 linux=['钢弹','小壁虎','小虎比','alex','wupeiqi'...

1672
来自专栏web前端教室

怎么能学透一个知识点

其实我个人觉得新手不太应该追求彻底的学透每一个知识点。因为初学的时候,钻的太深并不太利于对JS有一个整体的理解。反而有可能钻牛角尖。但这种方法和心态却是必须有的...

19910
来自专栏Pythonista

面向对象的软件开发

很多人在学完了python的class机制之后,遇到一个生产中的问题,还是会懵逼,这其实太正常了,因为任何程序的开发都是先设计后编程,python的class机...

1252
来自专栏Java技术栈

面象对象设计6大原则之六:迪米特原则

迪米特原则(LOD),The Law Of Demeter,也称为最少知识原则 定义 一个对象应该对其他对象有最少的了解。 也就是说一个类耦合和调用一个类应该知...

3286
来自专栏java思维导图

java基础思维导图,让java不再难懂

思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具。了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的...

6496

扫码关注云+社区

领取腾讯云代金券