SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Graphlab Create 使用
- 以 SFrame 為例
Agenda
● 如何安裝 Graphlab Create
– 兼論安裝 open source SFrame
● 如何使用 Graphlab Create
– 以 SFrame 為例。
● References
如何安裝 Graphlab Create
● 到官網去填資料。 https://dato.com/download/
● 如果你有資格申請學術版,可以到
https://dato.com/download/academic.html 申
請。
● 申請好後會收到 Email ,內有註冊用的 Email 和
產品序號。
● 先收著,後面很快會到。
安裝 IPython
● 網路上有很多用 pip 安裝的教學,但我都沒成功。
● 在此分享的是用 ANACONDA 來安裝
– 可以從 https://www.continuum.io/downloads下載安裝。支
援 Windows, Linux 和 Mac.
● 因為 Graphlab create 要求 Python 2.7, 因此請選擇
2.7 版本來安裝。
● 安裝完後, console 下就有 conda 這個 command
了。
安裝 Graphlab Create - Windows
● 前提:已經安裝好 ANACONDA 。
● 如果是 Windows 環境,就直接下載 Installer 。
– https://dato.com/download/install-graphlab-create.html
– 選擇 Windows 的 tab.
– 如果你在前一頁安裝 ANACONDA 不順利,用這個安
裝比較簡單。
● 安裝完要使用前面註冊的 Email 和產品序號來開
啟它。
安裝 Graphlab Create - Linux
● 確定有沒有 Python 2.7.x 環境。
● 確定 pip 的版本大於 7 。
# Create a new conda environment with Python 2.7.x
conda create -n dato-env python=2.7 anaconda
# Activate the conda environment
source activate dato-env
# Ensure pip is updated to the latest version
conda update pip
安裝 Graphlab Create - Linux
● 安裝 Graphlab Create 。
– 粗體字的部分要用之前註冊的 Email 和產品序號來代
入。
● 確定有裝好 IPython 和 IPython Notebook 。
# Install your licensed copy of GraphLab Create
pip install --upgrade --no-cache-dir https://get.graphlab.com/GraphLab-
Create/1.10.1/your registered email address here/your product key here/GraphLab-
Create-License.tar.gz
# Install or update IPython and IPython Notebook
conda install ipython-notebook
安裝 open source SFrame
● SFrame 是 Dato 這家公司的一個開源專案。
● 為什麼要用 SFrame
– 使用非常方便。
– 未來若要將程式移到 Grpahlab Create 上,移植的成
本比較小。
● 在 github 上面的連結。
https://github.com/dato-code/SFrame
安裝 open source SFrame
● 前提: 沒有安裝 Graphlab Create 。
● 依照投影片第 4 頁的方法安裝好 IPython 和第 6
頁確定有 pip 。
● 有可能會有些 dependency ,就看 error log 有缺
什麼就裝什麼。
pip install -U sframe
如何使用 Graphlab Create
● 前提 1 :會 IPython notebook 的基本操作。
● 前提 2 :會 Python 的基本語法。
● 啟動 Graphlab Create 。
– Windows : 直接雙點桌面上 Dato 圖示。會如下圖,
二個啟動方式, 一個是 Python console , 另一個是
IPython notebook 。
如何使用 Graphlab Create
● Linux
– 在 console 下。
– 會看到以下的輸出。
$ source activate dato-env
discarding /home/zylix/anaconda2/bin from PATH
prepending /home/zylix/anaconda2/envs/dato-env/bin to PATH
(dato-env)zylix@zylix-Shark-Bay:~$
使用 Graphlab Create - SFrame
● Graphlab 的 SFrame 支援許多資料格式。
– csv file (comma separated value)
– sframe directory archive (A directory where an sframe was
saved previously)
– general text file (with csv parsing options, See read_csv())
– a Python dictionary
– pandas.DataFrame
– JSON
– Apache Avro
– PySpark RDD
使用 Graphlab Create - SFrame
● 我們以較常見的 CSV 格式為例。
● 假設有一個欄位為 ['First Name', 'Last Name',
'Country', 'age'] 的 csv 檔。檔案名稱為 people-
example.csv
● 用 SFrame 讀入。
import graphlab
sf = graphlab.Sframe('people-example.csv')
sf # 看前幾筆資料
sf.column_names() # 看欄位名稱
使用 Graphlab Create - SFrame
● 顯示出每欄的資料結構。
● 流灠器會跳出另一個 tab 做出很精緻的資料結構
分析。
sf.show()
使用 Graphlab Create - SFrame
● 如果不想要另外跳出一個 tab ,要顯示在同一個
頁面, 則如以下:
● 畫面如下:
graphlab.canvas.set_target('ipynb')
sf.show(view="Summary")
使用 Graphlab Create - SFrame
● 其他的顯示方法。
● 列出各欄的資料以及對欄位做運算。
– 對欄位資料做運算。
sf.show(view="Bar Chart", x="First Name", y="age")
sf['age'].show(view='Categorical')
sf['Country']
sf['age']
sf['age'].mean()
sf['age'].max()
sf['age'] * sf['age'] # 求每個年齡的平方
使用 Graphlab Create - SFrame
● 要新增一個欄位,例如 Full name 。
●
● 會得到以下。
sf['Full Name'] = sf['First Name'] + ' ' + sf['Last Name']
sf
使用 Graphlab Create - SFrame
● 使用 Python 的 apply() ,可以批次處理整欄的資
料。
● 例如:要把國家名稱的 TW, ”罝換成 Taiwan”
● 先把 function 寫好。
def transform_country(country):
if country == 'USA':
return 'United States'
else:
return country
使用 Graphlab Create - SFrame
● 先做 function 的單元測試。
●
● 確定它的輸出是正確的, 也就是 Taiwan.
● 用 apply() 來做批次轉換。
● 它會把 Country 欄位裡所有的 TW 都置換成 Taiwan 。
● 事實上 sf['Country'] 在這裡的型別已經是 SArray 了。
transform_country('TW')
sf['Country'] = sf['Country'].apply(transform_country)
使用 Open source SFrame
● 和 Graphlab Create 不一樣的地方
import sframe as sf
sf.Sframe.read_csv('people-example.csv')
# 另外組成一個 SFrame
data_set = sf.Sframe({'x1' : feature, 'y': label})
References
● SFrame API document:
https://dato.com/products/create/docs/generated/gr
● SArray API document:
https://dato.com/products/create/docs/generated/gr
● Getting started to SFrame
https://dato.com/learn/gallery/notebooks/introductio

