66

20160121 データサイエンティスト協会 木曜セミナー #5

Embed Size (px)

Citation preview

Page 1: 20160121 データサイエンティスト協会 木曜セミナー #5
Page 2: 20160121 データサイエンティスト協会 木曜セミナー #5

2

Page 3: 20160121 データサイエンティスト協会 木曜セミナー #5

3

Page 4: 20160121 データサイエンティスト協会 木曜セミナー #5

4

マイクロソフトのデータ分析基盤

利用事例

データ分析のため前処理と分析バッチ処理- Azure Data Lake Analytics

R スクリプトを並列実行 - Microsoft R Server

機械学習を具体的な API として利用

- Project Oxford / Azure Machine Learning

まとめ

1.

2.

3.

4.

5.

6.

10 分

15 分

20 分

20 分

20 分

5 分

Page 5: 20160121 データサイエンティスト協会 木曜セミナー #5
Page 6: 20160121 データサイエンティスト協会 木曜セミナー #5

6

開発言語

Microsoft Azure

Page 7: 20160121 データサイエンティスト協会 木曜セミナー #5

7

米国中部Iowa

米国西部California

北ヨーロッパIreland

米国東部Virginia

米国東部2Virginia米国政府

Virginia

米国中北部Illinois

米国政府Iowa

米国中南部Texas

南ブラジルSao Paulo

西ヨーロッパNetherlands

北中国 *Beijing

南中国 *Shanghai

東日本Saitama

西日本Osaka

南インドChennai

東アジアHong Kong

東南アジアSingapore

東南オーストラリアVictoria

東オーストラリアNew South Wales

中央インドPune

カナダ東部Quebec City

カナダ中部Toronto

西インドMumbai

(2015年 12月現在)

稼働中 構築中 * Operated by 21Vianet

100カ所以上のデータセンター ネットワーク網が全世界でトップスリーの一つ AWS の2倍、Google 6倍の地域サポート G Series – 最大 VM 提供開始 – 32 コア, 448GB RAM, SSD…

22 の地域でサービス中、28 の地域まで拡大予定

ドイツ ×2Magdeburg & Frankfurt

UK ×2

Page 8: 20160121 データサイエンティスト協会 木曜セミナー #5

8

MachineLearning

Stream AnalyticsSQL Data Ware House

/ SQL Database/ DocumentDB

IoT Hub /Event Hub

各種デバイス

Data FactoryData Lake Store

Storage(Blob / Table / Queue)

Data Lake Analytics

Power BI

Cortana Analytics Suite (コルタナ アナリティクス スイート) * IoT Hub と R Server 除く

一部サービス含む

MicrosoftR Server

HDInsight

ProjectOxford

Data Catalog

Page 9: 20160121 データサイエンティスト協会 木曜セミナー #5

9価値

Page 10: 20160121 データサイエンティスト協会 木曜セミナー #5
Page 11: 20160121 データサイエンティスト協会 木曜セミナー #5

11

https://www.microsoft.com/en-us/server-cloud/cloud-os/customer-stories/pier-1-imports.aspx

Page 12: 20160121 データサイエンティスト協会 木曜セミナー #5

12

Demo

Page 13: 20160121 データサイエンティスト協会 木曜セミナー #5

13

https://blogs.microsoft.com/business-matters/2015/07/13/dartmouth-hitchcock-ushers-in-a-new-age-of-proactive-personalized-healthcare-using-cortana-analytics-suite/

Page 14: 20160121 データサイエンティスト協会 木曜セミナー #5

14

Demo

Page 15: 20160121 データサイエンティスト協会 木曜セミナー #5
Page 16: 20160121 データサイエンティスト協会 木曜セミナー #5

16

* 平均26年度総務省 情報通信白書 第 3 章より

Page 17: 20160121 データサイエンティスト協会 木曜セミナー #5

17

Page 18: 20160121 データサイエンティスト協会 木曜セミナー #5

18

Page 19: 20160121 データサイエンティスト協会 木曜セミナー #5

19

