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

来源:互联网 发布:应用商店要windows更新 编辑:程序博客网 时间:2024/05/19 10:40

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

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


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

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


如果你想用别人做好的成熟的轮子,那 python 是不二之选。因为 python 轮子多而且全,比如 numpy,scipy,scikit learn,gensim 等等都是成熟的轮子。至于什么叫成熟,主要是一下两点:
1. 快,numpy 中大量用 c 写的 data structure,和 function,用起来及其快,而且方便。而且和其他轮子协作及其好
2. 安全,因为 python 是广泛应用,而且开源,标准的语言,所以轮子是基本不会出 bug 的,放心用。
这样节省了及其多的开发时间,在程序的运行效率上也不会有极大的降低。

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




原创粉丝点击