Weitere ähnliche Inhalte

Ähnlich wie Graphlab Create使用說明,以SFrame為例

[2]futurewad樹莓派研習會 141127
[2]futurewad樹莓派研習會 141127[2]futurewad樹莓派研習會 141127
[2]futurewad樹莓派研習會 141127CAVEDU Education
 
Openshift by mtchang
Openshift by mtchangOpenshift by mtchang
Openshift by mtchangChang Mt
 
2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swttka
 
DRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLCDRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLCYu-Chin Tsai
 
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for MacRuby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for MacMarsZ Chen
 
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Yiwei Ma
 
程式人雜誌 -- 2014 年8月號
程式人雜誌 -- 2014 年8月號程式人雜誌 -- 2014 年8月號
程式人雜誌 -- 2014 年8月號鍾誠 陳鍾誠
 
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for UbuntuRuby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for UbuntuMarsZ Chen
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027Wei Sun
 
Configuration tutorial for pytorch environment under windows.pdf
Configuration tutorial for pytorch environment under windows.pdfConfiguration tutorial for pytorch environment under windows.pdf
Configuration tutorial for pytorch environment under windows.pdfshuaihaohan135
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发mysqlops
 
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定Shengyou Fan
 
Using google appengine (2)
Using google appengine (2)Using google appengine (2)
Using google appengine (2)Wei Sun
 
Ian 20150515 grunt
Ian 20150515 gruntIan 20150515 grunt
Ian 20150515 gruntLearningTech
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程Simon Su
 
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档xuebao_zx
 
[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程NJU OPEN
 
Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)Jazz Yao-Tsung Wang
 

Ähnlich wie Graphlab Create使用說明,以SFrame為例 (20)

