SlideShare a Scribd company logo
初試雲端Python編程
Patrick KT HO (何君泰)
26 September 2020
利⽤Google CoLab平台
(⼀)環境設定
(⼆)Python 編程 - 以 Logistic Regression 為例
(三)補充知識
初試雲端Python編程
利⽤Google CoLab平台
我們會在 Google Drive 新增⼀個相關應⽤程式⽤作 Python 編程。
其 Dependent Variable (Y) 的數值只有 0 或 1,是否真係我們認知的 Regression?
「學海無涯勤是岸」,積少成多體驗 Python 編程啦!
(⼀)環境設定
Step (1):進⼊ Google Drive 後按「新增」。再按「更多」,選擇「連結更多應⽤程式」。
(⼀)環境設定 (續)
Step (2):按 Colaboratory 右下⻆的圖示加⼊應⽤程式。
什麼是 Google Colaboratory
• ⼀個基於 Jupyter Notebook 的免費
服務 (需要⼀個 Google 帳號)。
• Reference :



歡迎使⽤ Colaboratory



透過 Google Colaboratory 學習使
⽤ Python 做機器學習等科學計算
(⼀)環境設定 (續)
Step (3):按「安裝」,然後按「繼續」授權安裝,最後按「確定」完成。
(⼀)環境設定 (續)
Step (4):我們需要新增⼀個 Jupyter Notebook 以作為 Python 編程⽤。按「更多」,然後按
「Google Colaboratory」。將檔案名稱命名為 LR_Test1。
(⼀)環境設定 (續)
Step (5):Jupyter Notebook 檔案 LR_Test1.ipynb 新增了。Double click 此檔案開始 Python 編程。
什麼是 Jupyter Notebook?
• ⼀個介於編輯器(例如Atom)及IDE(Spider、
PyCharm、Vim) 之間的應⽤環境,可讓您編寫
程式時利⽤其直譯式的特性,達到⾼互動執⾏
結果,並且很容易呈現資料視覺化的執⾏。
• 可作為網⾴應⽤ (Web Application) 及⽂檔顯
示 (Notebook Documents)。
• Reference:

Jupyter Notebook 介紹及安裝說明
(⼀)環境設定 (續)
Google CoLab 有咩好?有咩唔好?
Reference :
我想學 Python + A.I.,該從何入⼿?
(⼆)Python 編程 - 以 Logistic Regression 為例
在開始之前想⼀想,Logistic Regression 真的是 Regression 嗎?
其 Outcome / 依變數 (Y) 是⼆元變數
(Binary variable) 的迴歸模型
Reference :
機器學習⾃學筆記06: Logistic regression
(⼆)Python 編程 - 以 Logistic Regression 為例 (續)
在開始之前想⼀想,Logistic Regression 真的是 Regression 嗎? (Step 1)
• Logistic regression 是把每⼀個feature xi 加權相加,

加上bias ,再通過sigma function,當作function 的
output。
• 因為Logistic 的output 是通過sigma function 產⽣的,

因此⼀定是介於0~1之間;⽽linear regression 的
output 可以是任何值。
(Step 2)
• Logistic regression 中,我們定義的loss function,即要
去minimize 的對象,是所有樣本的output和實際target
在 Bernoulli distribution 下的 cross entropy總和。
• ⽽在Linear regression 中,loss function 的定義相對⽐
較簡單,就是單純的function 的output 和實際target 在
數值上的平⽅和的均值。
(Step 3)
• Logistic regression 和 Linear regression 的wi
update的⽅式是⼀模⼀樣的。
• 唯⼀不⼀樣的是Logistic regression 的 target 和
output 都必須在0~1之間,⽽linear regression
的target 和output 的範圍可以是任意值
(⼆)Python 編程 - 以 Logistic Regression 為例 (續)
與 Jupyter Notebook ⼀樣,需要在程式
碼儲存格新增編碼。請按此圖新增並打上
程式碼。
有關匯⼊ Dataset
• ⼀般⽽⾔,Python 可透過 Pandas 函式庫匯⼊
不同檔案類型的 Dataset。例如:



pd.read_csv(‘apple.csv’)

pd.read_sas7bdat(‘a1.sas7bdat’)

