初探 Pandas, NumPy, Scikit-Learn, Keras

在利用 Tensorflow 或是 Python 處理大數據的時候,不免會接觸到以下這些資源庫(Pandas, Numpy, Scikit, ndArray, Keras),搞懂與好好利用他們是很重要的事情:

Pandas

在 Python 中的角色主要是提供使用者可以取得 DataFrame 的執行程序,

import pandas as pd
pd.read_csv()
pd.reset_index()

NumPy (Numpy Site) 根據官網描述 NumPy 包含 :

1. 強大的 N 維矩陣物件
2. 精密的(廣播) 函式
3. 整合 C/C++, Fortran 程式碼的工具
4. 線性代數, 傅立葉轉換等等有用的數學工具

在 Numpy 函式庫裡面,最廣泛被使用的就是 ndarray 的這一個類別了:)

>>> import numpy as np
>>> a = np.arange(15).reshape(3, 5)
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
>>> a.shape
(3, 5)
>>> a.ndim
2

Scikit-Learn

Scikit-Learn 主要是用來作單機版的機器學習,假設使用者有一台裝有 Python 的主機,就可以執行 Scikit-Learn 來做機器學習的開發。

備註:由於 Scikit-Learn 主要執行在單一主機的環境之中,如果要使用一整群集 cluster 幫忙做計算的話,就需要使用像是 Spark Machine Learning 相關的函式庫 MLUtils,例如使用 pyspark 就要使用:

from pyspark.mllib.util import MLUtils

Keras

Keras 則是一個提供類神經網路計算的機器學習的應用程式介面 (API),主要是提供 Python 使用者進行 Tensorflow, CNTK 及 Theano 等等的類神經網路函式庫。