[2]futurewad樹莓派研習會 141127
[2]futurewad樹莓派研習會 141127[2]futurewad樹莓派研習會 141127
[2]futurewad樹莓派研習會 141127
 
Openshift by mtchang
Openshift by mtchangOpenshift by mtchang
Openshift by mtchang
 
2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt
 
C#
C#C#
C#
 
DRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLCDRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLC
 
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for MacRuby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Mac
 
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
 
Build Your Own Android Toolchain from scratch
Build Your Own Android Toolchain from scratchBuild Your Own Android Toolchain from scratch
Build Your Own Android Toolchain from scratch
 
程式人雜誌 -- 2014 年8月號
程式人雜誌 -- 2014 年8月號程式人雜誌 -- 2014 年8月號
程式人雜誌 -- 2014 年8月號
 
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for UbuntuRuby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
 
Configuration tutorial for pytorch environment under windows.pdf
Configuration tutorial for pytorch environment under windows.pdfConfiguration tutorial for pytorch environment under windows.pdf
Configuration tutorial for pytorch environment under windows.pdf
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发
 
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
 
Using google appengine (2)
Using google appengine (2)Using google appengine (2)
Using google appengine (2)
 
Ian 20150515 grunt
Ian 20150515 gruntIan 20150515 grunt
Ian 20150515 grunt
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程
 
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档
 
[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程
 
Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)
 

