COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
機器學習
工具介紹
Tools and Software
of Machine Learning
Will Kuan
官大鈞
in
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
研究IT技術
應用架構與
Solution
Provider
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
Roadmap
 資料視覺化套件及雲端平台介紹
- D3.js、Highcharts、Microsoft SandDance
 資料採礦軟體介紹
- RapidMiner、Orange、SPSS Modeler、
Weka、Microsoft Azure Machine Learning
 NoSQL資料庫介紹
- SQL vs. NoSQL
- MongoDB
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.COPYRIGHT©2015 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
資料視覺化
Visualization
各式資料視覺化套件之介紹:
http://blog.infographics.tw/
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 Open Source
 集結眾人分享的JavaScript 樣本函式庫,包含一整組操縱畫圖很好用
的輔助工具,還有很方便的資料操作模型
 D3.js 的基礎不是在視覺化,而是資料與物件的結合
 優點:彈性大
缺點:實作繁瑣、需先必備Javascript、HTML 、 CSS、SVG 等知識
D3.js
https://d3js.org/
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 大祕寶:
https://github.com/mbostock/d3/wiki/Gallery
 個人Github人際網路互動圖:
http://ghv.artzub.com/#repo=d3&climit=100&user=mbostock
 全球各國歷年資料互動圖:
http://cesiumjs.org/demos/d3.html
 各式基本資料圖表:
https://my.infocaptor.com/free_data_visualization.php
 簡易互動式Dashboard:
http://bl.ocks.org/NPashaP/96447623ef4d342ee09b
D3.js 函式庫
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
來自挪威的小而美軟體公司 Highsoft AS 的產品,利用 jQuery 與
HTML5 技術推出一系列資料視覺化工具 (Data Visualization Tools),目
前有三套固定樣式圖表套件及客製化服務 :
 Hightcharts : 用於繪製一般統計圖表
 Hightstock : 用於繪製金融資訊圖表
 Highmaps : 用於繪製地理圖表
 USE CASES : 為客戶客製化資料視覺化圖表
Highcharts官網URL:
http://www.highcharts.com/
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 微軟今年三月推出的免費資料視覺化工具
https://www.sanddance.ms/
 Web-based 工具,只要打開瀏覽器,上傳一份不論是 txt、csv、
json格式的資料,就可以以不同的方式呈現分析結果。
 可同時觀看整體及個別的數據
SANDDANCE
微軟最新資料視覺化工具
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 Top 26 Data Mining Software:
http://www.predictiveanalyticstoday.com/top-data-mining-software/
 Top 40 Free Data Mining Software:
http://www.predictiveanalyticstoday.com/top-free-data-mining-
software/
 Top 27 Free Data Analysis Software:
http://www.predictiveanalyticstoday.com/top-data-analysis-software/
 Six of the Best Open Source Data Mining Tools
http://thenewstack.io/six-of-the-best-open-source-data-mining-tools/
 5 Free Data Mining Tools
http://www.butleranalytics.com/5-free-data-mining-tools/
Ranking of Analysis Tools
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 RapidMiner
 IBM SPSS Modeler
 KNIME
 Weka
自然語言處理(NLP):NLTK、Python、R、RapidMiner
聯合國專用(UN):DevInfo
商業智慧視覺化工具:SAP Lumira、Think Analytics、Portrait Software、
Oracle Data Mining
簡易資料分析工具:Tanagra、Weka、ELKI、Databionic ESOM Tools
進階資料分析工具:Encog、Viscovery、OpenNN、LIBSVM
Popular Analysis Tools
 R
 Python
 Orange
 SAS Data Mining
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
資料分析工具,為機器學習、資料採礦、文字探勘、預測分析與商業分析
的整合平台環境,並提供資料視覺化的服務
 圖形化介面
 拖曳式分析設計介面
 流程錯誤告知
 供各檔案格式讀寫及外部資料庫連結
 以圖示化紀錄個人ETL工作流程
目前大多資料分析工
具均含有以上之功能RapidMiner官網URL:
https://rapidminer.com/products/studio/
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
資料源選擇
方法選擇
主流程操作平台
資料與分析結果的呈現、
歷史流程紀錄
方法參數設定
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
RapidMiner實作分群範例
使用RapidMiner內建Iris鵑尾花資料集
將Iris資料集拖移至主控台
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
RapidMiner實作分群範例
游標移至資料集物件右方的out半圓,顯示資料集的資料介紹後按F3鍵,
檢視Missings欄位確認個屬性是否有遺失值
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
RapidMiner實作分群範例
輸入”select attributes”,
並將Select Attributes方法物件拖移至主控台
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
RapidMiner實作分群範例
點選資料集的out半圓,將線條連到Select Attributes物件的exa半圓,
連接兩物件使得資料可以進行欄位選取之動作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
RapidMiner實作分群範例
點選Select Attributes進行參數設定,於右方attribute filter type選擇”subset”,
點選attributes欄位的”Select Attributes…”按鈕,將視窗左方的a1至a4選至右方,
並按下Apply
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
RapidMiner實作分群範例
於Operators搜尋cluster,將K-Means功能物件移至主控台,並將Select Attributes物件的
exa半圓與之連結,點選Clustering物件進行參數設定,將k設為3
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
RapidMiner實作分群範例
將Clustering物件的兩個clu半圓與右方的res半圓連結,並按下上方工具列中的RUN按鈕
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
RapidMiner實作分群範例
主畫面跳到Results模式,點選Cluster Model(Clustering)顯示模型結果
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
RapidMiner實作分群範例
點選ExampleSet(Select Attributes)顯示個資料點的分群結果
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
資料分析工具,為機器學習、資料採礦、預測分析與商業分析的整合平
台環境,並提供資料視覺化的服務
 RapidMiner的五項特點均包含
 可串接Python程式碼
 易與各種資料源串接
 建簡易且便利的圖形化介面
Orange官網URL:
http://orange.biolab.si/
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
資料分析工具,為機器學習、資料採礦、文字探勘、預測分析與商業分
析的整合平台環境,並提供基本資料視覺化的服務
 需付費購買
 RapidMiner的五項特點均包含
 易與各種資料源串接
 可與IBM其他軟體串接
 各工作區簡易且易於操作
 可串接個人之R程式碼使用R套件提供之資料視覺化功能