• 此例⼦引⽤儲存在 Google Drive 的檔案,需要
以特定⽅式獲取。有關詳細步驟,請參考以下網
⾴:



How to Connect Google CoLab with Google
Drive

正式開始!
(⼆)Python 編程 - 以 Logistic Regression 為例 (續)
在此例⼦中,我們會匯⼊下表的 Python 函式庫 (Library) :
Library 名稱 簡寫 主要⽤途
pandas pd ⼀個資料分析函式庫,提供如 DataFrame 等容易操作的資料結構。
numpy np 主要⽀援矩陣 (Matrix) 運算﹐亦針對列陣 (Array) 運算提供數學函式庫。
matplotlib plt 主要⽤於資料視覺化及繪製圖表。
seaborn sns 建基於 matplotlib 上的⾼階圖表繪製函式庫。
statmodels sm 提供統計模型,亦提供統計測試,資料探索及視覺化。
scikit-learn sklearn
提供機器學習 (Machine Learning) 的演算法 (Algorithms),按功能分為以下六類:

1. Classification

2. Regression

3. Clustering

4. Model Selection

5. Preprocessing

6. Dimensionality Reduction
(⼆)Python 編程 - 以 Logistic Regression 為例 (續)
在獲得特定授權後,right click
casecont.csv ,然後按「複製路徑」。
繼續新增匯⼊ dataset 的程式碼,並貼上剛
複製的檔案路徑。
有關 Python 的資料結構
• Python 提供主要兩類的資料結構:
1. Series:主要為建⽴索引 (Index) 的
⼀維陣列 (e.g. Array)。
2. DataFrame:⽤來處理結構化
(Table like) 的資料,有列索引與欄
標籤的⼆維資料集,例如關聯式資料
庫、CSV 等等。

• df1 是 DataFrame

• 參考網⾴:

Oranwind - Pandas 基礎教學
(⼆)Python 編程 - 以 Logistic Regression 為例 (續)
要了解 df1 內的 records 資料,可透過圖中
的編碼獲得。
(⼆)Python 編程 - 以 Logistic Regression 為例 (續)
偵測有否 Null Value,如有的話會以瑩光
⿈⾊顯示。
倘若在個別 records 中有起碼⼀個
variable 中有 Null value 的話,就利⽤
dropna() 將整隻 record 除去。
(⼆)Python 編程 - 以 Logistic Regression 為例 (續)
(⼆)Python 編程 - 以 Logistic Regression 為例 (續)
(⼆)Python 編程 - 以 Logistic Regression 為例 (續)
(三)補充知識
Python 的內建型態
Reference :
[Proladon] Python 基礎教學 - 基本資料型態簡介
(三)補充知識 (續)
機器學習 (Machine Learning) 的類別
監督式學習 (Supervised Learning) :⼀⽐⼀對照資訊
電腦需要從標籤化的資訊中分析模式後做出預測的學習⽅式。標記過的資料就好⽐標
準答案,電腦在學習的過程透過對⽐誤差,⼀邊修正去達到更精準的預測,這樣的⽅
式讓監督式學習有準確率⾼的優點。
強化式學習 (Reinforcement Learning):在未知探索與遵從既有知識間取得平衡
此⽅式的特徵是不需給機器任何的資料,讓機器直接從互動中去學習,這是最接近⼤
⾃然與⼈類原本的學習⽅式。機器透過環境的正向、負向回饋 (Positive / Negative
Reward),從中⾃我學習,並逐步形成對回饋刺激 (Stimulus) 的預期,做出越來越有
效率達成⽬標的⾏動 (Action),這個訓練過程的⽬標是獲取最⼤利益。
⾮監督式學習 (Unsupervised Learning):機器⾃⾏摸索出資料規律
此⽅式的訓練資料不需要事先以⼈⼒處理標籤,機器⾯對資料時,做的處理是依照關
聯性去歸類 (Co-Occurance Grouping)、找出潛在規則與套路 (Association Rule
Discovery)、形成集群 (Clustering),不對資訊有正確或不正確的判別。
(三)補充知識 (續)
訓練 (Train)、驗證 (Validation) 與測試 (Test) 資料
Reference :
《進擊的資料科學:Python與
R的應⽤實作》
訓練 (Train)
從具有實際值的資料中隨機排序後取出 70% 或 80% 的

