Upload
ta-chun-kuan
View
844
Download
6
Embed Size (px)
Citation preview
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
機器學習工具介紹
Tools and Softwareof 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.jshttps://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 Toolshttp://thenewstack.io/six-of-the-best-open-source-data-mining-tools /
5 Free Data Mining Toolshttp://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 Gender2201 派大星 男2202 皮卡丘 男
_id Name Gender Nationality2201 派大星 男 NULL
2202 皮卡丘 男 NULL
_id Name Gender Nationality2201 派大星 男 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 Name2201 派大星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_na
me1101 安納金
Prod_id Prod_name
22001 R2D2Seller_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:\MongoDB\mongodb\bin 的字串 ( 請直接複製貼上 ) ,並點選確定
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
於 C:\MongoDB下建立空資料夾 data 和 log ,開啟一個新空的記事本,填入以下兩行參數設定 ( 請直接複製貼上 )dbpath=C:\MongoDB\data\dblogpath=C:\MongoDB\log\mongod.log最後將此 txt 檔存入 C:\MongoDB下,並將附檔名改成 .cfg
安裝
COPYRIGHT©2016 eBizprise Inc. & eBizprise Technology (TJ) Ltd.
在搜尋欄中輸入 cmd 開啟命令提示字元,並輸入以下指令:mongod --config “C:\MongoDB\mongod.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 : ebizLabUser name : ebizpracticePassword : 1bizpriseDatabase : {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/deoaddaobnieaecelinfdllcgdehimih?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.