1. 程式人生 > >python資料探勘領域工具包

python資料探勘領域工具包

http://qxde01.blog.163.com/blog/static/67335744201368101922991/

 Python在科學計算領域,有兩個重要的擴充套件模組:Numpy和Scipy。其中Numpy是一個用python實現的科學計算包。包括:

  • 一個強大的N維陣列物件Array;
  • 比較成熟的(廣播)函式庫;
  • 用於整合C/C++和Fortran程式碼的工具包;
  • 實用的線性代數、傅立葉變換和隨機數生成函式。

     SciPy是一個開源的Python演算法庫和數學工具包,SciPy包含的模組有最優化、線性代數、積分、插值、特殊函式、快速傅立葉變換、訊號處理和影象處理、常微分方程求解和其他科學與工程中常用的計算。其功能與軟體MATLAB、Scilab和GNU Octave類似。

    Numpy和Scipy常常結合著使用,Python大多數機器學習庫都依賴於這兩個模組,繪圖和視覺化依賴於matplotlib模組,matplotlib的風格與matlab類似。Python機器學習庫非常多,而且大多數開源,主要有:

scikit-learn 是一個基於SciPy和Numpy的開源機器學習模組,包括分類、迴歸、聚類系列演算法,主要演算法有SVM、邏輯迴歸、樸素貝葉斯、Kmeans、DBSCAN等,目前由INRI 資助,偶爾Google也資助一點。

專案主頁:

NLTK(Natural Language Toolkit)是Python的自然語言處理模組,包括一系列的字元處理和語言統計模型。NLTK 常用於學術研究和教學,應用的領域有語言學、認知科學、人工智慧、資訊檢索、機器學習等。 NLTK提供超過50個語料庫和詞典資源,文字處理庫包括分類、分詞、詞幹提取、解析、語義推理。可穩定執行在Windows, Mac OS X和Linux平臺上. 

專案主頁:

Mlpy是基於NumPy/SciPy的Python機器學習模組,它是Cython的擴充套件應用。包含的機器學習演算法有:

l  迴歸

l  分類

linear discriminant analysis (LDA), Basic perceptron, Elastic Net, logistic regression, (Kernel) Support Vector Machines (SVM), Diagonal Linear Discriminant Analysis (DLDA), Golub Classifier, Parzen-based, (kernel) Fisher Discriminant Classifier, k-nearest neighbor, Iterative RELIEF, Classification Tree, Maximum Likelihood Classifier

l  聚類

hierarchical clustering, Memory-saving Hierarchical Clustering, k-means

l  維度約減

專案主頁:

Shogun是一個開源的大規模機器學習工具箱。目前Shogun的機器學習功能分為幾個部分:feature表示,feature預處理,核函式表示,核函式標準化,距離表示,分類器表示,聚類方法,分佈,效能評價方法,迴歸方法,結構化輸出學習器。

SHOGUN 的核心由C++實現,提供 Matlab、 R、 Octave、 Python介面。主要應用在linux平臺上。

專案主頁:

5.       MDP

The Modular toolkit for Data Processing (MDP) ,用於資料處理的模組化工具包,一個Python資料處理框架。

從使用者的觀點,MDP是能夠被整合到資料處理序列和更復雜的前饋網路結構的一批監督學習和非監督學習演算法和其他資料處理單元。計算依照速度和記憶體需求而高效的執行。從科學開發者的觀點,MDP是一個模組框架,它能夠被容易地擴充套件。新演算法的實現是容易且直觀的。新實現的單元然後被自動地與程式庫的其餘部件進行整合。MDP在神經科學的理論研究背景下被編寫,但是它已經被設計為在使用可訓練資料處理演算法的任何情況中都是有用的。其站在使用者一邊的簡單性,各種不同的隨時可用的演算法,及應用單元的可重用性,使得它也是一個有用的教學工具。

專案主頁:

PyBrain(Python-Based Reinforcement Learning, Artificial Intelligence and Neural Network)是Python的一個機器學習模組,它的目標是為機器學習任務提供靈活、易應、強大的機器學習演算法。(這名字很霸氣)