SPSS Modeler
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
以Rencency、Frequency、Monetary來預測客戶回購的可能性。
 Recency 最近一次消費日期
 Frequency 購買頻率
 Monetary 消費金額
概念: 愈是近期有購買記錄的客戶,再度購買的可能性愈大。
過去購買次數愈多的客戶,再度購買的可能性愈大。
過去購買金額愈多的客戶,再度購買的可能性愈大。
RFM
重點發展客戶
重要價值客戶
普通發展客戶
一般價值客戶一般常態客戶
重點挽留客戶
重點常態客戶
一般挽留客戶
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
SPSS Modeler
Personal
SPSS Modeler
Professional
SPSS Modeler
Premium
SPSS Modeler
Gold
建置環境 僅適用於桌機 桌機/伺服器 桌機/伺服器 桌機/伺服器
基本功能 預測
分類
資料分割
關聯式規則
預測
分類
資料分割
關聯式規則
預測
分類
資料分割
關聯式規則
預測
分類
資料分割
關聯式規則
特殊功能 文字探勘
社群網路分析
文字探勘
社群網路分析
擴充功能 決策管理
協同與部署服務
SPSS Modeler各版本之比較
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
Weka官網URL:
http://www.cs.waikato.ac.nz/ml/weka/
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 Explorer:(最常用)
基本Weka探索資料平台
 Experimenter:
提供實驗性比對數據之平台
 Knowledge Flow:
圖形化拖曳式介面,並支援增量學習
 Simple CLI :
可輸入指令操作分析流程
WEKA的資料載入有提供下列方式:
由檔案載入、從網站載入及由資料
庫聯結,其中由檔案載入常用的格
式為ARFF檔
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 ARFF檔案格式(Attribute-Relation File Format)是Weka支援的檔案
格式之一,另一種是使用XML描述的XRFF檔案格式
 .arff 檔案格式解說:
1. 註解 %
2. 表示 data set 的名稱
3. 個欄位屬性的名稱與型態
4. 資料內容
Weka檔案格式
註:如果原始資料中有未知的值,
則可以用問號 ? 來表示
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
點選Open file,選擇剛剛建立的weather.arff檔
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
屬性選擇區
屬性統計描述區屬性篩選處理
分組圖表
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
微軟提供之雲端機器學習平台,包含資料採礦、文字探勘、預測分析與商業分
析、統計分析與資料清理等相關功能,並提供資料視覺化的服務
 RapidMiner的五項特點均包含
 可擴充個人之Python、R程式碼模組
 可擴充個人之OpenCV程式碼模組
 易與各種資料源串接
 免費提供許多樣本實驗及範例資料集
 可與其他使用者互動及合作
操作流程請參考本人的Azure ML Tutorial,放置於公司的Forum和本人的
Github:https://github.com/Willdata/Tutorial
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 無綱要(Schemaless)設計、Not only SQL、No join
 完整的NoSQL分類參考:http://nosql-database.org/
 例:時間序列/串流 資料庫:AXIBASE
http://axibase.com/products/axibase-time-series-database/
NoSQL簡介
資料模型 應用場景
文件導向資料庫
Document-Oriented Database
Web環境下的數據資料
鍵值資料庫
Key-Value Oriented Database
記錄檔系統、內容快取
(主要用於處理大量資料的高存取負載)
列式資料庫
Column-Oriented Database
分散式檔案系統
圖形資料庫
Graph-Oriented Database
社群網路、推薦系統、關係圖譜
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
NoSQL簡介
資料模型 優點 缺點
文件導向資料庫
Document-Oriented Database
資料庫結構要求不嚴格
(Schemaless)
查詢性能不高,
缺乏統一的查詢語法
鍵值資料庫
Key-Value Oriented Database
查詢速度快 資料無結構化
列式資料庫
Column-Oriented Database
查詢速度快,擴充性高,
易於進行分散式擴充
功能相對侷限
圖形資料庫
Graph-Oriented Database
可利用圖形結構相關演算
法(最短路徑、N度關係)
時常需對所有圖形做計算才
能得到所需資訊,且不容易
應用於分散式集群分析
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
Recall: RDB INSERT INTO “客戶”( “2201”, “派大星”, ”男” );
更改資料庫綱要
INSERT INTO “客戶”( “2203”, “喬巴”, ”加拿大” );
CREATE TABLE “客戶”(
“_id” String,
“Name” String,
“Gender” String
);
_id Name Gender
…
_id Name Gender
2201 派大星 男
2202 皮卡丘 男
_id Name Gender Nationality
2201 派大星 男 NULL
2202 皮卡丘 男 NULL
_id Name Gender Nationality
2201 派大星 男 NULL
2202 皮卡丘 男 NULL
2203 喬巴 男 加拿大
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 以XML或JSON文件導入NoSQL概念裡
customers collections
{ “_id”:”2201”, “Name”:”派大星”, “Gender”:”男”, “Interest”:[“發呆”, “吃”] }
{ “_id”:”2202”, “Name”:”皮卡丘”, “Gender”:”男”, “Interest”:[“演戲”] }
{ “_id”:”2203”, “Name”:”托尼托尼喬巴”, “Gender”:”男”}
文件導向資料庫
RDB 文件導向資料庫
資料表 資料表(Table) 集合(Collection)
資料 列(Row) 文件(Document)
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 鍵值資料庫是以Amazon的Dynamo研究論文以及分散式雜湊表為基礎。每一筆
資要包含一組鍵值對(Key-Value),在key與value之間建立映射關係,透過key可
以直接存取value,進而進行基本的操作。
customers bucket
{ key:”<2201_Name>”, value:”派大星” }
{ key:“<2201_Gender>”, value:”男” }
{ key:“<2201_Interest>”, value:“發呆, 吃” }
{ key:”<2202_Name>”, value:”皮卡丘” }
{ key:“<2202_Gender>”, value:”男” }
{ key:“<2202_Interest>”, value:“演戲” }
鍵值資料庫
RDB 鍵值資料庫
資料表 資料表(Table) 桶(Bucket)
資料 列(Row) 鍵值對(Key-Value)
第1筆鍵值對(Key-Value)
第2筆鍵值對(Key-Value)
…
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 列式資料庫是以列儲存,將同一列資料存在一起。此類資料庫如
Apache Cassandra、Google BigTable、Hadoop Hbase
customers Column Family
列式資料庫
RDB 列式資料庫
資料表 資料表(Table) 欄位群(Column Family)
資料 列(Row) 列(Row)
_id Name
2201 派大星
2202 皮卡丘
2203 布魯托
【姓名】欄位資料表
_id Gender
2201 男
2202 男
2203 男
【性別】欄位資料表
_id 興趣
2201 發呆、吃
2202 演戲
【興趣】欄位資料表
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 圖形資料庫是採用圖結構的概念來儲存資料,並利用圖結構相關演算
法提高性能。此類代表如Neo4j http://neo4j.com/
 RDB:
圖形資料庫
RDB 圖形資料庫
資料表 資料表(Table) 節點(Node)
資料 列(Row) 節點的屬性(Attribute)
Cus_id Cus_name Gender
2201 派大星 男
2202 皮卡丘 男
2203 布魯托 男
Prod_id Cus_id Status
22001 2201 加購
22001 2202 退貨
22001 2203 出貨中
Seller_id Seller_name
1101 安納金
Prod_id Prod_name
22001 R2D2
Seller_id Prod_id
1101 22001
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 圖形資料庫:
派大星
R2D2皮卡丘
布魯托
加購
退貨
出貨中
安納金
販賣
延伸:
http://www.ithome.com.tw/news/98285
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 MongoDB是用來處理大數據級的資料庫,而他是以文件導向的方式
儲存的資料庫
 沒有Schema限制,不過雖然有這樣的彈性還是建議用Relation
DataBase的設定概念來設計MongoDB資料庫
 MongoDB Cloud Manager:
應用程式的效能時常倚靠資料庫,MongoDB提供的整合雲端管
理者服務可以多面向監控資料庫,並以儀表板等視覺化呈現
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
MongoDB Cloud Manager
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
MongoDB自2009年推出第一個版本後,已有7年之久,且算是目前最紅的
NoSQL資料庫,所以其圖形化使用者介面工具(Graphical User Interface,
GUI)自然也不少,以下為幾款較常見的MongoDB專用GUI
 MongoVue :
 MongoHub:
http://www.macupdate.com/app/mac/33918/mongohub (Mac only)
 RockMongo:http://rockmongo.com/
 RoboMongo:https://robomongo.org/
同場加映:MongoBooster http://mongobooster.com/
安裝MongoDB&Robomongo
安裝此款GUI
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
點此URL進入官網下載頁面安裝適合的版本:
https://www.mongodb.org/downloads#production
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
於C:下建立一個空資料夾為MongoDB,於此MongoDB資料夾下建立
一個空資料夾為mongodb,並執行剛剛下載的msi檔,將檔案安裝於此
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
在搜尋欄中輸入”環境變數”,點選編輯帳戶內的環境變數後,選擇
Path變數並點選編輯,於變數值欄位中的文字框後面加上
;C:MongoDBmongodbbin的字串(請直接複製貼上),並點選確定
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
於C:MongoDB下建立空資料夾data和log,開啟一個新空的記事本,
填入以下兩行參數設定(請直接複製貼上)
dbpath=C:MongoDBdatadb
logpath=C:MongoDBlogmongod.log
最後將此txt檔存入C:MongoDB下,並將附檔名改成 .cfg
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
在搜尋欄中輸入cmd開啟命令提示字元,並輸入以下指令:
mongod --config “C:MongoDBmongod.cfg”
(因為ppt的雙引號與cmd裡的不一樣,若複製貼上的話,請重新輸入雙引號)
啟動
註:
啟動MongoDB的方式有兩種,方法一是上述的「使用命令提示字元啟動一個MongoDB服務」,
若電腦重新啟動時需手動以上步驟重啟MongoDB服務,方法二是「使用Windows Service
啟動MongoDB服務」,每次電腦重啟後均會自動啟動MongoDB服務。
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
1. 進入Robomongo網站點選最新版本,下載免費的方案。
2. 接著點選下載的檔案,執行之後依照畫面提示安裝即可。
3. 開啟Robomongo後,準備連接資料庫(需先開啟MongoDB服務),
點選左上方的Create新增一個資料庫連線
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
1. 為了讓大家較容易練習,我已經在mongolab此雲端平台幫大家建立一
個ebizLab的資料庫帳戶,做為大家練習用。若有興趣建立個人的帳號,
可參考此網頁操作:
http://www.codedata.com.tw/database/mongodb-tutorial-1-
setting-up-cloud-env/
2. 以下是ebizLab帳戶的基本登入資料:
Account:ebizLab
User name:ebizpractice
Password:1bizprise
Database:{sales、bookstore}
Address: {ds023520.mlab.com 、ds025180.mlab.com}
Port:{23520、25180}
連接MongoLab資料庫
開頭是數字1
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
Connection設定:
Name欄位表示本機開啟Robomongo時,會看到資料庫連線,可自行
輸入自己容易分辨的名稱,在這裡我用”ebizsales”作為範例。
Address欄位請輸入
ds023520.mlab.com
冒號後的Port請輸入
23520
連接MongoLab資料庫
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
Authentication設定:
點選Perform authentication,並在Database欄位輸入sales
User Name欄位請輸入
ebizpractice
Password欄位請輸入
1bizprise
連接MongoLab資料庫
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
測試資料庫連線:
點選Test,檢測是否可正常連線
連接MongoLab資料庫
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
存取資料庫連線:
點選Save後,檢測是否已存取新增的資料庫連線,接著點選Connect進
行連線
連接MongoLab資料庫
p.s. 請依上述步驟自行新增bookstore資料庫連線
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
Connection設定:
點選左上方的Create後,Address預設為localhost,Port預設為27017,
均不需更改。只需填寫Name欄位中本機資料庫連線的名稱,
Connection參數設定完成後即可點選Test與Save新增本機資料庫連線。
新增本機的 資料庫
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
存取本機資料庫連線:
點選Save後,檢測是否已存取新增的資料庫連線,接著點選Connect進
行連
新增本機的 資料庫
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 NoSQL Database of Microsoft
 Document-oriented
 Friendly SQL query interface
 DocumentDB教學:
http://www.codedata.com.tw/database/azure-documentdb-1-sign-up/
db.books.find({listPrice: {$gte: 50}});
SELECT * FROM books b WHERE b.listPrice >= 50
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 NoSQL supersedes SQL
如同汽車是否可取代船的說法,只因為汽車是較新的科技。NoSQL和SQL資料庫
著重的面向不同,所以兩者都有可能會達到幫助或阻礙的效果。因此,NoSQL
不是SQL的取代方案,只是另一種選擇。
 NoSQL is better / worse than SQL
有些資料適合SQL資料庫,有些資料反而比較適合NoSQL資料庫。不是兩者哪一
種比較好,而是兩者之中,哪一種較適合我們的需求。
Myths
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 SQL vs NoSQL is a clear distinction
漸漸有些SQL資料庫正擴充NoSQL資料庫的特性,而某些NoSQL資料庫也正擁
抱傳統SQL資料庫的優點,所以SQL和NoSQL資料的界線已漸漸不明顯。
 The language/framework determines the database
不是我們使用的程式語言決定我們所需要的資料庫,而是我們的專案需求決定我
們的資料庫。
Myths
popular technology stacks
• LAMP: Linux, Apache, MySQL (SQL), PHP
• MAMP: My Apache, MySQL, PHP
• MEAN: MongoDB (NoSQL), Express, Angular, Node.js
• .NET, IIS and SQL Server
• Java, Apache and Oracle
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.COPYRIGHT©2015 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
網路爬蟲
Web Crawler
 什麼是網路爬蟲
利用HTTP Request抓取網路資料的技術
 為什麼需要爬蟲
若資料庫的內容不充足,或是苦無資料以致無法與別人談資料交 換或合作
時,就可利用此技術將別人的資料庫變成自己的資料庫。 甚至若需要即時性
資料時,無需等待資料庫進行工作排程後才可 獲得最新資料。
 網路爬蟲原理
模擬用戶使用瀏覽器輸入網址並透過HTTP協定中的GET或POST 方法送出
一個請求(Request)到遠端的伺服器(Server),伺服器接 受請求後,就會回
應(Response)並回傳網頁內容(原始碼)的檔案 回來,再經由瀏覽器轉譯後
變成漂亮的網頁。
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
Agent
與特工有些類似,會依
據所給予的任務而進行
抓取。簡言之,一個口
令一個動作,沒有口令
沒有動作。
Spider
像蜘蛛網般可以把所有
偵測到的資料全部抓取,
雖然看似很厲害,但就
如同畫滿螢光筆的課本
跟沒有畫是一樣的。
網路爬蟲
Web Crawler
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
Request
GET index.html HTTP/1.1
Response
HTTP/1.1 200 OK
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 網路爬蟲教學 – 大數學堂
http://www.largitdata.com/course_list/1
 多款開源爬蟲軟體工具之比較
http://www.haixiaol.com/n661984.html
 Kimono雲端爬蟲服務
官網:
https://www.kimonolabs.com/
Google Chrome Extension:
https://chrome.google.com/webstore/detail/kimono/deoaddaob
nieaecelinfdllcgdehimih?utm_source=chrome-ntp-icon
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 雲端爬蟲服務,並能以API的形式提供抓取的資料
 完全不需要寫程式,也不需要會正規表示式
imono
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 進入Kimonolabs網站,點選右上角的Download Desktop App
https://www.kimonolabs.com/
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 點選合適的版本進行下載與安裝。
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 安裝完成後,開啟Kimono,並點選第一步驟的Kimono Desktop
chrome extension
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 進入Chrome線上應用程式商店後,將此擴充功能加到Chrome瀏覽
器中。
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 待Chrome瀏覽器右上角出現Kimono圖示後,則所有安裝步驟均完成。
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 開啟桌面的Kimono應用程式後,開啟Chrome瀏覽器,進入欲擷取資
料的網頁,點選右上角的kimono擴充功能,此時書籤列下方則會出現
kimono的工作列,如下圖所示:
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 點選欲抓取的資料,Kimono會將類型相似的資料一併提供給使用者,
並向使用者確認是否需要擷取,而使用者以打勾和打叉的方式確認。
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 選擇欲擷取的資料後,左上角即出現確定擷取的資料數目。此外,可適
度將欲抓取的資料類型更改名稱,如下圖所示:
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 點選加號(+)即可將欲抓取的資料暫存,並開啟新的欲抓取之資料類型。
再依上述步驟,暫存新資料
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 在右上角的模式選擇中 ,點選中間的模式,即可以標籤的模
式觀看已暫存的資料。
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 在右上角的模式選擇中 ,點選右邊的模式,即可以JSON或
CSV或RSS的模式觀看已暫存的資料。
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 點選右上角的 ,輸入此API的名稱,若尚未完成資料選取,則點
選右上角的 。輸入API的名稱後,選擇抓取資料的排程規劃。
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 點選Create API,創建可擷取該資料的管道。
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 API創建完成後,將顯示以下畫面,接著點選桌面板的Kimono應用程
式。
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 開啟桌面版Kimono後,點選右上角的My APIs選單。若無出現該圖示,
可至左上角功能選單,並依此點選,View > Go To List View
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 開啟API選單頁面後,即可查看已創建的APIs
操作
剛
剛
創
建
成
功
的
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 欲查看API的內容,可點選該API的名稱進入此畫面。DATA PREVIEW
以CSV、RSS或JSON的方式呈現資料。
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 CRAWL SETUP則可執行爬蟲的動作,並觀看爬蟲的狀態。
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
 在MODIFY RESULTS中,可撰寫個人的Javascript Function,以作為
滿足個人需求的篩選或調整。
操作
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.