觀測值作為建構迴歸模型的基⽯。
驗證 (Validation)
從具有實際值的資料中隨機排序後取出 30% 或 20% 的

觀測值,這些觀測值將被輸⼊到訓練 (Train) 資料所建構的迴歸模
型中獲得預測值,繼⽽獲得與實際值的誤差後,

⽤作評估模型的品質。
測試 (Test)
不具有實際值的資料。這些觀測值輸⼊迴歸模型後所得到的預測
值將投⼊正式營運環境,因此不具有實際值的特性,只能在應⽤
過後設計實驗 (例如 AB Test) 被⽤作檢視迴歸模型的配適情況。
END

More Related Content

PDF
再試雲端Python編程:利用IBM Watson平台
PDF
How to integrate GitLab CICD into B2B service
PPTX
大数据漫谈-bilibili
PPT
Django敏捷开发 刘天斯
PDF
Hadoop开发者入门专刊
PDF
4. Go 工程化实践-0124-v2.pdf
PPT
Using google appengine (2)
PPT
轻量级Flash服务器开发框架(刘恒)
再試雲端Python編程:利用IBM Watson平台
How to integrate GitLab CICD into B2B service
大数据漫谈-bilibili
Django敏捷开发 刘天斯
Hadoop开发者入门专刊
4. Go 工程化实践-0124-v2.pdf
Using google appengine (2)
轻量级Flash服务器开发框架(刘恒)

Similar to 初試雲端Python編程:利用Google CoLab平台 (20)

PDF
《氪周刊:互联网创业必读》(第73期)
PDF
《氪周刊:互联网创业必读》(第73期)
PPT
Using google appengine_1027
PPTX
构建网络工具箱
PPT
Using google appengine_final
PDF
Chapter 4 models
PPTX
Python_presentation_data_science_lecture.pptx
PDF
初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想
PDF
Introduction to K8S Big Data SIG
PDF
淺談 Kubernetes於大數據生態系的相關開發近況
PPT
Think php官方视频之入门篇【幻灯片】
PPTX
How to -- Goolge colab
PPTX
架設Hadoop叢集以及mapreduce開發環境
PPT
Hadoop与数据分析
PPT
手机之家新系统介绍及架构分享
PDF
Build Your Own Android Toolchain from scratch
PDF
推薦系統實作
 
PPTX
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
PDF
Log collection
 
PDF
選擇正確的Solution 來建置現代化的雲端資料倉儲
《氪周刊:互联网创业必读》(第73期)
《氪周刊:互联网创业必读》(第73期)
Using google appengine_1027
构建网络工具箱
Using google appengine_final
Chapter 4 models
Python_presentation_data_science_lecture.pptx
初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想
Introduction to K8S Big Data SIG
淺談 Kubernetes於大數據生態系的相關開發近況
Think php官方视频之入门篇【幻灯片】
How to -- Goolge colab
架設Hadoop叢集以及mapreduce開發環境
Hadoop与数据分析
手机之家新系统介绍及架构分享
Build Your Own Android Toolchain from scratch
推薦系統實作
 
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
Log collection
 
選擇正確的Solution 來建置現代化的雲端資料倉儲
Ad