PyBrain正如其名,包括神經網路、強化學習(及二者結合)、無監督學習、進化演算法。因為目前的許多問題需要處理連續態和行為空間,必須使用函式逼近(如神經網路)以應對高維資料。PyBrain以神經網路為核心,所有的訓練方法都以神經網路為一個例項。

專案主頁:

BigML 使得機器學習為資料驅動決策和預測變得容易,BigML使用容易理解的互動式操作建立優雅的預測模型。BigML使用BigML.io,捆綁Python。

專案主頁:

PyML是一個Python機器學習工具包, 為各分類和迴歸方法提供靈活的架構。它主要提供特徵選擇、模型選擇、組合分類器、分類評估等功能。

專案主頁:

Milk是Python的一個機器學習工具箱,其重點是提供監督分類法與幾種有效的分類分析:SVMs(基於libsvm),K-NN,隨機森林經濟和決策樹。它還可以進行特徵選擇。這些分類可以在許多方面相結合,形成不同的分類系統。

對於無監督學習,它提供K-means和affinity propagation聚類演算法。

專案主頁:

PyMVPA(Multivariate Pattern Analysis in Python)是為大資料集提供統計學習分析的Python工具包,它提供了一個靈活可擴充套件的框架。它提供的功能有分類、迴歸、特徵選擇、資料匯入匯出、視覺化等

專案主頁:

Pattern是Python的web挖掘模組,它綁定了  Google、Twitter 、Wikipedia API,提供網路爬蟲、HTML解析功能,文字分析包括淺層規則解析、WordNet介面、句法與語義分析、TF-IDF、LSA等,還提供聚類、分類和圖網路視覺化的功能。

專案主頁:

Pyrallel(Parallel Data Analytics in Python)基於分散式計算模式的機器學習和半互動式的試驗專案,可在小型叢集上執行,適用範圍:

l  focus on small to medium dataset that fits in memory on a small (10+ nodes) to medium cluster (100+ nodes).

l  focus on small to medium data (with data locality when possible).

l  focus on CPU bound tasks (e.g. training Random Forests) while trying to limit disk / network access to a minimum.

l  do not focus on HA / Fault Tolerance (yet).

l  do not try to invent new set of high level programming abstractions (yet): use a low level programming model (IPython.parallel) to finely control the cluster elements and messages transfered and help identify what are the practical underlying constraints in distributed machine learning setting.

專案主頁:

https://pypi.python.org/pypi/pyrallel

Monte ( machine learning in pure Python)是一個純Python機器學習庫。它可以迅速構建神經網路、條件隨機場、邏輯迴歸等模型,使用inline-C優化,極易使用和擴充套件。

專案主頁:

Orange 是一個基於元件的資料探勘和機器學習軟體套裝,它的功能即友好,又很強大,快速而又多功能的視覺化程式設計前端,以便瀏覽資料分析和視覺化,基綁定了 Python以進行指令碼開發。它包含了完整的一系列的元件以進行資料預處理,並提供了資料帳目,過渡,建模,模式評估和勘探的功能。其由C++ 和 Python開發,它的圖形庫是由跨平臺的Qt框架開發。

專案主頁:

Theano 是一個 Python 庫,用來定義、優化和模擬數學表示式計算,用於高效的解決多維陣列的計算問題。Theano的特點:

l  緊密整合Numpy

l  高效的資料密集型GPU計算

l  高效的符號微分運算

l  高速和穩定的優化

l  動態生成c程式碼

l  廣泛的單元測試和自我驗證

自2007年以來,Theano已被廣泛應用於科學運算。theano使得構建深度學習模型更加容易,可以快速實現下列模型:

l  Logistic Regression

l  Multilayer perceptron

l  Deep Convolutional Network

l  Auto Encoders, Denoising Autoencoders

l  Stacked Denoising Auto-Encoders

l  Restricted Boltzmann Machines

l  Deep Belief Networks

l  HMC Sampling

l  Contractive auto-encoders

   Theano,一位希臘美女,Croton最有權勢的Milo的女兒,後來成為了畢達哥拉斯的老婆。

專案主頁:

16.      Pylearn2