機器學習工具介紹 / 机器学习工具介绍 Demos for Machine Learning Tools

  • 1.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 機器學習 工具介紹 Tools and Software of Machine Learning Will Kuan 官大鈞 in
  • 2.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 研究IT技術 應用架構與 Solution Provider
  • 3.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. Roadmap  資料視覺化套件及雲端平台介紹 - D3.js、Highcharts、Microsoft SandDance  資料採礦軟體介紹 - RapidMiner、Orange、SPSS Modeler、 Weka、Microsoft Azure Machine Learning  NoSQL資料庫介紹 - SQL vs. NoSQL - MongoDB
  • 4.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.
  • 5.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.COPYRIGHT©2015 eBizprise Inc. & eBizprise Technology (TJ) Ltd. 資料視覺化 Visualization 各式資料視覺化套件之介紹: http://blog.infographics.tw/
  • 6.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  Open Source  集結眾人分享的JavaScript 樣本函式庫,包含一整組操縱畫圖很好用 的輔助工具,還有很方便的資料操作模型  D3.js 的基礎不是在視覺化,而是資料與物件的結合  優點:彈性大 缺點:實作繁瑣、需先必備Javascript、HTML 、 CSS、SVG 等知識 D3.js https://d3js.org/
  • 7.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  大祕寶: https://github.com/mbostock/d3/wiki/Gallery  個人Github人際網路互動圖: http://ghv.artzub.com/#repo=d3&climit=100&user=mbostock  全球各國歷年資料互動圖: http://cesiumjs.org/demos/d3.html  各式基本資料圖表: https://my.infocaptor.com/free_data_visualization.php  簡易互動式Dashboard: http://bl.ocks.org/NPashaP/96447623ef4d342ee09b D3.js 函式庫
  • 8.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 來自挪威的小而美軟體公司 Highsoft AS 的產品,利用 jQuery 與 HTML5 技術推出一系列資料視覺化工具 (Data Visualization Tools),目 前有三套固定樣式圖表套件及客製化服務 :  Hightcharts : 用於繪製一般統計圖表  Hightstock : 用於繪製金融資訊圖表  Highmaps : 用於繪製地理圖表  USE CASES : 為客戶客製化資料視覺化圖表 Highcharts官網URL: http://www.highcharts.com/
  • 9.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  微軟今年三月推出的免費資料視覺化工具 https://www.sanddance.ms/  Web-based 工具,只要打開瀏覽器,上傳一份不論是 txt、csv、 json格式的資料,就可以以不同的方式呈現分析結果。  可同時觀看整體及個別的數據 SANDDANCE 微軟最新資料視覺化工具
  • 10.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  Top 26 Data Mining Software: http://www.predictiveanalyticstoday.com/top-data-mining-software/  Top 40 Free Data Mining Software: http://www.predictiveanalyticstoday.com/top-free-data-mining- software/  Top 27 Free Data Analysis Software: http://www.predictiveanalyticstoday.com/top-data-analysis-software/  Six of the Best Open Source Data Mining Tools http://thenewstack.io/six-of-the-best-open-source-data-mining-tools/  5 Free Data Mining Tools http://www.butleranalytics.com/5-free-data-mining-tools/ Ranking of Analysis Tools
  • 11.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  RapidMiner  IBM SPSS Modeler  KNIME  Weka 自然語言處理(NLP):NLTK、Python、R、RapidMiner 聯合國專用(UN):DevInfo 商業智慧視覺化工具:SAP Lumira、Think Analytics、Portrait Software、 Oracle Data Mining 簡易資料分析工具:Tanagra、Weka、ELKI、Databionic ESOM Tools 進階資料分析工具:Encog、Viscovery、OpenNN、LIBSVM Popular Analysis Tools  R  Python  Orange  SAS Data Mining
  • 12.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 資料分析工具,為機器學習、資料採礦、文字探勘、預測分析與商業分析 的整合平台環境,並提供資料視覺化的服務  圖形化介面  拖曳式分析設計介面  流程錯誤告知  供各檔案格式讀寫及外部資料庫連結  以圖示化紀錄個人ETL工作流程 目前大多資料分析工 具均含有以上之功能RapidMiner官網URL: https://rapidminer.com/products/studio/
  • 13.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 資料源選擇 方法選擇 主流程操作平台 資料與分析結果的呈現、 歷史流程紀錄 方法參數設定
  • 14.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. RapidMiner實作分群範例 使用RapidMiner內建Iris鵑尾花資料集 將Iris資料集拖移至主控台
  • 15.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. RapidMiner實作分群範例 游標移至資料集物件右方的out半圓,顯示資料集的資料介紹後按F3鍵, 檢視Missings欄位確認個屬性是否有遺失值
  • 16.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. RapidMiner實作分群範例 輸入”select attributes”, 並將Select Attributes方法物件拖移至主控台
  • 17.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. RapidMiner實作分群範例 點選資料集的out半圓,將線條連到Select Attributes物件的exa半圓, 連接兩物件使得資料可以進行欄位選取之動作
  • 18.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. RapidMiner實作分群範例 點選Select Attributes進行參數設定,於右方attribute filter type選擇”subset”, 點選attributes欄位的”Select Attributes…”按鈕,將視窗左方的a1至a4選至右方, 並按下Apply
  • 19.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. RapidMiner實作分群範例 於Operators搜尋cluster,將K-Means功能物件移至主控台,並將Select Attributes物件的 exa半圓與之連結,點選Clustering物件進行參數設定,將k設為3
  • 20.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. RapidMiner實作分群範例 將Clustering物件的兩個clu半圓與右方的res半圓連結,並按下上方工具列中的RUN按鈕
  • 21.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. RapidMiner實作分群範例 主畫面跳到Results模式,點選Cluster Model(Clustering)顯示模型結果
  • 22.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. RapidMiner實作分群範例 點選ExampleSet(Select Attributes)顯示個資料點的分群結果
  • 23.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 資料分析工具,為機器學習、資料採礦、預測分析與商業分析的整合平 台環境,並提供資料視覺化的服務  RapidMiner的五項特點均包含  可串接Python程式碼  易與各種資料源串接  建簡易且便利的圖形化介面 Orange官網URL: http://orange.biolab.si/
  • 24.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 資料分析工具,為機器學習、資料採礦、文字探勘、預測分析與商業分 析的整合平台環境,並提供基本資料視覺化的服務  需付費購買  RapidMiner的五項特點均包含  易與各種資料源串接  可與IBM其他軟體串接  各工作區簡易且易於操作  可串接個人之R程式碼使用R套件提供之資料視覺化功能 SPSS Modeler
  • 25.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 以Rencency、Frequency、Monetary來預測客戶回購的可能性。  Recency 最近一次消費日期  Frequency 購買頻率  Monetary 消費金額 概念: 愈是近期有購買記錄的客戶,再度購買的可能性愈大。 過去購買次數愈多的客戶,再度購買的可能性愈大。 過去購買金額愈多的客戶,再度購買的可能性愈大。 RFM 重點發展客戶 重要價值客戶 普通發展客戶 一般價值客戶一般常態客戶 重點挽留客戶 重點常態客戶 一般挽留客戶
  • 26.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. SPSS Modeler Personal SPSS Modeler Professional SPSS Modeler Premium SPSS Modeler Gold 建置環境 僅適用於桌機 桌機/伺服器 桌機/伺服器 桌機/伺服器 基本功能 預測 分類 資料分割 關聯式規則 預測 分類 資料分割 關聯式規則 預測 分類 資料分割 關聯式規則 預測 分類 資料分割 關聯式規則 特殊功能 文字探勘 社群網路分析 文字探勘 社群網路分析 擴充功能 決策管理 協同與部署服務 SPSS Modeler各版本之比較
  • 27.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. Weka官網URL: http://www.cs.waikato.ac.nz/ml/weka/
  • 28.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  Explorer:(最常用) 基本Weka探索資料平台  Experimenter: 提供實驗性比對數據之平台  Knowledge Flow: 圖形化拖曳式介面,並支援增量學習  Simple CLI : 可輸入指令操作分析流程 WEKA的資料載入有提供下列方式: 由檔案載入、從網站載入及由資料 庫聯結,其中由檔案載入常用的格 式為ARFF檔
  • 29.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  ARFF檔案格式(Attribute-Relation File Format)是Weka支援的檔案 格式之一,另一種是使用XML描述的XRFF檔案格式  .arff 檔案格式解說: 1. 註解 % 2. 表示 data set 的名稱 3. 個欄位屬性的名稱與型態 4. 資料內容 Weka檔案格式 註:如果原始資料中有未知的值, 則可以用問號 ? 來表示
  • 30.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 點選Open file,選擇剛剛建立的weather.arff檔
  • 31.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 屬性選擇區 屬性統計描述區屬性篩選處理 分組圖表
  • 32.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 微軟提供之雲端機器學習平台,包含資料採礦、文字探勘、預測分析與商業分 析、統計分析與資料清理等相關功能,並提供資料視覺化的服務  RapidMiner的五項特點均包含  可擴充個人之Python、R程式碼模組  可擴充個人之OpenCV程式碼模組  易與各種資料源串接  免費提供許多樣本實驗及範例資料集  可與其他使用者互動及合作 操作流程請參考本人的Azure ML Tutorial,放置於公司的Forum和本人的 Github:https://github.com/Willdata/Tutorial
  • 33.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  無綱要(Schemaless)設計、Not only SQL、No join  完整的NoSQL分類參考:http://nosql-database.org/  例:時間序列/串流 資料庫:AXIBASE http://axibase.com/products/axibase-time-series-database/ NoSQL簡介 資料模型 應用場景 文件導向資料庫 Document-Oriented Database Web環境下的數據資料 鍵值資料庫 Key-Value Oriented Database 記錄檔系統、內容快取 (主要用於處理大量資料的高存取負載) 列式資料庫 Column-Oriented Database 分散式檔案系統 圖形資料庫 Graph-Oriented Database 社群網路、推薦系統、關係圖譜
  • 34.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. NoSQL簡介 資料模型 優點 缺點 文件導向資料庫 Document-Oriented Database 資料庫結構要求不嚴格 (Schemaless) 查詢性能不高, 缺乏統一的查詢語法 鍵值資料庫 Key-Value Oriented Database 查詢速度快 資料無結構化 列式資料庫 Column-Oriented Database 查詢速度快,擴充性高, 易於進行分散式擴充 功能相對侷限 圖形資料庫 Graph-Oriented Database 可利用圖形結構相關演算 法(最短路徑、N度關係) 時常需對所有圖形做計算才 能得到所需資訊,且不容易 應用於分散式集群分析
  • 35.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. Recall: RDB INSERT INTO “客戶”( “2201”, “派大星”, ”男” ); 更改資料庫綱要 INSERT INTO “客戶”( “2203”, “喬巴”, ”加拿大” ); CREATE TABLE “客戶”( “_id” String, “Name” String, “Gender” String ); _id Name Gender … _id Name Gender 2201 派大星 男 2202 皮卡丘 男 _id Name Gender Nationality 2201 派大星 男 NULL 2202 皮卡丘 男 NULL _id Name Gender Nationality 2201 派大星 男 NULL 2202 皮卡丘 男 NULL 2203 喬巴 男 加拿大
  • 36.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  以XML或JSON文件導入NoSQL概念裡 customers collections { “_id”:”2201”, “Name”:”派大星”, “Gender”:”男”, “Interest”:[“發呆”, “吃”] } { “_id”:”2202”, “Name”:”皮卡丘”, “Gender”:”男”, “Interest”:[“演戲”] } { “_id”:”2203”, “Name”:”托尼托尼喬巴”, “Gender”:”男”} 文件導向資料庫 RDB 文件導向資料庫 資料表 資料表(Table) 集合(Collection) 資料 列(Row) 文件(Document)
  • 37.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  鍵值資料庫是以Amazon的Dynamo研究論文以及分散式雜湊表為基礎。每一筆 資要包含一組鍵值對(Key-Value),在key與value之間建立映射關係,透過key可 以直接存取value,進而進行基本的操作。 customers bucket { key:”<2201_Name>”, value:”派大星” } { key:“<2201_Gender>”, value:”男” } { key:“<2201_Interest>”, value:“發呆, 吃” } { key:”<2202_Name>”, value:”皮卡丘” } { key:“<2202_Gender>”, value:”男” } { key:“<2202_Interest>”, value:“演戲” } 鍵值資料庫 RDB 鍵值資料庫 資料表 資料表(Table) 桶(Bucket) 資料 列(Row) 鍵值對(Key-Value) 第1筆鍵值對(Key-Value) 第2筆鍵值對(Key-Value) …
  • 38.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  列式資料庫是以列儲存,將同一列資料存在一起。此類資料庫如 Apache Cassandra、Google BigTable、Hadoop Hbase customers Column Family 列式資料庫 RDB 列式資料庫 資料表 資料表(Table) 欄位群(Column Family) 資料 列(Row) 列(Row) _id Name 2201 派大星 2202 皮卡丘 2203 布魯托 【姓名】欄位資料表 _id Gender 2201 男 2202 男 2203 男 【性別】欄位資料表 _id 興趣 2201 發呆、吃 2202 演戲 【興趣】欄位資料表
  • 39.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  圖形資料庫是採用圖結構的概念來儲存資料,並利用圖結構相關演算 法提高性能。此類代表如Neo4j http://neo4j.com/  RDB: 圖形資料庫 RDB 圖形資料庫 資料表 資料表(Table) 節點(Node) 資料 列(Row) 節點的屬性(Attribute) Cus_id Cus_name Gender 2201 派大星 男 2202 皮卡丘 男 2203 布魯托 男 Prod_id Cus_id Status 22001 2201 加購 22001 2202 退貨 22001 2203 出貨中 Seller_id Seller_name 1101 安納金 Prod_id Prod_name 22001 R2D2 Seller_id Prod_id 1101 22001
  • 40.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  圖形資料庫: 派大星 R2D2皮卡丘 布魯托 加購 退貨 出貨中 安納金 販賣 延伸: http://www.ithome.com.tw/news/98285
  • 41.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  MongoDB是用來處理大數據級的資料庫,而他是以文件導向的方式 儲存的資料庫  沒有Schema限制,不過雖然有這樣的彈性還是建議用Relation DataBase的設定概念來設計MongoDB資料庫  MongoDB Cloud Manager: 應用程式的效能時常倚靠資料庫,MongoDB提供的整合雲端管 理者服務可以多面向監控資料庫,並以儀表板等視覺化呈現
  • 42.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. MongoDB Cloud Manager
  • 43.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. MongoDB自2009年推出第一個版本後,已有7年之久,且算是目前最紅的 NoSQL資料庫,所以其圖形化使用者介面工具(Graphical User Interface, GUI)自然也不少,以下為幾款較常見的MongoDB專用GUI  MongoVue :  MongoHub: http://www.macupdate.com/app/mac/33918/mongohub (Mac only)  RockMongo:http://rockmongo.com/  RoboMongo:https://robomongo.org/ 同場加映:MongoBooster http://mongobooster.com/ 安裝MongoDB&Robomongo 安裝此款GUI
  • 44.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 點此URL進入官網下載頁面安裝適合的版本: https://www.mongodb.org/downloads#production 安裝
  • 45.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 於C:下建立一個空資料夾為MongoDB,於此MongoDB資料夾下建立 一個空資料夾為mongodb,並執行剛剛下載的msi檔,將檔案安裝於此 安裝
  • 46.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 在搜尋欄中輸入”環境變數”,點選編輯帳戶內的環境變數後,選擇 Path變數並點選編輯,於變數值欄位中的文字框後面加上 ;C:MongoDBmongodbbin的字串(請直接複製貼上),並點選確定 安裝
  • 47.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 於C:MongoDB下建立空資料夾data和log,開啟一個新空的記事本, 填入以下兩行參數設定(請直接複製貼上) dbpath=C:MongoDBdatadb logpath=C:MongoDBlogmongod.log 最後將此txt檔存入C:MongoDB下,並將附檔名改成 .cfg 安裝
  • 48.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 在搜尋欄中輸入cmd開啟命令提示字元,並輸入以下指令: mongod --config “C:MongoDBmongod.cfg” (因為ppt的雙引號與cmd裡的不一樣,若複製貼上的話,請重新輸入雙引號) 啟動 註: 啟動MongoDB的方式有兩種,方法一是上述的「使用命令提示字元啟動一個MongoDB服務」, 若電腦重新啟動時需手動以上步驟重啟MongoDB服務,方法二是「使用Windows Service 啟動MongoDB服務」,每次電腦重啟後均會自動啟動MongoDB服務。
  • 49.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 1. 進入Robomongo網站點選最新版本,下載免費的方案。 2. 接著點選下載的檔案,執行之後依照畫面提示安裝即可。 3. 開啟Robomongo後,準備連接資料庫(需先開啟MongoDB服務), 點選左上方的Create新增一個資料庫連線 安裝
  • 50.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 1. 為了讓大家較容易練習,我已經在mongolab此雲端平台幫大家建立一 個ebizLab的資料庫帳戶,做為大家練習用。若有興趣建立個人的帳號, 可參考此網頁操作: http://www.codedata.com.tw/database/mongodb-tutorial-1- setting-up-cloud-env/ 2. 以下是ebizLab帳戶的基本登入資料: Account:ebizLab User name:ebizpractice Password:1bizprise Database:{sales、bookstore} Address: {ds023520.mlab.com 、ds025180.mlab.com} Port:{23520、25180} 連接MongoLab資料庫 開頭是數字1
  • 51.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. Connection設定: Name欄位表示本機開啟Robomongo時,會看到資料庫連線,可自行 輸入自己容易分辨的名稱,在這裡我用”ebizsales”作為範例。 Address欄位請輸入 ds023520.mlab.com 冒號後的Port請輸入 23520 連接MongoLab資料庫
  • 52.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. Authentication設定: 點選Perform authentication,並在Database欄位輸入sales User Name欄位請輸入 ebizpractice Password欄位請輸入 1bizprise 連接MongoLab資料庫
  • 53.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 測試資料庫連線: 點選Test,檢測是否可正常連線 連接MongoLab資料庫
  • 54.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 存取資料庫連線: 點選Save後,檢測是否已存取新增的資料庫連線,接著點選Connect進 行連線 連接MongoLab資料庫 p.s. 請依上述步驟自行新增bookstore資料庫連線
  • 55.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. Connection設定: 點選左上方的Create後,Address預設為localhost,Port預設為27017, 均不需更改。只需填寫Name欄位中本機資料庫連線的名稱, Connection參數設定完成後即可點選Test與Save新增本機資料庫連線。 新增本機的 資料庫
  • 56.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. 存取本機資料庫連線: 點選Save後,檢測是否已存取新增的資料庫連線,接著點選Connect進 行連 新增本機的 資料庫
  • 57.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  NoSQL Database of Microsoft  Document-oriented  Friendly SQL query interface  DocumentDB教學: http://www.codedata.com.tw/database/azure-documentdb-1-sign-up/ db.books.find({listPrice: {$gte: 50}}); SELECT * FROM books b WHERE b.listPrice >= 50
  • 58.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  NoSQL supersedes SQL 如同汽車是否可取代船的說法,只因為汽車是較新的科技。NoSQL和SQL資料庫 著重的面向不同,所以兩者都有可能會達到幫助或阻礙的效果。因此,NoSQL 不是SQL的取代方案,只是另一種選擇。  NoSQL is better / worse than SQL 有些資料適合SQL資料庫,有些資料反而比較適合NoSQL資料庫。不是兩者哪一 種比較好,而是兩者之中,哪一種較適合我們的需求。 Myths
  • 59.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  SQL vs NoSQL is a clear distinction 漸漸有些SQL資料庫正擴充NoSQL資料庫的特性,而某些NoSQL資料庫也正擁 抱傳統SQL資料庫的優點,所以SQL和NoSQL資料的界線已漸漸不明顯。  The language/framework determines the database 不是我們使用的程式語言決定我們所需要的資料庫,而是我們的專案需求決定我 們的資料庫。 Myths popular technology stacks • LAMP: Linux, Apache, MySQL (SQL), PHP • MAMP: My Apache, MySQL, PHP • MEAN: MongoDB (NoSQL), Express, Angular, Node.js • .NET, IIS and SQL Server • Java, Apache and Oracle
  • 60.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.COPYRIGHT©2015 eBizprise Inc. & eBizprise Technology (TJ) Ltd. 網路爬蟲 Web Crawler  什麼是網路爬蟲 利用HTTP Request抓取網路資料的技術  為什麼需要爬蟲 若資料庫的內容不充足,或是苦無資料以致無法與別人談資料交 換或合作 時,就可利用此技術將別人的資料庫變成自己的資料庫。 甚至若需要即時性 資料時,無需等待資料庫進行工作排程後才可 獲得最新資料。  網路爬蟲原理 模擬用戶使用瀏覽器輸入網址並透過HTTP協定中的GET或POST 方法送出 一個請求(Request)到遠端的伺服器(Server),伺服器接 受請求後,就會回 應(Response)並回傳網頁內容(原始碼)的檔案 回來,再經由瀏覽器轉譯後 變成漂亮的網頁。
  • 61.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. Agent 與特工有些類似,會依 據所給予的任務而進行 抓取。簡言之,一個口 令一個動作,沒有口令 沒有動作。 Spider 像蜘蛛網般可以把所有 偵測到的資料全部抓取, 雖然看似很厲害,但就 如同畫滿螢光筆的課本 跟沒有畫是一樣的。 網路爬蟲 Web Crawler
  • 62.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd. Request GET index.html HTTP/1.1 Response HTTP/1.1 200 OK
  • 63.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.
  • 64.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.
  • 65.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  網路爬蟲教學 – 大數學堂 http://www.largitdata.com/course_list/1  多款開源爬蟲軟體工具之比較 http://www.haixiaol.com/n661984.html  Kimono雲端爬蟲服務 官網: https://www.kimonolabs.com/ Google Chrome Extension: https://chrome.google.com/webstore/detail/kimono/deoaddaob nieaecelinfdllcgdehimih?utm_source=chrome-ntp-icon
  • 66.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  雲端爬蟲服務,並能以API的形式提供抓取的資料  完全不需要寫程式,也不需要會正規表示式 imono
  • 67.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  進入Kimonolabs網站,點選右上角的Download Desktop App https://www.kimonolabs.com/ 安裝
  • 68.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  點選合適的版本進行下載與安裝。 安裝
  • 69.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  安裝完成後,開啟Kimono,並點選第一步驟的Kimono Desktop chrome extension 安裝
  • 70.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  進入Chrome線上應用程式商店後,將此擴充功能加到Chrome瀏覽 器中。 安裝
  • 71.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  待Chrome瀏覽器右上角出現Kimono圖示後,則所有安裝步驟均完成。 安裝
  • 72.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  開啟桌面的Kimono應用程式後,開啟Chrome瀏覽器,進入欲擷取資 料的網頁,點選右上角的kimono擴充功能,此時書籤列下方則會出現 kimono的工作列,如下圖所示: 操作
  • 73.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  點選欲抓取的資料,Kimono會將類型相似的資料一併提供給使用者, 並向使用者確認是否需要擷取,而使用者以打勾和打叉的方式確認。 操作
  • 74.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  選擇欲擷取的資料後,左上角即出現確定擷取的資料數目。此外,可適 度將欲抓取的資料類型更改名稱,如下圖所示: 操作
  • 75.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  點選加號(+)即可將欲抓取的資料暫存,並開啟新的欲抓取之資料類型。 再依上述步驟,暫存新資料 操作
  • 76.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  在右上角的模式選擇中 ,點選中間的模式,即可以標籤的模 式觀看已暫存的資料。 操作
  • 77.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  在右上角的模式選擇中 ,點選右邊的模式,即可以JSON或 CSV或RSS的模式觀看已暫存的資料。 操作
  • 78.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  點選右上角的 ,輸入此API的名稱,若尚未完成資料選取,則點 選右上角的 。輸入API的名稱後,選擇抓取資料的排程規劃。 操作
  • 79.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  點選Create API,創建可擷取該資料的管道。 操作
  • 80.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  API創建完成後,將顯示以下畫面,接著點選桌面板的Kimono應用程 式。 操作
  • 81.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  開啟桌面版Kimono後,點選右上角的My APIs選單。若無出現該圖示, 可至左上角功能選單,並依此點選,View > Go To List View 操作
  • 82.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  開啟API選單頁面後,即可查看已創建的APIs 操作 剛 剛 創 建 成 功 的
  • 83.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  欲查看API的內容,可點選該API的名稱進入此畫面。DATA PREVIEW 以CSV、RSS或JSON的方式呈現資料。 操作
  • 84.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  CRAWL SETUP則可執行爬蟲的動作,並觀看爬蟲的狀態。 操作
  • 85.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.  在MODIFY RESULTS中,可撰寫個人的Javascript Function,以作為 滿足個人需求的篩選或調整。 操作
  • 86.
    COPYRIGHT©2016 eBizprise Inc.& eBizprise Technology (TJ) Ltd.