General Info
Be sure to check out our Tutorial Overview page for general info, such as list of all available tutorials, minimum enrollment number, and contact info.
課程簡介
不論是在學習任何的事物時,「觀察直覺」以及「實作技術」都是最重要的兩大塊。只有深刻的直覺,才可以駕馭藝術般的實作技術;同樣的,也只有在透徹了解「各種實作技術的缺點與限制」時,才能在許多的碰撞與挫折的經驗中,翠練出深刻的直覺與觀察力。
同樣的,在資料分析的各個領域中,「技術」與「直覺」也常常是相輔相成的,必須一起學習,才能夠深入而淺出!因此,講者特別設計的一套課程,可以讓大家 (甚至是沒作過任何資料分析的人),都可以運用最方便的技術與工具,在最少的操作障礙之下,體驗資料分析中最重要的「技術」與「直覺」。
教學的過程,將採取一個短演講,搭配一個長操作的交替方式進行。在每一個主題的前行短演講中,講者將會介紹該主題中,最重要的「觀察直覺」與「思考哲學」,讓大家可以預先「認識問題」、「思考問題」、「了解問題」、或甚至「換個方式看問題」﹍ (這部份的課程,主要著重於「直覺與觀念的建立」與「創意的發想與思考」。)
而其後所接的操作時段,則是讓大家可以跳脫「憑空想像」,更進一步的「動手去感覺資料」、「和資料互動」、「挖掘問題背後的解答」、並且「感覺解答背後的問題」﹍(這部份的課程,主要著重於「實際的操作並分析資料」與「感覺各種方法的侷限與障礙」。)
課程大綱
單元一:資料?分析?
單元一(短演講):「問」與「答」
-
真實世界的「問題」?
-
典型的資料分析的「問題」與「解答」
-
真實世界的「解答」?
-
典型的資料分析的「工作流程」
單元一(動手作):(不寫程式)體驗典型的資料分析過程
-
(補充)本操作課使用 Orange 拖拉式的操作,可以減少學員在使用時的障礙,讓大家可以跳脫寫程式與下指令的痛苦,先直接體驗「問問題」與「找解答」的過程!
(如圖所示,Orange 是一套只要點擊與拖拉,就可以輕鬆建模的 Python 套件!特別適合初學者用來學習資料操作的流程!直接體驗「問問題」與「找解答」的過程!)
-
動手體驗「什麼是(用來分析的)資料?」、
-
動手學 Supervised Learning
-
動手學 Unsupervised Learning
-
動手學資料分析流程
-
動手感覺 Supervised Learning 的侷限,以及 Unsupervised Learning 的侷限
-
比方說:當我們作一個蘋果橘子分類器時,如果,遇到香蕉或芭樂時,也會把香蕉或芭樂辨識成蘋果或橘子﹍那又開怎麼辦呢?
-
而在怎樣的情況下,這樣的模型侷限,會對系統造成很大的影響?又在怎樣的情況下不太會造成影響?
-
-
動手感覺 Semi-supervised Learning
單元二:生活中的資料?分析用的資料?
單元二(短演講):資料科學簡介
-
資料?
-
科學?
-
To see is to believe?
-
如何「傾聽」資料的聲音?
-
從生活,到分析,談 Features Generation
單元二(動手作):從生活,到分析
-
(補充)本操作課使用 Pandas 套件作為主要的操作工具!
-
在分析之前
-
淺談 Features Generation(以文字與影像 data 為例)
-
淺談 Cleaning Data(以 PTT data 為例)
-
-
分析的起點:DataFrame
-
DataFrame 的基本操作
-
DataFrame 與簡單的統計分析
-
像 SQL 一樣厲害的 DataFrame
-
單元三:條件機率分析
單元三(短演講):機率、Counting Measure 與 SQL
-
無敵的 Join Probability
-
像微分般的 Conditional Probability
-
GroupBy 與 Join Probability
-
兩種不同的 DataFrame:
-
States Table
-
Pivot Table
-
-
Pivot Table 與 Conditional Probability
單元三(動手作):動手玩機率
-
動手玩 Join Probability
-
動手體驗像微分般的 Conditional Probability
- 無所不在的 Markov Chain
單元四:視覺化主題 (Topics of Visualization)
單元四(短演講):視覺化簡介
-
資料 (Data) 視覺化
-
模型 (Model) 視覺化
-
問題 (Problem) 視覺化
-
概念 (Concept) 視覺化
-
如何用圖教會自己,也教會別人
單元四(動手作):易學易用的視覺化技術
-
利用 DataFrame 直接作圖
-
Matplotlib 中的基礎物件與圖層結構
-
更多 Matplotlib 小技巧
-
利用 Matplotlib 作動畫
-
使用 Matplotlib 玩探索式資料分析 (Exploratory Data Analysis)
單元五:文字探勘主題 (Topics of Text Mining)
單元五(短演講):文字探勘簡介
-
生活中的文字探勘應用與問題
-
從文字,到數字
-
Text To Vector
-
Feature Selection & Vector Quantization
-
-
重要的字詞?重要的文章?(什麼是重要?)
-
相似的詞?相似的文章?(什麼是相似?)
-
語言模型(Language Model)與新詞探勘
單元五(動手作):易學易用的文字探勘技術
-
(補充)本操作課將使用 PTT 的文章與推文資料,作為操作與示範時所使用的資料!
-
動手玩 Text To Vector
-
jieba
-
unigram-bigram
-
-
動手玩文章分類器
-
動手玩文章相似度分析
-
文章分類器的侷限與問題
-
動手玩「大量」文本資料
(基本上,單元六要是現場進度而定,時間夠的話就會講,但也可能不會講﹍)
單元六:Python 的資料分析軍火庫
單元六(短演講):Python 的資料分析軍火庫
-
scikit-learn
-
shogun
-
cvxopt
-
OpenCV
-
NLTK
單元六(動手作):易學易用的 scikit-learn
-
資料前處理
-
scikit-learn 所提供的工具
更多課程細節:https://docs.google.com/document/d/1yLlTGMdUkMnQEyhw4j5oaxZCNcEf81hn0EBaHSq8t98/edit?usp=sharing
Environment Settings
Required Python Packages:
- PyMongo
- Orange
- pandas
- matplotlib
- scikit-learn
- numpy & scipy
- jieba
- nltk
- gensim
- cv2 (OpenCV)
- Other Requirements:
- mongodb
- OpenCV
Target Audience
The trainee is expected to have the following required skills:
- Linear Algebra
- Multivariate Calculus
- Basic Probability
- Basic Python Manipulation
- (optional) some basic concept in Convex optimization & Discrete Optimization
- (optional) some basic concept in Machine Learning or Data Mining
- (optional) some basic concept in Image Processing & Digital Signal Processing
- (optional) some basic concept in Natural Language Processing
Trainer
張家齊 (c3h3)
講者是一位熱愛分析資料的工程師,熱愛分析資料,建立模型,討論數學。
常出沒各種類似的場子,也常常舉辦類似的活動,像 Taiwan R User Group 社群和 MLDM Monday 聚會等等。同時,喜歡於各大會議分享相關的使用心得與經驗。
以往演講:
- [MLDM Monday] Visualization with Python (part1) https://www.youtube.com/watch?v=9K3B3OYMtjY
- [MLDM Monday] Hacking Models with R https://www.youtube.com/watch?v=qwG3e_wjbZ4
- [COSCUP 2013] 不寫程式也可以玩 Data -- Orange 套件使用與外掛開發 https://www.youtube.com/watch?v=escsixrqG6M
- [PyConTW 2013] 超級比一比 比字、比價、比商品 https://www.youtube.com/watch?v=bL4zZNnkeRw