從數據處理到人工智能的一批計算生態

系統的對人工智能的淺顯認識

數據表示 -> 數據清洗 -> 數據統計 -> 數據可視化 -> 數據挖掘 -> 人工智能

數據表示:採用合適方式用程序表達數據
數據清洗:數據歸一化、數據轉換、異常處理
數據統計:數據的概要理解,數量、分佈、中位數等
數據可視化:直觀展示數據內涵的方式
數據挖掘:從數據分析獲得知識,產生數據外的價值
人工智能:數據/語言/圖像/視覺/等方面深度分析與決策

數據處理

  • Numpy
    表達N維數組的最基礎庫
    python接口使用,C語言實現,計算速度優異
    python數據分析及科學計算的基礎庫,支撐Pandas等
    提供直接的矩陣運算、廣播函數、線性代數等功能

    比如進行兩個一維數組的運算
    使用基礎語法,我們要使用for循環

def pySum():
	a = [0,1,2,3,4]
	b = [9,8,7,6,5]
	c = []
	for i in range (len(a)):
		c.append(a[i]**2 + b[i]**3)
	return c
print(pySum())

使用Numpy,Numpy的最基礎單元是一個數組,數組相當於一個變量,我們就可以用數組變量直接的操作符進行運算

將N維數組看成簡單的數字運算

import Numpy as np
def npSum():
	a = np.array([0,1,2,3,4])
	b = np.array([9,8,7,6,5])
	c = a**2 + b**3
	return c
print(npSum())
  • Pandas
    Python數據分析高層次應用庫
    提供了簡單易學的數據結構和數據分析工具
    理解數據類型與索引的關係,操作索引即操作數據
    Python最主要的數據分析功能庫,基於Numpy開發

    Pandas庫核心提供了兩個數據結構

    Series = 索引 + 一維數據
    通過索引來與一維數據進行關聯,進而通過索引來操作數據的一種數據方法

    DataFrame = 行列索引 + 二維數據
    使用行列的二維索引來操作二維數據的方法

    Pandas庫通過擴展了對一維數據和二維數據的一種表示,因而能夠形成更高層次對數據的操作,簡化數據分析的運行

  • Scipy
    數學、科學和工程計算功能庫
    提供了一批數學算法及工程數據運算功能
    類似Matlab,可用於如傅里葉變換、信號處理等應用
    Python最主要的科學計算功能庫,基於Numpy開發

數據可視化

  • Matplotlib
    http://matplotlib.org
    高質量的二維數據可視化功能庫
    提供了超過100種數據可視化展示效果
    通過matplotlib.pyplot子庫調用各可視化效果,相當於各個子庫的快捷方式
    Python最主要的數據可視化功能庫,基於Numpy開發

  • Seaborn
    http://seaborn.pydata.org
    統計類數據可視化功能庫
    提供了一批高層次的統計類數據可視化展示效果
    主要展示數據間分佈、分類和線性關係等內容
    基於Matplotlib開發,支持Numpy和Pandas

  • Mayavi
    http://docs.enthought.com/mayavi/mayavi/
    三維科學數據可視化功能庫
    提供了一批簡單易用的3D科學計算數據可視化展示效果
    目前版本Mayavi2,三維可視化最主要的第三方庫
    支持Numpy、TVTK、Traits、Envisage等第三方庫

文本處理

  • PyPDF2
    http://mstamy2.github.io/PyPDF2
    用來處理pdf文件的工具集
    提供了一批處理PDF文件的計算功能
    支持獲取信息、分隔/整合文件、加密解密
    完全Python語言實現,不需要額外依賴,功能穩定

    比如我們將兩個pdf文件整合輸出一個pdf文件

from PyPDF2 import PdfFileReader, PdfFileMerger
merger = PdfFileMerger()
input1 = open("document1.pdf","rb")
input2 = open("document2.pdf","rb")
merger.append(fileobj = input1, pages = (0,3))
merger.merge(position = 2, fileobj = input2, pages = (0,1))
output = open("document-output.pdf","rb")
merger.write(output)
  • NLTK
    http://www.nltk.org
    自然語言文本處理第三方庫
    提供了一批簡單易用的自然語言文本處理功能
    支持語言文本分類、標記、語法句法、語義分析
    最優秀的Pyhon自然語言處理庫

將一個自然語言文本變成一個樹型結構,並且分析其中各個部分邏輯的之間關係

from nltk.corpus import treebank
t = treebank.parsed_sents('wsj_0001.mrg')[0]
t.draw()

機器學習

  • Scikit-learn
    http://scikit-learn.org/
    機器學習方法工具集
    提供一批統一化的機器學習方法功能接口
    提供聚類、分類、迴歸、強化學習等計算功能
    機器學習最基本且最優秀的Python第三方庫
  • TensorFlow
    http://www.tensorflow.org/
    AlphaGo背後的機器學習計算框架
    谷歌公司推動的開源機器學習框架
    數據流圖作爲基礎,圖節點代表運算,邊代表張量

代碼示例

import tensorflow as tf 
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
res = sess.run(result)
print('result:',res')
  • MXNet
    http://mxnet.incubator.apache.org/
    基於神經網絡的深度學習計算框架
    提供可擴展的神經網絡及深度學習計算功能
    可用於自動駕駛、機器翻譯、語音識別等衆多領域
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章