Python 适合数据挖掘/大数据量处理吗?


Python 是一门适合做数据挖掘的语言吗? - 数据分析 - 知乎
https://www.zhihu.com/question/20085299

如果你想用别人做好的成熟的轮子,那 python 是不二之选。因为 python 轮子多而且全,比如 numpy,scipy,scikit learn,gensim 等等都是成熟的轮子。

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

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

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

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

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

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


Python 适合大数据量的处理吗? - 海量数据处理 - 知乎
https://www.zhihu.com/question/19607447

作者:匿名用户链接:https://www.zhihu.com/question/19607447/answer/30601784来源:知乎著作权归作者所有,转载请联系作者获得授权。我很喜欢用python,用python处理数据是家常便饭,从事的工作涉及nlp,算法,推荐,数据挖掘,数据清洗,数据量级从几十k到几T不等,我来说说吧百万级别数据是小数据,python处理起来不成问题,python处理数据还是有些问题的Python处理大数据的劣势:1. python线程有gil,通俗说就是多线程的时候只能在一个核上跑,浪费了多核服务器。在一种常见的场景下是要命的:并发单元之间有巨大的数据共享或者共用(例如大dict),多进程会导致内存吃紧,多线程则解决不了数据共享的问题,单独的写一个进程之间负责维护读写这个数据不仅效率不高而且麻烦2. python执行效率不高,在处理大数据的时候,效率不高,这是真的,pypy(一个jit的python解释器,可以理解成脚本语言加速执行的东西)能够提高很大的速度,但是pypy不支持很多python经典的包,例如numpy(顺便给pypy做做广告,土豪可以捐赠一下PyPy - Call for donations**)3. 绝大部分的大公司,用java处理大数据不管是环境也好,积累也好,都会好很多Python处理数据的优势(不是处理大数据):1. 异常快捷的开发速度,代码量巨少2. 丰富的数据处理包,不管正则也好,html解析啦,xml解析啦,用起来非常方便3. 内部类型使用成本巨低,不需要额外怎么操作(java,c++用个map都很费劲)4. 公司中,很大量的数据处理工作工作是不需要面对非常大的数据的5. 巨大的数据不是语言所能解决的,需要处理数据的框架(hadoop, mpi。。。。)虽然小众,但是python还是有处理大数据的框架的,或者一些框架也支持python6. 编码问题处理起来太太太方便了综上所述:1. python可以处理大数据2. python处理大数据不一定是最优的选择3. python和其他语言(公司主推的方式)并行使用是非常不错的选择4. 因为开发速度,你如果经常处理数据,而且喜欢linux终端,而且经常处理不大的数据(100m一下),最好还是学一下pythonpython数据处理的包:1. 自带正则包, 文本处理足够了2. cElementTree, lxml 默认的xml速度在数据量过大的情况下不足3. beautifulsoup 处理html4. hadoop(可以用python) 并行处理,支持python写的map reduce,足够了, 顺便说一下阿里巴巴的odps,和hadoop一样的东西,支持python写的udf,嵌入到sql语句中5. numpy, scipy, scikit-learn 数值计算,数据挖掘6. dpark(搬楼上的答案)类似hadoop一样的东西1,2,3,5是处理文本数据的利器(python不就处理文本数据方便嘛),4,6是并行计算的框架(大数据处理的效率在于良好的分布计算逻辑,而不是什么语言)暂时就这些,最好说一个方向,否则不知道处理什么样的数据也不好推荐包,所以没有头绪从哪里开始介绍这些包

你可能感兴趣的:(Python 适合数据挖掘/大数据量处理吗?)