Graphlab Create使用說明,以SFrame為例

  • 1. Graphlab Create 使用 - 以 SFrame 為例
  • 2. Agenda ● 如何安裝 Graphlab Create – 兼論安裝 open source SFrame ● 如何使用 Graphlab Create – 以 SFrame 為例。 ● References
  • 3. 如何安裝 Graphlab Create ● 到官網去填資料。 https://dato.com/download/ ● 如果你有資格申請學術版,可以到 https://dato.com/download/academic.html 申 請。 ● 申請好後會收到 Email ,內有註冊用的 Email 和 產品序號。 ● 先收著,後面很快會到。
  • 4. 安裝 IPython ● 網路上有很多用 pip 安裝的教學,但我都沒成功。 ● 在此分享的是用 ANACONDA 來安裝 – 可以從 https://www.continuum.io/downloads下載安裝。支 援 Windows, Linux 和 Mac. ● 因為 Graphlab create 要求 Python 2.7, 因此請選擇 2.7 版本來安裝。 ● 安裝完後, console 下就有 conda 這個 command 了。
  • 5. 安裝 Graphlab Create - Windows ● 前提:已經安裝好 ANACONDA 。 ● 如果是 Windows 環境,就直接下載 Installer 。 – https://dato.com/download/install-graphlab-create.html – 選擇 Windows 的 tab. – 如果你在前一頁安裝 ANACONDA 不順利,用這個安 裝比較簡單。 ● 安裝完要使用前面註冊的 Email 和產品序號來開 啟它。
  • 6. 安裝 Graphlab Create - Linux ● 確定有沒有 Python 2.7.x 環境。 ● 確定 pip 的版本大於 7 。 # Create a new conda environment with Python 2.7.x conda create -n dato-env python=2.7 anaconda # Activate the conda environment source activate dato-env # Ensure pip is updated to the latest version conda update pip
  • 7. 安裝 Graphlab Create - Linux ● 安裝 Graphlab Create 。 – 粗體字的部分要用之前註冊的 Email 和產品序號來代 入。 ● 確定有裝好 IPython 和 IPython Notebook 。 # Install your licensed copy of GraphLab Create pip install --upgrade --no-cache-dir https://get.graphlab.com/GraphLab- Create/1.10.1/your registered email address here/your product key here/GraphLab- Create-License.tar.gz # Install or update IPython and IPython Notebook conda install ipython-notebook
  • 8. 安裝 open source SFrame ● SFrame 是 Dato 這家公司的一個開源專案。 ● 為什麼要用 SFrame – 使用非常方便。 – 未來若要將程式移到 Grpahlab Create 上,移植的成 本比較小。 ● 在 github 上面的連結。 https://github.com/dato-code/SFrame
  • 9. 安裝 open source SFrame ● 前提: 沒有安裝 Graphlab Create 。 ● 依照投影片第 4 頁的方法安裝好 IPython 和第 6 頁確定有 pip 。 ● 有可能會有些 dependency ,就看 error log 有缺 什麼就裝什麼。 pip install -U sframe
  • 10. 如何使用 Graphlab Create ● 前提 1 :會 IPython notebook 的基本操作。 ● 前提 2 :會 Python 的基本語法。 ● 啟動 Graphlab Create 。 – Windows : 直接雙點桌面上 Dato 圖示。會如下圖, 二個啟動方式, 一個是 Python console , 另一個是 IPython notebook 。
  • 11. 如何使用 Graphlab Create ● Linux – 在 console 下。 – 會看到以下的輸出。 $ source activate dato-env discarding /home/zylix/anaconda2/bin from PATH prepending /home/zylix/anaconda2/envs/dato-env/bin to PATH (dato-env)zylix@zylix-Shark-Bay:~$
  • 12. 使用 Graphlab Create - SFrame ● Graphlab 的 SFrame 支援許多資料格式。 – csv file (comma separated value) – sframe directory archive (A directory where an sframe was saved previously) – general text file (with csv parsing options, See read_csv()) – a Python dictionary – pandas.DataFrame – JSON – Apache Avro – PySpark RDD
  • 13. 使用 Graphlab Create - SFrame ● 我們以較常見的 CSV 格式為例。 ● 假設有一個欄位為 ['First Name', 'Last Name', 'Country', 'age'] 的 csv 檔。檔案名稱為 people- example.csv ● 用 SFrame 讀入。 import graphlab sf = graphlab.Sframe('people-example.csv') sf # 看前幾筆資料 sf.column_names() # 看欄位名稱
  • 14. 使用 Graphlab Create - SFrame ● 顯示出每欄的資料結構。 ● 流灠器會跳出另一個 tab 做出很精緻的資料結構 分析。 sf.show()
  • 15. 使用 Graphlab Create - SFrame ● 如果不想要另外跳出一個 tab ,要顯示在同一個 頁面, 則如以下: ● 畫面如下: graphlab.canvas.set_target('ipynb') sf.show(view="Summary")
  • 16. 使用 Graphlab Create - SFrame ● 其他的顯示方法。 ● 列出各欄的資料以及對欄位做運算。 – 對欄位資料做運算。 sf.show(view="Bar Chart", x="First Name", y="age") sf['age'].show(view='Categorical') sf['Country'] sf['age'] sf['age'].mean() sf['age'].max() sf['age'] * sf['age'] # 求每個年齡的平方
  • 17. 使用 Graphlab Create - SFrame ● 要新增一個欄位,例如 Full name 。 ● ● 會得到以下。 sf['Full Name'] = sf['First Name'] + ' ' + sf['Last Name'] sf
  • 18. 使用 Graphlab Create - SFrame ● 使用 Python 的 apply() ,可以批次處理整欄的資 料。 ● 例如:要把國家名稱的 TW, ”罝換成 Taiwan” ● 先把 function 寫好。 def transform_country(country): if country == 'USA': return 'United States' else: return country
  • 19. 使用 Graphlab Create - SFrame ● 先做 function 的單元測試。 ● ● 確定它的輸出是正確的, 也就是 Taiwan. ● 用 apply() 來做批次轉換。 ● 它會把 Country 欄位裡所有的 TW 都置換成 Taiwan 。 ● 事實上 sf['Country'] 在這裡的型別已經是 SArray 了。 transform_country('TW') sf['Country'] = sf['Country'].apply(transform_country)
  • 20. 使用 Open source SFrame ● 和 Graphlab Create 不一樣的地方 import sframe as sf sf.Sframe.read_csv('people-example.csv') # 另外組成一個 SFrame data_set = sf.Sframe({'x1' : feature, 'y': label})
  • 21. References ● SFrame API document: https://dato.com/products/create/docs/generated/gr ● SArray API document: https://dato.com/products/create/docs/generated/gr ● Getting started to SFrame https://dato.com/learn/gallery/notebooks/introductio