【转帖】Python在大数据分析及机器学习中的兵器谱

Flask:Python系的轻量级Web框架。

1. 网页爬虫工具集

Scrapy 
推荐大牛pluskid早年的一篇文章:《Scrapy 轻松定制网络爬虫》

Beautiful Soup 客观的说,Beautifu Soup不完全是一套爬虫工具,需要配合urllib使用,而是一套HTML/XML数据分析,清洗和获取工具。
Python-Goose  Goose最早是用Java写得,后来用Scala重写,是一个Scala项目。Python-Goose用Python重写,依赖了Beautiful Soup。前段时间用过,感觉很不错,给定一个文章的URL, 获取文章的标题和内容很方便

2. 文本处理

NLTK — Natural Language Toolkit
推荐2本书籍:

1. 官方的《Natural Language Processing with Python》,以介绍NLTK里的功能用法为主,同时附带一些Python知识,同时国内陈涛同学友情翻译了一个中文版,这里可以看到:推荐《用Python进行自然语言处理》中文翻译-NLTK配套书;

2. 《Python Text Processing with NLTK 2.0 Cookbook》,这本书要深入一些,会涉及到NLTK的代码结构,同时会介绍如何定制自己的语料和模型等,相当不错

Pattern   Pattern由比利时安特卫普大学CLiPS实验室出品,客观的说,Pattern不仅仅是一套文本处理工具,它更是一套web数据挖掘工具,囊括了数据抓取模块(包括Google, Twitter, 维基百科的API,以及爬虫和HTML分析器),文本处理模块(词性标注,情感分析等),机器学习模块(VSM, 聚类,SVM)以及可视化模块等,可以说,Pattern的这一整套逻辑也是这篇文章的组织逻辑,不过这里我们暂且把Pattern放到文本处理部分。我个人主要使用的是它的英文处理模块Pattern.en, 有很多很不错的文本处理功能,包括基础的tokenize, 词性标注,句子切分,语法检查,拼写纠错,情感分析,句法分析等,相当不错。
TextBlob TextBlob是一个很有意思的Python文本处理工具包,它其实是基于上面两个Python工具包NLKT和Pattern做了封装(TextBlob stands on the giant shoulders of NLTK and pattern, and plays nicely with both),同时提供了很多文本处理功能的接口,包括词性标注,名词短语提取,情感分析,文本分类,拼写检查等,甚至包括翻译和语言检测,不过这个是基于Google的API的,有调用次数限制。TextBlob相对比较年轻,有兴趣的同学可以关注。
MBSP for Python MBSP与Pattern同源,同出自比利时安特卫普大学CLiPS实验室,提供了Word Tokenization, 句子切分,词性标注,Chunking, Lemmatization,句法分析等基本的文本处理功能,感兴趣的同学可以关注。
Gensim Gensim是一个相当专业的主题模型Python工具包,无论是代码还是文档,我们曾经用《如何计算两个文档的相似度》介绍过Gensim的安装和使用过程,这里就不多说了。
langid.py 语言检测是一个很有意思的话题,不过相对比较成熟,这方面的解决方案很多,也有很多不错的开源工具包,不过对于Python来说,我使用过langid这个工具包,也非常愿意推荐它。langid目前支持97种语言的检测,提供了很多易用的功能,包括可以启动一个建议的server,通过json调用其API,可定制训练自己的语言检测模型等,可以说是“麻雀虽小,五脏俱全”。
Jieba: 结巴中文分词 终于可以说一个国内的Python文本处理工具包了:结巴分词,其功能包括支持三种分词模式(精确模式、全模式、搜索引擎模式),支持繁体分词,支持自定义词典等,是目前一个非常不错的Python中文分词解决方案。
xTAS 我们组同事之前发布了xTAS,也是基于python的text mining工具包,欢迎使用,链接:http://t.cn/RPbEZOW。看起来很不错的样子,回头试用一下。

3. Python科学计算工具包

Numpy, Scipy, Matplotlib, iPython

4. Python机器学习与数据挖掘工具包

scikit-learn
大名鼎鼎的scikit-learn,scikit-learn是一个基于NumPy, SciPy, Matplotlib的开源机器学习工具包,主要涵盖分类,回归和聚类算法,例如SVM, 逻辑回归,朴素贝叶斯,随机森林,k-means等算法,代码和文档都非常不错,在许多Python项目中都有应用。例如在我们熟悉的NLTK中,分类器方面就有专门针对scikit-learn的接口,可以调用scikit-learn的分类算法以及训练数据来训练分类器模型。这里推荐一个视频,也是我早期遇到scikit-learn的时候推荐过的:推荐一个Python机器学习工具包Scikit-learn以及相关视频–Tutorial: scikit-learn – Machine Learning in Python