・ マイクロソフトが提供する Managed な Hadoop サービス・ GUI / スクリプトでクラスター構成可能

Hadoop の設定ファイルを 1 つ 1 つ編集、設定することも可能・ Apache Hadoop ファミリーや Apache Spark の

各種コンポーネントも利用可能- Apache HBase, Apache Storm, Hive, Pig, Spark Streaming 等

・ マイクロソフトが提供する Managed な HDFS* 互換サービス* Hadoop Distributed File System

・ 構造化/非構造化ファイルを容量上限なしに格納可能・ HDFS 同様、複数ファイルに自動複製して保持

・ 並列分散処理のためのサービス・ Scala や Python ではなく、U-SQL と呼ぶ SQL ライクな言語で

処理を実装する・ 実行の都度、並列度 (シングルから超多重処理まで) を決定可・ 処理内容の統計(各操作の In/Out や時間等) をグラフィカルに

確認可

Page 20: 20160121 データサイエンティスト協会 木曜セミナー #5

20

HDInsight

Microsoft R Server

Azure Data Lake Store

HDInsight & Azure Data Lake Analytics

Page 21: 20160121 データサイエンティスト協会 木曜セミナー #5

21

Demo

Page 22: 20160121 データサイエンティスト協会 木曜セミナー #5

22

Page 23: 20160121 データサイエンティスト協会 木曜セミナー #5

23

.Split(‘;’)

Page 24: 20160121 データサイエンティスト協会 木曜セミナー #5

24

Azure Data Lake Analytics

Azure SQLData Warehouse

AzureSQL Database

Azure Blob Storage

Azure Data Lake Store

SQL DBon Azure VM

Page 25: 20160121 データサイエンティスト協会 木曜セミナー #5

25

Azure Data Lake Analytics

Azure Data Lake Store

なし

¥ 1.74 / 分¥ 2.55 / ジョブ

例) ¥ 52,200 / 月毎日 10 時間 100 多重で100 ジョブ実行

定常的にかかる費用 処理量に応じてかかる費用

¥ 4.08 / 1GB

例) ¥ 20,040常時 5 TB を格納

¥ 7.14 / 最大 128GB

例) ¥ 1,712毎日 約 1TB のアクセス (In/Out)

Page 26: 20160121 データサイエンティスト協会 木曜セミナー #5

26

Page 27: 20160121 データサイエンティスト協会 木曜セミナー #5
Page 28: 20160121 データサイエンティスト協会 木曜セミナー #5

28

• 無償、オープン ソースの R ディストリビューション

• マイクロソフトによって拡張して提供

Microsoft R Open (MRO)

• スケール実行が可能でサポートが受けられる

R ディストリビューション

• マイクロソフトによって作成した特別なコンポーネントを含む

Microsoft R Server (MRS)

Page 30: 20160121 データサイエンティスト協会 木曜セミナー #5

30

Page 31: 20160121 データサイエンティスト協会 木曜セミナー #5

31

• Microsoft R Server for Red Hat Linux

• Microsoft R Server for SUSE Linux

• Microsoft R Server for Teradata DB

• Microsoft R Server for Hadoop on Red Hat

• RRE for Windows(Microsoft SQL Server 2014 Enterprise Edition + SA の場合)

Microsoft R Server (MRS)

Page 32: 20160121 データサイエンティスト協会 木曜セミナー #5

32

• メモリに収まる範囲での処理

• 大規模データ使用時の Out of Memory

• データのサンプリングによる制約

• 直列処理、処理するためにはデータの移動が必要

• 長時間かかる処理、データ移動も長時間かかる

• 並列実行を独自に組み込むには複雑

• 商用サポートなし

• 個人 PC のみでの利用で低い機能性、企業利用の場合問題が発生しても

解決が難しい場合も

Page 33: 20160121 データサイエンティスト協会 木曜セミナー #5

33

データ処理 インメモリ インメモリ インメモリ or ディスク

分析スピード シングルスレッド マルチスレッドマルチスレッド1:N のサーバーに対する並列処理

サポート コミュニティ コミュニティコミュニティ+

商用サポート

分析のためのパッケージ

7500 を超えるパッケージ (CRAN)

7500 を超えるパッケージ (CRAN)

7500 を超えるパッケージ

(CRAN) +商用の高速並列関数

ライセンス オープンソース オープンソース 商用ライセンス

Microsoft ROpen (MRO)

Microsoft RServer (MRS)

Page 34: 20160121 データサイエンティスト協会 木曜セミナー #5

34

マスターアルゴリズム

プロセス

アルゴリズム

大規模データ各ブロック

を分析

都度ブロック読み込み

分散処理

結果

Microsoft R Server“クライアント” Microsoft R Server “サーバー”

コンソール

R IDEもしくは

コマンドライン

リクエスト内容纏めてリモート

環境に送信

Page 35: 20160121 データサイエンティスト協会 木曜セミナー #5

35

### ANALYTICAL PROCESSING ###

### Statistical Summary of the data

rxSummary(~ArrDelay+DayOfWeek, data= AirlineDataSet, reportProgress=1)

### CrossTab the data

rxCrossTabs(ArrDelay ~ DayOfWeek, data= AirlineDataSet, means=T)

### Linear Model and plot

hdfsXdfArrLateLinMod <- rxLinMod(ArrDelay ~ DayOfWeek + 0 , data = AirlineDataSet)

plot(hdfsXdfArrLateLinMod$coefficients)

### SETUP LOCAL ENVIRONMENT VARIABLES ###

myLocalCC <- “localpar”

### LOCAL COMPUTE CONTEXT ###

rxSetComputeContext(myLocalCC)

### CREATE LINUX, DIRECTORY AND FILE OBJECTS ###

localFS <- RxNativeFileSystem()

AirlineDataSet <- RxXdfData(“AirlineDemoSmall.xdf”,

fileSystem = localFS)

myHadoopCC <- RxHadoopMR()

rxSetComputeContext(myHadoopCC)

hdfsFS <- RxHdfsFileSystem()

hdfsFS

自ノードでの並列実行 – Linux/Windows Hadoop 上での実行

R スクリプトの実行コンテキスト

「どこで処理を行うか?」の設定

処理内容は実行する場所が変わっても同一

Page 36: 20160121 データサイエンティスト協会 木曜セミナー #5

36

### ANALYTICAL PROCESSING ###

### Statistical Summary of the data

rxSummary(~ArrDelay+DayOfWeek, data= AirlineDataSet, reportProgress=1)

### CrossTab the data

rxCrossTabs(ArrDelay ~ DayOfWeek, data= AirlineDataSet, means=T)

### Linear Model and plot

hdfsXdfArrLateLinMod <- rxLinMod(ArrDelay ~ DayOfWeek + 0 , data = AirlineDataSet)

plot(hdfsXdfArrLateLinMod$coefficients)

### SETUP LOCAL ENVIRONMENT VARIABLES ###

myLocalCC <- “localpar”

### LOCAL COMPUTE CONTEXT ###

rxSetComputeContext(myLocalCC)

### CREATE LINUX, DIRECTORY AND FILE OBJECTS ###

localFS <- RxNativeFileSystem()

AirlineDataSet <- RxXdfData(“AirlineDemoSmall.xdf”,

fileSystem = localFS)

自ノードでの並列実行 – Linux/Windows SQL Server 上での実行

R スクリプトの実行コンテキスト

「どこで処理を行うか?」の設定

処理内容は実行する場所が変わっても同一

### SETUP SQL Server ENVIRONMENT VARIABLES ###

mySqlCC <- "Driver=SQL;SERVER=localhost;Database=RevoTester;

Uid=RevoTester; pwd=######"

### SQL SERVER COMPUTE CONTEXT ###

rxSetComputeContext(mySqlCC)

### CREATE SQL SERVER DATA SOURCE ###

AirlineDemoQuery <- "SELECT * FROM AirlineDemoSmall;"

AirlineDataSet <- RxSqlServerData(connectionString =

mySqlCC, sqlQuery = AirlineDemoQuery)

Page 37: 20160121 データサイエンティスト協会 木曜セミナー #5

37

### ANALYTICAL PROCESSING ###

### Statistical Summary of the data

rxSummary(~ArrDelay+DayOfWeek, data= AirlineDataSet, reportProgress=1)

### CrossTab the data

rxCrossTabs(ArrDelay ~ DayOfWeek, data= AirlineDataSet, means=T)

### Linear Model and plot

hdfsXdfArrLateLinMod <- rxLinMod(ArrDelay ~ DayOfWeek + 0 , data = AirlineDataSet)

plot(hdfsXdfArrLateLinMod$coefficients)

### SETUP LOCAL ENVIRONMENT VARIABLES ###

myLocalCC <- “localpar”

### LOCAL COMPUTE CONTEXT ###

rxSetComputeContext(myLocalCC)

### CREATE LINUX, DIRECTORY AND FILE OBJECTS ###

localFS <- RxNativeFileSystem()

AirlineDataSet <- RxXdfData(“AirlineDemoSmall.xdf”,

fileSystem = localFS)

自ノードでの並列実行 – Linux/Windows Teradata 上での実行

R スクリプトの実行コンテキスト

「どこで処理を行うか?」の設定

処理内容は実行する場所が変わっても同一

### SETUP TERADATA ENVIRONMENT VARIABLES ###

myTdCC <- "Driver=Teradata; DBCNAME=TeradataProd;

Database=RevoTester; Uid=RevoTester; pwd=######"

### TERADATA COMPUTE CONTEXT ###

rxSetComputeContext(myTdCC)

### CREATE TERADATA DATA SOURCE ###

AirlineDemoQuery <- "SELECT * FROM AirlineDemoSmall;"

AirlineDataSet <- RxTeradata(connectionString =

myTdCC, sqlQuery = AirlineDemoQuery)

Page 38: 20160121 データサイエンティスト協会 木曜セミナー #5

38

Gradient Boosted Decision Trees

Naïve Bayes

Data import – Delimited, Fixed, SAS, SPSS,

OBDC

Variable creation & transformation

Recode variables

Factor variables

Missing value handling

Sort, Merge, Split

Aggregate by category (means, sums)

Min / Max, Mean, Median (approx.)

Quantiles (approx.)

Standard Deviation

Variance

Correlation

Covariance

Sum of Squares (cross product matrix for set

variables)

Pairwise Cross tabs

Risk Ratio & Odds Ratio

Cross-Tabulation of Data (standard tables & long

form)

Marginal Summaries of Cross Tabulations

Chi Square Test

Kendall Rank Correlation

Fisher’s Exact Test

Student’s t-Test

Subsample (observations & variables)

Random Sampling

Data Preparation Statistical Tests

Sampling

Descriptive Statistics Sum of Squares (cross product matrix for set

variables)

Multiple Linear Regression

Generalized Linear Models (GLM) exponential

family distributions: binomial, Gaussian, inverse

Gaussian, Poisson, Tweedie. Standard link

functions: cauchit, identity, log, logit, probit. User

defined distributions & link functions.

Covariance & Correlation Matrices

Logistic Regression

Classification & Regression Trees

Predictions/scoring for models

Residuals for all models

Predictive Models K-Means

Decision Trees

Decision Forests

Cluster Analysis

Classification

Simulation

Variable Selection

Stepwise Regression

Simulation (e.g. Monte Carlo)

Parallel Random Number Generation

Combination rxDataStep

rxExec

PEMA-R API Custom Algorithms

Page 39: 20160121 データサイエンティスト協会 木曜セミナー #5

39

DeployR

R Open R Server

DevelopR

Page 40: 20160121 データサイエンティスト協会 木曜セミナー #5

40

Page 41: 20160121 データサイエンティスト協会 木曜セミナー #5

41

Page 42: 20160121 データサイエンティスト協会 木曜セミナー #5
Page 43: 20160121 データサイエンティスト協会 木曜セミナー #5

43