Pylearn2建立在theano上,部分依賴scikit-learn上,目前Pylearn2正處於開發中,將可以處理向量、影象、視訊等資料,提供MLP、RBM、SDA等深度學習模型。Pylearn2的目標是:

  • Researchers add features as they need them. We avoid getting bogged down by too much top-down planning in advance.
  • A machine learning toolbox for easy scientific experimentation.
  • All models/algorithms published by the LISA lab should have reference implementations in Pylearn2.
  • Pylearn2 may wrap other libraries such as scikits.learn when this is practical
  • Pylearn2 differs from scikits.learn in that Pylearn2 aims to provide great flexibility and make it possible for a researcher to do almost anything, while scikits.learn aims to work as a “black box” that can produce good results even if the user does not understand the implementation
  • Dataset interface for vector, images, video, ...
  • Small framework for all what is needed for one normal MLP/RBM/SDA/Convolution experiments.
  • Easy reuse of sub-component of Pylearn2.
  • Using one sub-component of the library does not force you to use / learn to use all of the other sub-components if you choose not to.
  • Support cross-platform serialization of learned models.
  • Remain approachable enough to be used in the classroom (IFT6266 at the University of Montreal).

專案主頁:

   還有其他的一些Python的機器學習庫,如:

ease (https://github.com/edx/ease)

相關推薦

python資料領域工具

http://qxde01.blog.163.com/blog/static/67335744201368101922991/  Python在科學計算領域,有兩個重要的擴充套件模組:Numpy和Scipy。其中Numpy是一個用python實現的科學計算包。包括:

Python資料課程 六.Numpy、Pandas和Matplotlib基礎知識

        前面幾篇文章採用的案例的方法進行介紹的,這篇文章主要介紹Python常用的擴充套件包,同時結合資料探勘相關知識介紹該包具體的用法,主要介紹Numpy、Pandas和Matplotlib三個包。目錄:         一.Python常用擴充套件包  

Python資料課程】六.Numpy、Pandas和Matplotlib基礎知識

        前面幾篇文章採用的案例的方法進行介紹的,這篇文章主要介紹Python常用的擴充套件包,同時結合資料探勘相關知識介紹該包具體的用法,主要介紹Numpy、Pandas和Matplotlib三

Python資料工具總結

      Python語言之所以很流行,廣泛用於機器學習,資料探勘等領域,因為它有強大的第三方庫,下面我們就來做一個簡單總結。     Numpy:       提供陣列支援,向量運算,以及高效的處理函式,線性代數處理等。                         參

資料領域中的分類和迴歸區別是什麼?

先簡單的說下吧,下面給出實際例子 類和迴歸的區別在於輸出變數的型別。定量輸出稱為迴歸,或者說是連續變數預測;定性輸出稱為分類,或者說是離散變數預測。舉個例子:預測明天的氣溫是多少度,這是一個迴歸任務;預測明天是陰、晴還是雨,就是一個分類任務。  拿支援向量機舉個例子,分類問題

分享《Python資料入門與實踐》高清中文版+高清英文版+原始碼

下載:https://pan.baidu.com/s/1J7DOGrjoF7HnaSZ8LvFh_A更多資料分享:http://blog.51cto.com/3215120 《Python資料探勘入門與實踐》高清中文版+高清英文版+原始碼 高清中文版PDF,251頁,帶目錄和書籤,能夠複製貼上;高清英文版

資料——基於sklearn的分類演算法小結

           目錄 一、分類演算法簡介 二、KNN演算法 三、貝葉斯分類演算法 四、決策樹演算法 五、隨機森林演算法 六、SVM演算法      一、分類演算法簡介 1、概念   1.1 監督學習(Super

python資料分析微信朋友圈

參考https://blog.csdn.net/qinyuanpei/article/details/79360703,基於python3.6實現微信朋友圈性別、地區、個性簽名、頭像四個維度的分析。 我的GitHub專案地址https://github.com/sanciyuan/wechat_

[Python資料]第3章、資料探索

1、缺失值處理:刪除、插補、不處理 2、離群點分析:簡單統計量分析、3σ原則(資料服從正態分佈)、箱型圖(最好用) 離群點(異常值)定義為小於QL-1.5IQR或大於Qu+1.5IQR import pandas as pd catering_sale = '../data/catering

Python資料入門與實戰:第一章

程式碼來源於:https://github.com/hLvMxM/Learning_Data_Mining_with_Python/blob/master/Chapter 1/ch1_affinity.ipynb 其中註釋是在自己學習中加上去的, 便於初學者看懂 分析文字為:affinity

Python資料過程

資料探勘的建模過程 定義挖掘目標 明確系統完成後想要達成什麼樣的效果。 我們需要分析應用領域,瞭解相關領域的情況,熟悉背景知識,弄清使用者需求。 資料取樣 從業務系統中抽取一個與挖掘目標相關的樣本資料子集。 抽取資料的標準,一是相關性,二是可靠性,三是有效性。 衡量取樣

Python資料的——資料探索詳解

資料質量分析: 資料質量的分析是資料分析資料中有效資料準備過程中的一個重要環節。是資料預處理的前提重要的環節。也是為資料探勘的分析的有效性和準確性的基礎。 資料質量的分析主要是原始資料中是否存在骯資料。髒資料包括是:缺失值 不一致的資料 重複資料或者是特殊的符號 資料特徵分析:

python資料——資料預處理

在資料探勘中 海量的資料存在大量的不完整(有缺失值)、不一致 有異常的資料,嚴重影響到資料的挖掘的建模過程執行的效率。甚至導致挖掘的資料結果偏差甚大。資料探勘預處理的過程中主要包括:資料清洗,資料整合,資料變換,資料規約。 處理過程如圖: 4.1 資料的清洗主要是對原始資料集中的無

Python資料的基礎理解

資料探勘是從大量的資料中找到隱含的、先前未知的、對決策有潛在價值的關係和模式和趨勢。並且利用這些知識和規則建立用於決策和支援的模型。資料探勘有助於企業發現業務的趨勢,提供決策性的支援的方法。 資料探勘 的任務有:資料探索,資料預處理,分類和預測 聚類和分析 時序預測,關聯規則挖掘 和偏差檢測

Python資料學習筆記(12)淘寶圖片爬蟲實戰

       所謂圖片爬蟲,即是從網際網路中自動把對方伺服器上的圖片爬下來的爬蟲程式。 一、圖片爬蟲前的網頁連結分析 1.首先開啟淘寶首頁,在搜尋框中輸入關鍵詞,如“神舟”,在搜尋結果介面中點選下一頁,分別開啟第一頁,第二頁,第三頁的搜尋結果,並記下每一頁結果的URL至記

資料領域十大經典演算法之—CART演算法(附程式碼)

簡介 CART與C4.5類似,是決策樹演算法的一種。此外,常見的決策樹演算法還有ID3,這三者的不同之處在於特徵的劃分: ID3:特徵劃分基於資訊增益 C4.5:特徵劃分基於資訊增益比 CART:特徵劃分基於基尼指數 基本思想 CART假設決策樹是二叉樹,

Python資料學習——親和性分析

最近了解了一些Python資料探勘方面的內容,主要學習了《Python資料探勘入門與實踐》這本書的內容,在這裡對書中的內容以及我遇到的一些問題進行整理。 資料探勘旨在讓計算機根據已有的資料作出決策。 資料探勘的第一步一般是建立資料集,資料集主要包括: (1)樣本:表示真實世界中的物體

python資料實戰筆記——文字挖掘(1):語料庫構建

什麼是文字挖掘 ?   文字挖掘是抽取有效、新穎、有用、可理解的、散佈在文字檔案中的有價值知識,並且利用這些知識更好地組織資訊的過程。 一、搭建語料庫 語料庫:要進行文字分析的所有文件的集合。 需要用到的模組:os、os.path、codecs、pandas 程

python資料實戰筆記——文字挖掘(4):詞雲繪製

概念: 詞雲:詞雲是指對文字中詞頻較高的分詞,給予視覺上的突出,形成“關鍵詞渲染”,從而過濾掉大量的文字資訊,使瀏覽者一眼掃過就可以領略文字的主旨。 需要用到的包:wordcloud、matplotlib wordcloud包下載地址:http://www.l

python資料實戰筆記——文字分析(6):關鍵詞提取

緊接上篇的文件,這節學習關鍵字的提取,關鍵詞——keyword,是人們快速瞭解文件內容,把握主題的重要內容。 #匯入需要的模組 import os import codecs import pandas import jieba import jieba.ana