官方主页:http://scikit-learn.org/

Pandas
Pandas也是基于NumPy和Matplotlib开发的,主要用于数据分析和数据可视化,它的数据结构DataFrame和R语言里的data.frame很像,特别是对于时间序列数据有自己的一套分析机制,非常不错。这里推荐一本书《Python for Data Analysis》,作者是Pandas的主力开发,依次介绍了iPython, NumPy, Pandas里的相关功能,数据可视化,数据清洗和加工,时间数据处理等,案例包括金融股票数据挖掘等,相当不错。

官方主页:http://pandas.pydata.org/

MLPY   官方主页:http://mlpy.sourceforge.net/
MDP
MDP用于数据处理的模块化工具包,一个Python数据处理框架。 从用户的观点,MDP是能够被整合到数据处理序列和更复杂的前馈网络结构的一批监督学习和非监督学习算法和其他数据处理单元。计算依照速度和内存需求而高效的执行。从科学开发者的观点,MDP是一个模块框架,它能够被容易地扩展。新算法的实现是容易且直观的。新实现的单元然后被自动地与程序库的其余部件进行整合。MDP在神经科学的理论研究背景下被编写,但是它已经被设计为在使用可训练数据处理算法的任何情况中都是有用的。其站在用户一边的简单性,各种不同的随时可用的算法,及应用单元的可重用性,使得它也是一个有用的教学工具。”

官方主页:http://mdp-toolkit.sourceforge.net/

PyBrain
PyBrain(Python-Based Reinforcement Learning, Artificial Intelligence and Neural Network)是Python的一个机器学习模块,它的目标是为机器学习任务提供灵活、易应、强大的机器学习算法。(这名字很霸气)

PyBrain正如其名,包括神经网络、强化学习(及二者结合)、无监督学习、进化算法。因为目前的许多问题需要处理连续态和行为空间,必须使用函数逼近(如神经网络)以应对高维数据。PyBrain以神经网络为核心,所有的训练方法都以神经网络为一个实例。”

官方主页:http://www.pybrain.org/

PyML  “PyML是一个Python机器学习工具包,为各分类和回归方法提供灵活的架构。它主要提供特征选择、模型选择、组合分类器、分类评估等功能。”
Milk
Machine learning toolkit in Python.

“Milk是Python的一个机器学习工具箱,其重点是提供监督分类法与几种有效的分类分析:SVMs(基于libsvm),K-NN,随机森林经济和决策树。它还可以进行特征选择。这些分类可以在许多方面相结合,形成不同的分类系统。对于无监督学习,它提供K-means和affinity propagation聚类算法。”

官方主页:http://luispedro.org/software/milk

http://luispedro.org/software/milk

PyMVPA
MultiVariate Pattern Analysis (MVPA) in Python

“PyMVPA(Multivariate Pattern Analysis in Python)是为大数据集提供统计学习分析的Python工具包,它提供了一个灵活可扩展的框架。它提供的功能有分类、回归、特征选择、数据导入导出、可视化等”

官方主页:http://www.pymvpa.org/

 Pyrallel 
Parallel Data Analytics in Python

“Pyrallel(Parallel Data Analytics in Python)基于分布式计算模式的机器学习和半交互式的试验项目,可在小型集群上运行”

Github代码页:http://github.com/pydata/pyrallel

 Monte 
gradient based learning in Python

“Monte (machine learning in pure Python)是一个纯Python机器学习库。它可以迅速构建神经网络、条件随机场、逻辑回归等模型,使用inline-C优化,极易使用和扩展。”

官方主页:http://montepython.sourceforge.net

 Theano  “Theano 是一个 Python 库,用来定义、优化和模拟数学表达式计算,用于高效的解决多维数组的计算问题。Theano的特点:紧密集成Numpy;高效的数据密集型GPU计算;高效的符号微分运算;高速和稳定的优化;动态生成c代码;广泛的单元测试和自我验证。自2007年以来,Theano已被广泛应用于科学运算。theano使得构建深度学习模型更加容易,可以快速实现多种模型。PS:Theano,一位希腊美女,Croton最有权势的Milo的女儿,后来成为了毕达哥拉斯的老婆。
 Pylearn2

“Pylearn2建立在theano上,部分依赖scikit-learn上,目前Pylearn2正处于开发中,将可以处理向量、图像、视频等数据,提供MLP、RBM、SDA等深度学习模型。”