初試雲端Python編程:利用Google CoLab平台

  • 1. 初試雲端Python編程 Patrick KT HO (何君泰) 26 September 2020 利⽤Google CoLab平台
  • 2. (⼀)環境設定 (⼆)Python 編程 - 以 Logistic Regression 為例 (三)補充知識 初試雲端Python編程 利⽤Google CoLab平台 我們會在 Google Drive 新增⼀個相關應⽤程式⽤作 Python 編程。 其 Dependent Variable (Y) 的數值只有 0 或 1,是否真係我們認知的 Regression? 「學海無涯勤是岸」,積少成多體驗 Python 編程啦!
  • 3. (⼀)環境設定 Step (1):進⼊ Google Drive 後按「新增」。再按「更多」,選擇「連結更多應⽤程式」。
  • 4. (⼀)環境設定 (續) Step (2):按 Colaboratory 右下⻆的圖示加⼊應⽤程式。 什麼是 Google Colaboratory • ⼀個基於 Jupyter Notebook 的免費 服務 (需要⼀個 Google 帳號)。 • Reference :
 
 歡迎使⽤ Colaboratory
 
 透過 Google Colaboratory 學習使 ⽤ Python 做機器學習等科學計算
  • 6. (⼀)環境設定 (續) Step (4):我們需要新增⼀個 Jupyter Notebook 以作為 Python 編程⽤。按「更多」,然後按 「Google Colaboratory」。將檔案名稱命名為 LR_Test1。
  • 7. (⼀)環境設定 (續) Step (5):Jupyter Notebook 檔案 LR_Test1.ipynb 新增了。Double click 此檔案開始 Python 編程。 什麼是 Jupyter Notebook? • ⼀個介於編輯器(例如Atom)及IDE(Spider、 PyCharm、Vim) 之間的應⽤環境,可讓您編寫 程式時利⽤其直譯式的特性,達到⾼互動執⾏ 結果,並且很容易呈現資料視覺化的執⾏。 • 可作為網⾴應⽤ (Web Application) 及⽂檔顯 示 (Notebook Documents)。 • Reference:
 Jupyter Notebook 介紹及安裝說明
  • 9. (⼆)Python 編程 - 以 Logistic Regression 為例 在開始之前想⼀想,Logistic Regression 真的是 Regression 嗎? 其 Outcome / 依變數 (Y) 是⼆元變數 (Binary variable) 的迴歸模型 Reference : 機器學習⾃學筆記06: Logistic regression
  • 10. (⼆)Python 編程 - 以 Logistic Regression 為例 (續) 在開始之前想⼀想,Logistic Regression 真的是 Regression 嗎? (Step 1) • Logistic regression 是把每⼀個feature xi 加權相加,
 加上bias ,再通過sigma function,當作function 的 output。 • 因為Logistic 的output 是通過sigma function 產⽣的,
 因此⼀定是介於0~1之間;⽽linear regression 的 output 可以是任何值。 (Step 2) • Logistic regression 中,我們定義的loss function,即要 去minimize 的對象,是所有樣本的output和實際target 在 Bernoulli distribution 下的 cross entropy總和。 • ⽽在Linear regression 中,loss function 的定義相對⽐ 較簡單,就是單純的function 的output 和實際target 在 數值上的平⽅和的均值。 (Step 3) • Logistic regression 和 Linear regression 的wi update的⽅式是⼀模⼀樣的。 • 唯⼀不⼀樣的是Logistic regression 的 target 和 output 都必須在0~1之間,⽽linear regression 的target 和output 的範圍可以是任意值
  • 11. (⼆)Python 編程 - 以 Logistic Regression 為例 (續) 與 Jupyter Notebook ⼀樣,需要在程式 碼儲存格新增編碼。請按此圖新增並打上 程式碼。 有關匯⼊ Dataset • ⼀般⽽⾔,Python 可透過 Pandas 函式庫匯⼊ 不同檔案類型的 Dataset。例如:
 
 pd.read_csv(‘apple.csv’)
 pd.read_sas7bdat(‘a1.sas7bdat’)
 • 此例⼦引⽤儲存在 Google Drive 的檔案,需要 以特定⽅式獲取。有關詳細步驟,請參考以下網 ⾴:
 
 How to Connect Google CoLab with Google Drive
 正式開始!
  • 12. (⼆)Python 編程 - 以 Logistic Regression 為例 (續) 在此例⼦中,我們會匯⼊下表的 Python 函式庫 (Library) : Library 名稱 簡寫 主要⽤途 pandas pd ⼀個資料分析函式庫,提供如 DataFrame 等容易操作的資料結構。 numpy np 主要⽀援矩陣 (Matrix) 運算﹐亦針對列陣 (Array) 運算提供數學函式庫。 matplotlib plt 主要⽤於資料視覺化及繪製圖表。 seaborn sns 建基於 matplotlib 上的⾼階圖表繪製函式庫。 statmodels sm 提供統計模型,亦提供統計測試,資料探索及視覺化。 scikit-learn sklearn 提供機器學習 (Machine Learning) 的演算法 (Algorithms),按功能分為以下六類: 1. Classification 2. Regression 3. Clustering 4. Model Selection 5. Preprocessing 6. Dimensionality Reduction
  • 13. (⼆)Python 編程 - 以 Logistic Regression 為例 (續) 在獲得特定授權後,right click casecont.csv ,然後按「複製路徑」。 繼續新增匯⼊ dataset 的程式碼,並貼上剛 複製的檔案路徑。 有關 Python 的資料結構 • Python 提供主要兩類的資料結構: 1. Series:主要為建⽴索引 (Index) 的 ⼀維陣列 (e.g. Array)。 2. DataFrame:⽤來處理結構化 (Table like) 的資料,有列索引與欄 標籤的⼆維資料集,例如關聯式資料 庫、CSV 等等。
 • df1 是 DataFrame
 • 參考網⾴:
 Oranwind - Pandas 基礎教學
  • 14. (⼆)Python 編程 - 以 Logistic Regression 為例 (續) 要了解 df1 內的 records 資料,可透過圖中 的編碼獲得。
  • 15. (⼆)Python 編程 - 以 Logistic Regression 為例 (續) 偵測有否 Null Value,如有的話會以瑩光 ⿈⾊顯示。 倘若在個別 records 中有起碼⼀個 variable 中有 Null value 的話,就利⽤ dropna() 將整隻 record 除去。
  • 16. (⼆)Python 編程 - 以 Logistic Regression 為例 (續)
  • 17. (⼆)Python 編程 - 以 Logistic Regression 為例 (續)
  • 18. (⼆)Python 編程 - 以 Logistic Regression 為例 (續)
  • 19. (三)補充知識 Python 的內建型態 Reference : [Proladon] Python 基礎教學 - 基本資料型態簡介
  • 20. (三)補充知識 (續) 機器學習 (Machine Learning) 的類別 監督式學習 (Supervised Learning) :⼀⽐⼀對照資訊 電腦需要從標籤化的資訊中分析模式後做出預測的學習⽅式。標記過的資料就好⽐標 準答案,電腦在學習的過程透過對⽐誤差,⼀邊修正去達到更精準的預測,這樣的⽅ 式讓監督式學習有準確率⾼的優點。 強化式學習 (Reinforcement Learning):在未知探索與遵從既有知識間取得平衡 此⽅式的特徵是不需給機器任何的資料,讓機器直接從互動中去學習,這是最接近⼤ ⾃然與⼈類原本的學習⽅式。機器透過環境的正向、負向回饋 (Positive / Negative Reward),從中⾃我學習,並逐步形成對回饋刺激 (Stimulus) 的預期,做出越來越有 效率達成⽬標的⾏動 (Action),這個訓練過程的⽬標是獲取最⼤利益。 ⾮監督式學習 (Unsupervised Learning):機器⾃⾏摸索出資料規律 此⽅式的訓練資料不需要事先以⼈⼒處理標籤,機器⾯對資料時,做的處理是依照關 聯性去歸類 (Co-Occurance Grouping)、找出潛在規則與套路 (Association Rule Discovery)、形成集群 (Clustering),不對資訊有正確或不正確的判別。
  • 21. (三)補充知識 (續) 訓練 (Train)、驗證 (Validation) 與測試 (Test) 資料 Reference : 《進擊的資料科學:Python與 R的應⽤實作》 訓練 (Train) 從具有實際值的資料中隨機排序後取出 70% 或 80% 的 觀測值作為建構迴歸模型的基⽯。 驗證 (Validation) 從具有實際值的資料中隨機排序後取出 30% 或 20% 的 觀測值,這些觀測值將被輸⼊到訓練 (Train) 資料所建構的迴歸模 型中獲得預測值,繼⽽獲得與實際值的誤差後, ⽤作評估模型的品質。 測試 (Test) 不具有實際值的資料。這些觀測值輸⼊迴歸模型後所得到的預測 值將投⼊正式營運環境,因此不具有實際值的特性,只能在應⽤ 過後設計實驗 (例如 AB Test) 被⽤作檢視迴歸模型的配適情況。
  • 22. END