最新消息:

python在网页爬虫、数据挖掘、机器学习和自然语言处理领域的应用情况

Python admin 2792浏览 0评论

Python的快速迭代能力让它收到青睐。按照楼主的问题一个个回答,结合我有限的经验:

1)爬虫Scrapy,简单易用。用rq-queue结合的话很容易构造一个分布式的爬虫。我曾经这样爬下了整个豆瓣的好友关系图。
2) 数据挖掘里常用的算法python里都有实现。肖智博提到的scikit learn可谓翘楚。不仅文档清晰,且几乎需要常用的算法均有实现。我们用scikit learn做了一个evemt detection的系统。整个系统用python写成,机器学习部分用python
3)nlp部分不是特别了解。nltk很普遍的被很多大学课程用到。

企业里:
据我所知公司里的使用情况

google:爬虫C++,数据挖掘C++,nlp C++。python用来处理数据。
twitter:所有服务均用java和scala,python用来写快速迭代的工具。比如说做搜索引擎的算法的同事写了一个python客户端用于内部测试搜索质量,我自己用py写好了一个搜索词推荐系统,包括接口,算法和界面,通过测试后改写成java。

一点感想:
py 强项在于,其他语言几百句做的事情py可以几十行,帮助开发者专注问题。而且综上各种工具包齐备,没有人会花时间写个svm(还要保证不写错)。但是py 有个巨大的缺点,仍然是,慢。有人会说,算法优化才重要,常数优化没必要。但是现实状况是,大家都是在做常数优化,因为假设算法优化得下来,设计阶段就优 化好了,这也是为什么在twitter把py译成java的原因。

但是总的来说,即使用py开发完毕再译,也比直接用java来写来测快速得多。

 

Python在这方面的package非常齐全:

网页爬虫: scrapy(不太清楚)
数据挖掘: numpy, scipy, matplotlib, pandas(头三个是业界标准,第四个模拟R)
机器学习: scikit-learn, libsvm(极好)
自然语言处理: nltk(极好)

 

转自:http://www.zhihu.com/question/20216472/answer/21361681

转载请注明:jinglingshu的博客 » python在网页爬虫、数据挖掘、机器学习和自然语言处理领域的应用情况

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址