官方主页:http://deeplearning.net/software/pylearn2/

时间: 2024-11-05 13:32:00

【转帖】Python在大数据分析及机器学习中的兵器谱的相关文章

《Python金融大数据分析》中文版PDF+英文版PDF+源代码

下载:https://pan.baidu.com/s/1ymQo0qlb79G9kgQEbTo9Fg <Python金融大数据分析>中文版PDF+高清英文版PDF+源代码 中英文两版可以对比学习. 配套源代码: 经典书籍,讲解详细: 中文版如图 原文地址:http://blog.51cto.com/3215120/2307576

Python金融大数据分析

Python金融大数据分析(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1CF2NhbgpMroLhW2sTm7IJQ 提取码:clmt 复制这段内容后打开百度网盘手机App,操作更方便哦 内容简介  · · · · · · 唯一一本详细讲解使用Python分析处理金融大数据的专业图书:金融应用开发领域从业人员必读. Python凭借其简单.易读.可扩展性以及拥有巨大而活跃的科学计算社区,在需要分析.处理大量数据的金融行业得到了广泛而迅速的应用,并且成为该行业

大数据分析与机器学习系统学习路线指导(1)

3.开始专业课程的学习,请根据自己的学习能力和基础,逐渐选择学习课程,一年完成学习即可!三个专业方向课程详解如下: 数据分析师专业方向 学习路线建议 课程名称 难易程度 基础课 大数据的统计学基础 ★ 基础课 大数据的矩阵计算基础 ★ 工具课 深度玩转Excel ★ 工具课 R语言数据分析.展现与实例 ★ 工具课 SPSS数据分析入门与提高 ★★ 工具课 数据分析与SAS ★★ 应用课 基于软件学习数据挖掘算法与案例 ★ 应用课 BI实战之cognos 篇 ★★ 应用课 量化投资 ★★ 应用课

Python Spark大数据分析实战教程下载|pyspark教程

分享网盘下载地址--https://pan.baidu.com/s/1c1OjpSW 密码: a5ks Python是数据分析最常用的语言之一,而Apache Spark是一个开源的强大的分布式查询和处理引擎. 本课程以案例驱动的方式讲解如何基于Python语言进行Spark Application编程,完成数据获取.处理.数据分析及可视化方面常用的数据分析方法与技巧,通过这些实际案例让学员轻松掌握使用PySpark分析来自不同领域的数据.

利用Python进行大数据分析(完整中文版689页)

<Python for data  analysis>一书的中文版,完整版 http://pan.baidu.com/s/1c0tqJW8 python for data analysis的中文版,全书 欢迎下载

基于python的大数据分析基本知识

1. 数据科学领域中常用的python库 Numpy库:数据运算的基础库,运行效率高(底层C语言,高效index) Scipy库:实现了常用的科学计算方法(线性代数,傅里叶变换,信号和图像处理) Pandas库:分析数据的利器,高级数据结构(Series,DataFrame) Matplotlib库:绘图功能(散点,曲线,柱形) 2. Anaconda的使用说明 介绍:著名的python数据科学平台,开源,跨平台.包含有流行的python和R的包. 下载地址:https://www.anacon

《Python金融大数据分析》PDF版

链接:https://pan.baidu.com/s/1pWCG_GcN9S0VEnOc-2txTg 原文地址:http://blog.51cto.com/13929572/2174559

Python大数据与机器学习之NumPy初体验

本文是Python大数据与机器学习系列文章中的第6篇,将介绍学习Python大数据与机器学习所必须的NumPy库. 通过本文系列文章您将能够学到的知识如下: 应用Python进行大数据与机器学习 应用Spark进行大数据分析 实现机器学习算法 学习使用NumPy库处理数值数据 学习使用Pandas库进行数据分析 学习使用Matplotlib库进行Python绘图 学习使用Seaborn库进行统计绘图 使用Plotly库进行动态可视化 使用SciKit-learn处理机器学习任务 K-Means聚

小草说----大数据和机器学习为什么这样火

小草说--大数据和机器学习为什么这样火 标签(空格分隔): SPARK机器学习 欢迎关注小小草的微信号:大数据机器学习.日后不定期分享大数据,机器学习的学习资料与博文,希望与大家共同学习进步~ 很多年前,当我还在应付着微分方程,条件概率,用问卷星写抽样调查报告在QQ群发求填,对着30多条就被称为大样本的数据做检验和回归的时候,"大数据"的概念已经如火如荼地在微博圈和朋友圈里圈圈相传了. 但是到底大数据是什么,和我们生活有什么关系,企业是怎么"大数据"的,它到底在星星