Page 44: 20160121 データサイエンティスト協会 木曜セミナー #5

44

ブラウザ (ML Studio) だけで すぐに始められる• サーバー等の環境準備/設定不要

複雑なモデルを GUI 操作だけでも実装可能

作成したモデルをボタン 1つで Web サービス化

R / Python での実装も可能

各種ストレージ、データベースを入力、出力に• Azure Blob/Azure Table/Azure SQL Database/

HiveQL/Web URL via HTTP/OData

1時間あたり ¥102 (ML Studio)/ ¥204 (API) の従量課金• 実行時間に対してのみ課金される• サブスクリプションなしで始められる Free Tier あり

Page 45: 20160121 データサイエンティスト協会 木曜セミナー #5

45

Page 46: 20160121 データサイエンティスト協会 木曜セミナー #5

46

・ モデルの選択はヘルプドキュメントとチートシートを参照・ R 実装によって独自にモデルを追加可能

Page 47: 20160121 データサイエンティスト協会 木曜セミナー #5

47

Page 48: 20160121 データサイエンティスト協会 木曜セミナー #5

48

Page 49: 20160121 データサイエンティスト協会 木曜セミナー #5

49

Machine Learning API

実装済み機械学習モジュールRESTful API として利用

Experiment 例

Page 50: 20160121 データサイエンティスト協会 木曜セミナー #5

50

Page 51: 20160121 データサイエンティスト協会 木曜セミナー #5

51

Page 52: 20160121 データサイエンティスト協会 木曜セミナー #5

52

Page 53: 20160121 データサイエンティスト協会 木曜セミナー #5

53

Machine Learning API

実装済み機械学習モジュールREST API として利用

Experiment 例

Page 54: 20160121 データサイエンティスト協会 木曜セミナー #5

54

Page 55: 20160121 データサイエンティスト協会 木曜セミナー #5

55

Page 56: 20160121 データサイエンティスト協会 木曜セミナー #5

56

Demo

Page 57: 20160121 データサイエンティスト協会 木曜セミナー #5

57

Page 58: 20160121 データサイエンティスト協会 木曜セミナー #5

58

Demo

Page 59: 20160121 データサイエンティスト協会 木曜セミナー #5

59

Page 60: 20160121 データサイエンティスト協会 木曜セミナー #5

60

Page 61: 20160121 データサイエンティスト協会 木曜セミナー #5

61

宣伝

Page 62: 20160121 データサイエンティスト協会 木曜セミナー #5

62

https://www.microsoft.com/ja-jp/server-cloud/products-Microsoft-Azure-IoT-Service.aspx

http://download.microsoft.com/download/C/E/0/CE041DB1-BE60-4419-85E2-A19018E29DC8/Azure_IoT_Suite_SelfLearning_V1.0.1.pdf

Page 63: 20160121 データサイエンティスト協会 木曜セミナー #5

63

MachineLearning

Stream AnalyticsSQL Data Ware House

/ SQL Database/ DocumentDB

IoT Hub /Event Hub

各種デバイス

Data FactoryData Lake Store

Storage(Blob / Table / Queue)

Data Lake Analytics

Power BI

Cortana Analytics Suite (コルタナ アナリティクス スイート) * IoT Hub と R Server 除く

一部サービス含む

MicrosoftR Server

HDInsight

ProjectOxford

Data Catalog

Page 64: 20160121 データサイエンティスト協会 木曜セミナー #5
Page 65: 20160121 データサイエンティスト協会 木曜セミナー #5

65

Page 66: 20160121 データサイエンティスト協会 木曜セミナー #5

66

本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、提示された情報の信憑性については保証できません。

本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。

すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、機械的、複写、レコーディング、その他)、および目的であっても禁じられています。これらは著作権保護された権利を制限するものではありません。

Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれらの特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。

© 2016 Microsoft Corporation. All rights reserved.

Microsoft, Windows, その他本文中に登場した各製品名は、Microsoft Corporation の米国およびその他の国における登録商標または商標です。

その他、記載されている会社名および製品名は、一般に各社の商標です。