您的位置:首页 > 编程语言 > Python开发

Python 是一门适合做数据挖掘的语言吗

2016-02-29 14:36 441 查看
最近看见两本书,《集体智慧编程》,《 社交网站的数据挖掘与分析》,两本书都是以Python语言来讲解的,都是讲的数据挖掘方面的东西,其中后者还是 2011年Jolt生产效率大奖获奖图书,难道Python很适合 做数据挖掘吗?

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:blurrcat

链接:https://www.zhihu.com/question/20085299/answer/13926282

来源:知乎

python强调程序员的生产力,让你把精力集中在逻辑上而不是语言本身上。

你能想象用一下午时间实现从0开始一个简单的搜索引擎吗?C++显然是不行的。。你的大部分时间都将花在实现基本数据结构和调试语言错误上。。而用python,你要做的就是真正理解搜索算法,之后的实现真的很简单。。

我觉得用python很适合算法研究,不仅仅是数据挖掘。快速开发能让你迅速验证你的想法,而不是把时间浪费在程序本身上(想象一下你写了一星期的c++,调了一大堆指针错误,最后发现想法本身就有错误。。)当你知道你已经有了一个正确的算法,要使他运行速度提高只需用c++等重写性能瓶颈并嵌入就行了。。

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:肖智博

链接:https://www.zhihu.com/question/20085299/answer/13924782

来源:知乎

是的,Python适合做数据挖掘。作为脚本语言,Python快速开发的优点其他答案都说了。

Python适合做数据挖掘的另一个原因是社区现在比较成熟,mloss上面发布的Python程序越来越多。最著名的就是scikit.learn了吧,几乎涵盖了机器学习中常用的算法,而且scikit.learn更新非常快。

scikit.learn只是举了一个例子,还有orange,pyml等很多非常棒的package,有了这些包的支持,做数据挖掘和机器学习的时候,就会很节省时间了。

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:谭磊

链接:https://www.zhihu.com/question/20085299/answer/21234700

来源:知乎

根据我这几个月的实际使用情况来看,R的软件包确实很丰富,但是这个也有很大的坏处,包的水平参差不齐,会面临各种版本不兼容的情况;举个例子,也许你的统计包只能用3.0以下的R,而你需要的第三方绘图包确实需要最新版的R,很伤脑筋;加之众多软件包在很早就停止维护了,从这个角度来看,包的数量多并不是一个很强的优势。

python的各类统计和计量的包已经到了可以用的程度了,由于开发团队活跃,导致包文档的及时性和开发思路一致,一通百通,使用起来很顺手;但是python的问题在于包不成熟,就比如我在使用python的pandas包是就发现其参数有尚未实现的情况,详情见专有型数据处理。

综合来看,python是适合做数据的,一是,对于非计算机科班出身不会有技术问题,python本身是非常便于使用的;二是,数据挖掘需要的工具在目前来看python基本都已经具备,并且在稳步的发展;三是,python在面临性能问题时解决方案众多。

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:小活泼

链接:https://www.zhihu.com/question/20085299/answer/41033492

来源:知乎

Python相对于R是有很多优点的,R基本不存在数据结构的概念,导致你没有办法优化算法

R相对Python的优点可能在于更多的包(比如数据可视化和神经网络,这两个用Python不太好做)

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:章程

链接:https://www.zhihu.com/question/20085299/answer/57983631

来源:知乎

如果你想用别人做好的成熟的轮子,那 python 是不二之选。因为 python 轮子多而且全,比如 numpy,scipy,scikit learn,gensim 等等都是成熟的轮子。至于什么叫成熟,主要是一下两点:

1. 快,numpy 中大量用 c 写的 data structure,和 function,用起来及其快,而且方便。而且和其他轮子协作及其好

2. 安全,因为 python 是广泛应用,而且开源,标准的语言,所以轮子是基本不会出 bug 的,放心用。

这样节省了及其多的开发时间,在程序的运行效率上也不会有极大的降低。

当然,如果你需要对其他人的轮子有很大的更改,甚至于从数据结构上 numpy 都没法满足你,或者你需要追求速度,比如像微软,要带那么强大的东西,还要保证速度。那你也就必须要用 c 了。。。python实在太慢。。。

转载地址:https://www.zhihu.com/question/20085299
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: