菜鳥數據科學入門01 - 工具包概略
01-29
數據科學是什麼?為什麼要學習數據科學?
來不及解釋了,先上車 -。-
開車之前,為接下來的系列文章做準備,先來羅列一下 Python 科學計算生態中常見的工具包。
IPython
IPython 為 NumPy、SciPy、Pandas、Matplotlib 等包提供一個互動式介面,它本身並不提供科學計算的功能。這些工具組合在一起,形成了可以匹敵如 Matlab、Mathmatic 這些複雜工具的科學計算框架。
不同的工具包,在數據分析的不同階段各顯神通:
NumPy
NumPy 主要提供基礎的數組數據結構和矩陣運算。
- 快速高效的多維數組對象
- 可執行向量化計算
- 提供線性代數等矩陣
- 可集成 C 代碼
SciPy
基於 NumPy 提供了大量的科學計算演算法(信號處理、最優化求解等等),解決標準問題。
- 數值積分和微分方程求解
- 擴展的矩陣計算功能
- 最優化工具
- 概率分布計算和統計函數
- 信號處理函數
Pandas
提供 data frames 數據結構,便於處理真實數據集。
- 易用、高效的數據操作函數庫
- 執行 join 以及其他 SQL 類似的功能來重塑數據
- 提供包括 dataframe 在內的數據結構
- 支持各種格式(包括資料庫)輸入輸出
- 支持時間序列
Matplotlib
擅長數據繪圖,繪製互動式可視化圖像。
- 提供一套和 matlab 相似的命令 API
- 十分適合互動式繪圖
- 可以作為繪圖控制項嵌入 GUI
其他常用工具包
- Seaborn:統計繪圖
- StatsModels:統計模型
- scikit-learn:機器學習
- 建立在 NumPy,SciPy 基礎上
- 通過統一介面來使用,可以迅速在數據集上實現流行的演算法
- 包含許多用於標準機器學習任務的工具,如:聚類、分類和回歸等
- Requests:網頁數據抓取
- Beautiful Soup:解析網頁數據
- Flask:輕量級的 web 框架
- sqlite3:輕量級資料庫介面
- Pyspark: Spark 的 Python 介面
- nltk:自然語言處理
- networkx:社交網路分析
- theano:深度學習
推薦閱讀: