數據科學導論:序章
數據科學那麼火,資源那麼多,但找遍中文互聯網都找不到系統、稍微過得去的筆記,於是就想著自己做一份。我認知中的優秀筆記是 CS231n 中文筆記,希望這系列筆記能達到它的質量。
關於數據科學學科介紹的文章、雞血頗多,因此不再贅述,簡而言之,數據科學是計算機科學、統計學、相關領域的結合,以數據、統計思維和計算思維解決問題。我相信體驗數據科學的最佳方式,就是親手實踐。
本系列筆記基於兩門數據科學導論課,加州大學伯克利校區的 DS100 與哈佛大學的 CS109。
本系列筆記使用 Markdown、Python3 和 Jupyter Notebook。歡迎來 GitHub 加星、合作、提問題、增改內容。
本系列筆記假定讀者是以中文為母語、對數據科學感興趣的入門者,故以中文為主、英語為注釋進行創作,我因為是野雞大學出身,中文學術寫作能力實在爛,寫學術文翻譯腔很重,還請讀者海涵並指出錯誤。
Given the assumption that readers are Chinese speakers and interested in Data Science, this note will be written primarily in Chinese and using English as captions.
知識儲備
本系列默認讀者具有以下知識:
- 概率統計基礎:理解方差、期望值(均值)、聯合概率、條件概率等基本概念
- Python 基礎:理解函數、循環、變數、列表生成式、類等基本概念,知道 pip、Jupyter Notebook、NumPy、Pandas 等工具
- 英語技能: 四級或 IELTS 6 分以上水平,能瀏覽英語文檔及文獻
- 知識技能:科學上網並使用 Google 查找解決方案
若讀者不具備以上知識,推薦以下資源:
- data8(Python 與統計入門)
- Learn Python The Hard Way(Python 入門)
- CS61A(Python 進階)
- Introduction to Computer Science and Programming Using Python(Python 進階)
我還想說一點個人看法:學習不是線性的,並不是你學了 A 才能做 B,最後才能做 C。我認為理想的學習是帶有目的的,你先學習 C,發現你不了解 B,這時候你可以繼續學習 C,並針對 C 需要的知識學習 B。編程、數學、統計也是如此,你在學習統計時發現自己不會矩陣,那麼你再去學線性代數里的矩陣,學完就跑;編程同理。
哲學
使用工具,並明了背後的思想;
內容自洽(self-contained),並提供深入途徑;
能可視化的就不要用文字;
開源,協作。
目錄
數據收集與整理 Data Collecting, Unboxing and Wrangling
探索性數據分析 Exploratory Data Analysis
統計模型 Statistical Models
貝葉斯理論和貝葉斯方法 Bayes Theorem and Bayesian Methods
偏差與方差 Bias and Variance
回歸 Regression
分類 Classification
支持向量機 SVM
決策樹和隨機森林 Decision Trees and Random Forests
集成方法 Ensemble Methods
深度神經網路 Deep Networks
文本聚類 Text and Clustering
最佳實踐 Best Practices
關係型資料庫 SQL
推薦系統和並行計算 Recommendations and MapReduce
大數據處理 Spark
實驗設計 Experimental Design
用數據講故事 Story Telling
高效演講 Effective Presentations
Change Log
2017-09-01 完成偏差與方差
2017-09-01 完成推特分析作業
2017-09-01 完成統計模型
2017-08-17 完成用數據講故事
2017-08-11 完成探索性數據分析
2017-08-10 完成數據收集與整理
2017-08-09 初始化
推薦閱讀:
※關愛女性健康,從我做起
※Python 單元測試
※完全理解Python關鍵字"with"與上下文管理器
※爬蟲入門到精通-headers的詳細講解(模擬登錄知乎)
※【掃盲】五分鐘了解Python