SlideShare a Scribd company logo
1 of 40
Download to read offline
1© Cloudera, Inc. All rights reserved.
⼤規模データに対する
データサイエンスの進め⽅
有賀康顕, Cloudera株式会社
2© Cloudera, Inc. All rights reserved.
⾃⼰紹介
• 有賀 康顕(ありが みちあき)
• フィールドデータサイエンティスト
• お客様がデータを活⽤できるように⼀緒に議論するのが主な仕事
• メーカーの研究所で⾃然⾔語処理/機械学習の研究開発の後、
クックパッドで機械学習を活⽤したプロダクト開発を⾏ってきた
• Ruby / Julia / Machine Learning Casual Talks 等コミュニティも運営
• 🎤 podcaster of rubyist.club
email: ariga@cloudera.com
chezou
3© Cloudera, Inc. All rights reserved.
データの活⽤を進めていくには
4© Cloudera, Inc. All rights reserved.
「データの⺠主化」が進んでいる
• データを⼀箇所に集めることで、データの活⽤が進む
• http://chezou.hatenablog.com/entry/2016/05/05/222046
• エンジニアだけでなく、Webディレクターの⼈たちもSQLを使って、
プロダクト改善のための指標を考え、計測をしはじめた
• 安価な⼤規模分析DBやRe:dashなど可視化ツールも⼀役買っている
• SQLやBIツールを⽤いて、誰もが⾃ら指標を考え、計測する世界へ
• プロダクトに対して、打てる施策のアプローチの幅が広がる
5© Cloudera, Inc. All rights reserved.
データの⺠主化に⼤事なこと
• 数秒〜数⼗秒で対話的に分析ができる
• 誰でもクエリを⾃由に試せる
• どこにどんなデータがあるかがわかる
• 出来たこと、得られた知⾒をシェアできる
• データの権限を気にしない
• 気軽に相談できる仲間がいる
→ Apache Impala (incubating)
→ Hue
→ Cloudera Navigator
→ Hue
→ Apache Sentry / RecordService (beta)
→ あなたがインフルエンサーに!
6© Cloudera, Inc. All rights reserved.
上司に
「機械学習でいい感じの成果を」
と⾔われたら
7© Cloudera, Inc. All rights reserved.
まず「データの⺠主化を進めま
しょうと」と答えましょう
データがなければ何も始まりません
8© Cloudera, Inc. All rights reserved.
データサイエンティストがいれば
いい感じに解決してくれる?
いえいえ、魔法の箱ではありません
9© Cloudera, Inc. All rights reserved.
Source:	Drew	Conway,	“The	Data	Science	Venn	Diagram”
伝統的なデータサイエンスのベン図
10© Cloudera, Inc. All rights reserved.
「データサイエンティストは
50〜80%の時間をデータ収集と
前処理に費やしている」
NY	Times,	2014	http://nyti.ms/1t8IzfE
11© Cloudera, Inc. All rights reserved.
データエンジニアリングとデータサイエンス
https://medium.com/@KevinSchmidtBiz/b68d201364bc
12© Cloudera, Inc. All rights reserved.
データエンジニアリングとデータサイエンス
• データエンジニア
• ETLなどのデータ準備も含めた⼤規模データ分析基盤の構築を⾏う
• データサイエンティスト
• 統計や機械学習を中⼼とし、集めた⼤規模データから価値を⽣み出す
分担して更に加速へとつなげる
13© Cloudera, Inc. All rights reserved.
データサイエンスのワークフローの例
Metadata	Management
Ingest Processing
Developer	Tools:	IDEs,	Notebooks,	SCM Operations	Tools:	Scheduling,	Workflow,	Publishing
Data	Management
Exploration	/	Model	Development
(Feature	Engineering,	Training,	Testing)
Production	/	Model	Deployment
(Scoring	and	Serving)
Feature	
Engineering
Model	Training	
&	Testing
Visualization
Production
Feature	
Generation
Production
Modeling Batch	Scoring
Online	Scoring
Model	Quality	&	
Performance
Experiments
Serving
Storage
User:	Data	Engineer User:	Data	Scientist User:	Data	Engineer	/	Application	Developer
14© Cloudera, Inc. All rights reserved.
Hadoop上でのデータサイエンス
プログラミング⾔語
データ
エンジニアリング
予測モデル開発
スコアリング・
サービング
SAS SAS/ACCESS SAS	HPA/VA N/A
R Desktop	Only	(dplyr)
Desktop	Only	(various)
H2O	
N/A
Python
Desktop	(pandas)
or	PySpark
Desktop	(scikit-learn)
or	PySpark
N/A
Scala/Java Spark Spark	MLlib
Impala/Hive,	Solr,	HBase,	
Spark	Streaming,	…
15© Cloudera, Inc. All rights reserved.
データサイエンスのワークフローの例
Metadata	Management
Ingest Processing
Developer	Tools:	IDEs,	Notebooks,	SCM Operations	Tools:	Scheduling,	Workflow,	Publishing
Data	Management
Exploration	/	Model	Development
(Feature	Engineering,	Training,	Testing)
Production	/	Model	Deployment
(Scoring	and	Serving)
Feature	
Engineering
Model	Training	
&	Testing
Visualization
Production
Feature	
Generation
Production
Modeling Batch	Scoring
Online	Scoring
Model	Quality	&	
Performance
Experiments
Serving
Storage
User:	Data	Engineer User:	Data	Scientist User:	Data	Engineer	/	Application	Developer
HBase
Spark
Streaming
Impala/
Spark MLlibFlume/
Kafka
Hive/
Spark
Spark MLlib
HDFS / Kudu / HBase
16© Cloudera, Inc. All rights reserved.
成功させるためのチームづくり
• プロダクトに関するドメイン知識を持った⼈
• 統計や機械学習に明るい⼈
• 分析基盤を作れるエンジニアリング能⼒のある⼈
• 失敗してもかまわないとリスクを取ってくれる責任者
• データに対する嗅覚があればなおよい
17© Cloudera, Inc. All rights reserved.
機械学習のフロー
18© Cloudera, Inc. All rights reserved.
機械学習のデータパイプラインの例
訓練
データ
単語分割
単語
カウント
ロジスティック
回帰
モデル
特徴抽出 予測モデル学習
学習
フェーズ
教師
データ
19© Cloudera, Inc. All rights reserved.
機械学習のデータパイプラインの例
訓練
データ
単語分割
単語
カウント
ロジスティック
回帰
モデル
テスト
データ
モデル 予測データ
学習
フェーズ
予測
フェーズ
教師
データ特徴抽出 予測モデル学習
20© Cloudera, Inc. All rights reserved.
機械学習(教師あり学習)をざっくり⾔うと
⼊⼒
モデル
出⼒
学習フェーズ
⼊⼒ モデル 出⼒予測フェーズ
21© Cloudera, Inc. All rights reserved.
機械学習の業務フロー
1. 問題を定式化する
2. 機械学習をしなくて良い⽅法を考える
3. システム設計をする
4. アルゴリズムを選定する
5. 学習データ(特徴量)の設計をする
6. 実データの収集と前処理をする
7. 学習・パラメータチューニング
8. システムに組み込む
Step.4〜7を繰り返し
22© Cloudera, Inc. All rights reserved.
1. 問題を定式化する
• 解きたい課題について仮説を⽴て、⽬的と何をすればよいかを明確にする
• 仮説の⽴て⽅は「仮説検証とサンプルサイズの基礎」が参考になる
• http://techlife.cookpad.com/entry/2016/09/26/111601
良い例)
• 売上を上げるために、ユーザー毎におすすめ商品を提⽰する
• ⼯場の電⼒消費量を最適化するために、消費電⼒を予測する
悪い例)
• とにかく有料会員の数を増やす
• Deep Learning で凄いことをする
23© Cloudera, Inc. All rights reserved.
2. 機械学習をしなくて良い⽅法を考える
• 機械学習は「⾼利⼦の技術的負債がたまるクレジットカード」
• D. Sculleyら “Machine Learning: The High Interest Credit Card of Technical Debt”, 2014
やりたいことは
• 機械学習が向いている課題か?
• ⼤量のデータに対して、⾼速に安定して判定したい?
• 100%正解は求められていないか?
• 別の⽅法で解けないか? MVP (Minimum Viable Product) は作れるか?
• 例)クロス集計でユーザーをセグメント分けではダメ?
• 例)既存ツールの機能(SolrのMoreLikeThisなど)では?
MVPからはじめる
24© Cloudera, Inc. All rights reserved.
3. システム設計をする
• 問題の定式化とMVPも作れたら、機械学習を含めたシステム設計をする
• 予測はバッチかニアリアルタイムか?
• 予測結果はどうサーブし、誰が使うのか?
• 100%正解する予測はないので、誤りを許容できるシステム設計にする
• 例)すべて⾃動化するのではなく、⼈⼿のチェックを設ける
• 例)誤判定をユーザーからフィードバックしてもらえるようにする
• 始める前に撤退ラインを決めておく(サンクコストによるバイアスを避ける)
• 例)1ヶ⽉半で90%以上の予測性能が出なければ諦める
25© Cloudera, Inc. All rights reserved.
4. アルゴリズムを選定する
• ざっくりと機械学習のアプローチとアルゴリズムの候補を挙げる
• 教師あり学習(回帰、分類)
• クラスタリング
• 次元削減
• 強化学習
• 異常検知 etc...
• ポイント
• アルゴリズムありきにならない (❌ Deep Learningをやってみたい!)
• 同⼀⽬的の複数のアルゴリズムを念頭に置く
26© Cloudera, Inc. All rights reserved.
5. 学習データ(特徴量)の設計をする
• ⼿がかりとなるデータ(特徴量)として何が使えるのか?
• 例)Web サービスであれば、ユーザの⾏動ログや購買履歴
• 例)⼯場であれば、センサーデータ
• データの収集は後戻りが困難
• ビジネスの知識を持った⼈と、何が効果ありそうかを議論する
• データエンジニアと協⼒をして、データ収集の仕組み化を進める
• (教師あり学習の場合は)教師データはどう作るのか?
27© Cloudera, Inc. All rights reserved.
6. 実データの収集と前処理をする
Metadata	Management
Ingest Processing
Developer	Tools:	IDEs,	Notebooks,	SCM Operations	Tools:	Scheduling,	Workflow,	Publishing
Data	Management
Exploration	/	Model	Development
(Feature	Engineering,	Training,	Testing)
Production	/	Model	Deployment
(Scoring	and	Serving)
Feature	
Engineering
Model	Training	
&	Testing
Visualization
Production
Feature	
Generation
Production
Modeling Batch	Scoring
Online	Scoring
Model	Quality	&	
Performance
Experiments
Serving
Storage
User:	Data	Engineer User:	Data	Scientist User:	Data	Engineer	/	Application	Developer
HBase
Spark
Streaming
Impala/
Spark MLlibFlume/
Kafka
Hive/
Spark
Spark MLlib
HDFS / Kudu / HBase
• 最も時間がかかる部分
• データサイエンティストは
正しいデータが取得出来ているかを逐次確認する
• ミスがあったときのために
元データは出来る限り残しておく
• 前処理は再現が容易なようにドキュメント化する
28© Cloudera, Inc. All rights reserved.
7. 学習・パラメータチューニング
• ⼀番楽しい時間です
• ⼈⼒・ルールベースといったベースラインを決めて、まずそれを超える
• 実装はまずは既存のライブラリ/フレームワークのものを使う
• ⼤抵は途中でデータバグが⾒つかる
• 問題の切り分けをしやすいように、⼀巡回せたら難しい⼿法に挑戦
• 突然、⾮常に良い結果(99.9%!)が出たら、必ず疑う
• テストデータに訓練データが混ざり過学習していないか?
• 特徴量に正解の情報が含まれるleakageが起こっていないか?
⽬標性能未満なら「4. アルゴリズムを選定する」に戻る
→ サイクルを素早く回す
29© Cloudera, Inc. All rights reserved.
8. システムに組み込む
• おめでとうございます!最初の⼀歩クリアです
• 実環境で予測性能がどう推移するか、
ビジネスインパクトはどの程度あるのか?
• 計測と改善を続けます。より良いものを作り続けましょう
• 注意:
ここでデータサイエンティストが担当を外されるプロジェクトは
やがて来る外部環境の変化により予測性能が悪くなり
間違いなく失敗します
30© Cloudera, Inc. All rights reserved.
機械学習の実システムにおける
問題点
31© Cloudera, Inc. All rights reserved.
実システムの機械学習特有の問題
• 確率的な処理があるため⾃動テストがしづらい
• ⻑期運⽤していると⼊⼒の傾向が変化する
• 処理のパイプラインが複雑になる
• データの依存関係が複雑になる
• 実験コードやパラメータが残りやすい
• 開発と本番の⾔語/フレームワークが異なりやすい
モデルの更新容易度⤵
システムの複雑度⤴
予測性能のみを追い求めて
メンテナンス性が下がりやすい
32© Cloudera, Inc. All rights reserved.
継続的な改善をしやすくするために
• 変化を前提とした設計をする
• 予測性能とビジネス上のKPIをモニタリング
• ゴールド・スタンダードを⽤意して予測性能のしきい値を設ける
• アルゴリズムのA/Bテストができるようモジュール化
• モデルのバージョン管理をしていつでも切り戻し可能に
• 開発のスピードを殺さない設計をする
• 開発と本番の⾔語/フレームワークは揃える
• ⼀般的なライブラリの⽅が、属⼈性が上がらなくて良い
• ⼀連の処理をデータパイプラインとして保持する
33© Cloudera, Inc. All rights reserved.
データパイプラインを保持するとは
訓練
データ
単語分割
単語
カウント
ロジスティック
回帰
テスト
データ
予測データ
学習
フェーズ
予測
フェーズ
教師
データ特徴抽出 予測モデル
単語分割
単語
カウント
ロジスティック
回帰
特徴抽出 予測モデル
予測データ
最適なパラメータと共に保持・再利⽤が可能
scikit-learnで広く普及し、Sparkにも展開
34© Cloudera, Inc. All rights reserved.
データパイプラインを保持するとは
訓練
データ
単語分割
単語
カウント
ロジスティック
回帰
テスト
データ
予測データ
学習
フェーズ
予測
フェーズ
教師
データ特徴抽出 予測モデル
単語分割
単語
カウント
ロジスティック
回帰
特徴抽出 予測モデル
予測データ
最適なパラメータと共に保持・再利⽤が可能
scikit-learnで広く普及し、Sparkにも展開
単語分割
単語
カウント
ロジスティック
回帰
特徴抽出 予測モデル
単語分割
単語
カウント
ロジスティック
回帰
35© Cloudera, Inc. All rights reserved.
Spark 2.0 でのコード例
def predict(words):
spark = SparkSession.builder.master('local').appName('mlserver').getOrCreate()
model = PipelineModel.load("lr.model")
input_data = spark.creteDataFrame([(1L, words),], ['id', 'text'])
new_rows = model.transform(input_data).select('id', 'text', 'prediction')
prediction = new_rows.collect()
return prediction
def train (input_data):
tokenizer = Tokenizer(inputCol='text', outputCol='words')
hashingTF = HashingTF(inputCol=tokenizer.getOutputCol(),outputCol='features')
lr = LogisticRegression(maxIter=100000, regParam=0.3, tol=0.1)
pipeline = Pipeline(stages=[tokenizer, hashingTF, lr])
model = pipeline.fit(input_data)
model.write().save('lr.model')
1. パイプラインを作り
2. パイプラインを保存すると
3. パイプラインごと再利⽤できる
36© Cloudera, Inc. All rights reserved.
Cloud Nativeな
データサイエンス
37© Cloudera, Inc. All rights reserved.
オブジェクトストレージ
Cloud Native なデータサイエンス
• データサイエンスは試⾏錯誤が重要
• Cloudera Director + オブジェクトストレージが強い味⽅
• Cloudera Director は
• AWS, GCP, Azure へのクラスタのデプロイを⾃動化
• ⻑時間稼働クラスタと⼀時的クラスタ両⽅を管理
• オブジェクトストレージで
• HDFS へコピーなしで⼀時クラスタでの
処理をすぐに開始できる
38© Cloudera, Inc. All rights reserved.
典型的なワークロードの例
• Hive/Spark/ Hive on Spark with S3
• S3 のデータを直接 ETL 処理
• 予測モデルの構築・バージョニングも容易
• Impala with S3
• S3 に保存したテーブルに直接 SQL でクエリが投げられる
• Python と Ibis と scikit-learn を組み合わせることで
プロトタイピングもしやすい
オブジェクトストレージ
対話的な分析を柔軟に⾏い
フローが確定したら容易にバッチに移⾏可能
39© Cloudera, Inc. All rights reserved.
参考⽂献
• 有賀, 「データを⼀箇所に集めることでデータ活⽤の⺠主化が進んだ話」
• http://chezou.hatenablog.com/entry/2016/05/05/222046
• D. Conway, “The Data Science Venn Diagram”
• http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram
• K. Schmidt, ”Data Engineer vs Data Scientist vs Business Analyst”
• https://medium.com/@KevinSchmidtBiz/b68d201364bc
• 森⽥, 「仮説検証とサンプルサイズの基礎」
• http://techlife.cookpad.com/entry/2016/09/26/111601
• 數⾒,「メンテナブルな機械学習システムの考察」
• https://www.cyberagent.co.jp/techinfo/techreport/report/id=10586
• D. Sculley, et al. ”Machine Learning: The High Interest Credit Card of Technical
Debt”
• ⽐⼾, 「あなたの業務に機械学習を活⽤する5つのポイント」
• http://www.slideshare.net/shoheihido/5-38372284
40© Cloudera, Inc. All rights reserved.
Question?
ariga@cloudera.com

More Related Content

What's hot

「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015Cloudera Japan
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Cloudera Japan
 
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015Cloudera Japan
 
HBase活用事例 #hbase_ca
HBase活用事例 #hbase_caHBase活用事例 #hbase_ca
HBase活用事例 #hbase_caCloudera Japan
 
Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Cloudera Japan
 
Troubleshooting Using Cloudera Manager #cwt2015
Troubleshooting Using Cloudera Manager #cwt2015Troubleshooting Using Cloudera Manager #cwt2015
Troubleshooting Using Cloudera Manager #cwt2015Cloudera Japan
 
機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介Cloudera Japan
 
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015Cloudera Japan
 
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006Cloudera Japan
 
HBase Meetup Tokyo Summer 2015 #hbasejp
HBase Meetup Tokyo Summer 2015 #hbasejpHBase Meetup Tokyo Summer 2015 #hbasejp
HBase Meetup Tokyo Summer 2015 #hbasejpCloudera Japan
 
エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27Cloudera Japan
 
Impala概要 道玄坂LT祭り 20150312 #dogenzakalt
Impala概要 道玄坂LT祭り 20150312 #dogenzakaltImpala概要 道玄坂LT祭り 20150312 #dogenzakalt
Impala概要 道玄坂LT祭り 20150312 #dogenzakaltCloudera Japan
 
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Cloudera Japan
 
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015Cloudera Japan
 
基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015Cloudera Japan
 
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSCloudera Japan
 
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜Cloudera Japan
 
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化Takahiro Moteki
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Noritaka Sekiyama
 

What's hot (20)

「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
 
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015基礎から学ぶ超並列SQLエンジンImpala #cwt2015
基礎から学ぶ超並列SQLエンジンImpala #cwt2015
 
HBase活用事例 #hbase_ca
HBase活用事例 #hbase_caHBase活用事例 #hbase_ca
HBase活用事例 #hbase_ca
 
Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側
 
Troubleshooting Using Cloudera Manager #cwt2015
Troubleshooting Using Cloudera Manager #cwt2015Troubleshooting Using Cloudera Manager #cwt2015
Troubleshooting Using Cloudera Manager #cwt2015
 
機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介機械学習の定番プラットフォームSparkの紹介
機械学習の定番プラットフォームSparkの紹介
 
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
Hadoopビッグデータ基盤の歴史を振り返る #cwt2015
 
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
 
HBase Meetup Tokyo Summer 2015 #hbasejp
HBase Meetup Tokyo Summer 2015 #hbasejpHBase Meetup Tokyo Summer 2015 #hbasejp
HBase Meetup Tokyo Summer 2015 #hbasejp
 
エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27
 
Impala概要 道玄坂LT祭り 20150312 #dogenzakalt
Impala概要 道玄坂LT祭り 20150312 #dogenzakaltImpala概要 道玄坂LT祭り 20150312 #dogenzakalt
Impala概要 道玄坂LT祭り 20150312 #dogenzakalt
 
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
Clouderaが提供するエンタープライズ向け運用、データ管理ツールの使い方 #CW2017
 
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
 
基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015基調講演: 「データエコシステムへの挑戦」 #cwt2015
基調講演: 「データエコシステムへの挑戦」 #cwt2015
 
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
 
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
Hadoopトレーニング番外編 〜間違えられやすいHadoopの7つの仕様〜
 
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化
 
Impalaチューニングポイントベストプラクティス
ImpalaチューニングポイントベストプラクティスImpalaチューニングポイントベストプラクティス
Impalaチューニングポイントベストプラクティス
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 

Viewers also liked

Linux Kernel Security Overview - KCA 2009
Linux Kernel Security Overview - KCA 2009Linux Kernel Security Overview - KCA 2009
Linux Kernel Security Overview - KCA 2009James Morris
 
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakaltクラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakaltCloudera Japan
 
Re:dash Use Cases at iPROS
Re:dash Use Cases at iPROSRe:dash Use Cases at iPROS
Re:dash Use Cases at iPROSJumpei Yokota
 
これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本Tomohiro Shinden
 
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門Yoshimura Soichiro
 
BigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用するBigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用するGoogle Cloud Platform - Japan
 
Business Innovation cases driven by AI and BigData technologies
Business Innovation cases driven by AI and BigData technologiesBusiness Innovation cases driven by AI and BigData technologies
Business Innovation cases driven by AI and BigData technologiesDataWorks Summit/Hadoop Summit
 
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-Makoto SHIMURA
 
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話Yahoo!デベロッパーネットワーク
 
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016Tokoroten Nakayama
 
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化Nagato Kasaki
 
Hadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyHadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyRecruit Technologies
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16Yifeng Jiang
 
Top 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applicationsTop 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applicationshadooparchbook
 
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介cyberagent
 

Viewers also liked (18)

Linux Kernel Security Overview - KCA 2009
Linux Kernel Security Overview - KCA 2009Linux Kernel Security Overview - KCA 2009
Linux Kernel Security Overview - KCA 2009
 
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakaltクラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
クラウド上でHadoopを構築できる Cloudera Director 2.0 の紹介 #dogenzakalt
 
Re:dash Use Cases at iPROS
Re:dash Use Cases at iPROSRe:dash Use Cases at iPROS
Re:dash Use Cases at iPROS
 
re:dash is awesome
re:dash is awesomere:dash is awesome
re:dash is awesome
 
これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本これでBigQueryをドヤ顔で語れる!BigQueryの基本
これでBigQueryをドヤ顔で語れる!BigQueryの基本
 
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
 
BigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用するBigQueryを始めてみよう - Google Analytics データを活用する
BigQueryを始めてみよう - Google Analytics データを活用する
 
Business Innovation cases driven by AI and BigData technologies
Business Innovation cases driven by AI and BigData technologiesBusiness Innovation cases driven by AI and BigData technologies
Business Innovation cases driven by AI and BigData technologies
 
Case Study: OLAP usability on Spark and Hadoop
Case Study: OLAP usability on Spark and HadoopCase Study: OLAP usability on Spark and Hadoop
Case Study: OLAP usability on Spark and Hadoop
 
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
 
SEGA : Growth hacking by Spark ML for Mobile games
SEGA : Growth hacking by Spark ML for Mobile gamesSEGA : Growth hacking by Spark ML for Mobile games
SEGA : Growth hacking by Spark ML for Mobile games
 
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
 
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
 
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
 
Hadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit CompanyHadoop’s Impact on Recruit Company
Hadoop’s Impact on Recruit Company
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16
 
Top 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applicationsTop 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applications
 
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
 

Similar to 大規模データに対するデータサイエンスの進め方 #CWT2016

SAS Viya Deep Dive: 予測モデリング
SAS Viya Deep Dive: 予測モデリングSAS Viya Deep Dive: 予測モデリング
SAS Viya Deep Dive: 予測モデリングSAS Institute Japan
 
SIerにおくる、アジャイルプロセスの実践
SIerにおくる、アジャイルプロセスの実践SIerにおくる、アジャイルプロセスの実践
SIerにおくる、アジャイルプロセスの実践Takashi Makino
 
MySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdfMySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdfMachiko Ikoma
 
ITインフラsummit 2017発表資料
ITインフラsummit 2017発表資料ITインフラsummit 2017発表資料
ITインフラsummit 2017発表資料Masayuki Hyugaji
 
Automated Testing on AWS Device Farm
Automated Testing on AWS Device FarmAutomated Testing on AWS Device Farm
Automated Testing on AWS Device FarmKeisuke Nishitani
 
[Modern Cloud Day Tokyo 2019] 次世代型データベース・クラウドの魅力に迫る ~ Autonomous Database Dee...
[Modern Cloud Day Tokyo 2019] 次世代型データベース・クラウドの魅力に迫る ~ Autonomous Database Dee...[Modern Cloud Day Tokyo 2019] 次世代型データベース・クラウドの魅力に迫る ~ Autonomous Database Dee...
[Modern Cloud Day Tokyo 2019] 次世代型データベース・クラウドの魅力に迫る ~ Autonomous Database Dee...オラクルエンジニア通信
 
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例オラクルエンジニア通信
 
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニングオラクルエンジニア通信
 
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015Cloudera Japan
 
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用日本マイクロソフト株式会社
 
Distributed Cloud Architecture CODT2023
Distributed Cloud Architecture CODT2023Distributed Cloud Architecture CODT2023
Distributed Cloud Architecture CODT2023Takehiro Kudou
 
AIを活用した交通事故削減支援サービスでのテスト自動化
AIを活用した交通事故削減支援サービスでのテスト自動化AIを活用した交通事故削減支援サービスでのテスト自動化
AIを活用した交通事故削減支援サービスでのテスト自動化Shota Suzuki
 
情報システムの性能マネジメントについて
情報システムの性能マネジメントについて情報システムの性能マネジメントについて
情報システムの性能マネジメントについてTakashi Natsume
 

Similar to 大規模データに対するデータサイエンスの進め方 #CWT2016 (20)

SAS Viya Deep Dive: 予測モデリング
SAS Viya Deep Dive: 予測モデリングSAS Viya Deep Dive: 予測モデリング
SAS Viya Deep Dive: 予測モデリング
 
SIerにおくる、アジャイルプロセスの実践
SIerにおくる、アジャイルプロセスの実践SIerにおくる、アジャイルプロセスの実践
SIerにおくる、アジャイルプロセスの実践
 
Tech deepdive#2 datastore_180317_share
Tech deepdive#2 datastore_180317_shareTech deepdive#2 datastore_180317_share
Tech deepdive#2 datastore_180317_share
 
Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介
Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介
Oracle Database 12c Release 1 PSR 12.1.0.2 のご紹介
 
MySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdfMySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdf
 
組込みSW開発技術研究会キックオフミーティング
組込みSW開発技術研究会キックオフミーティング組込みSW開発技術研究会キックオフミーティング
組込みSW開発技術研究会キックオフミーティング
 
データベースで始める機械学習
データベースで始める機械学習データベースで始める機械学習
データベースで始める機械学習
 
Msセミナー20170830 slideshare
Msセミナー20170830 slideshareMsセミナー20170830 slideshare
Msセミナー20170830 slideshare
 
ITインフラsummit 2017発表資料
ITインフラsummit 2017発表資料ITインフラsummit 2017発表資料
ITインフラsummit 2017発表資料
 
Automated Testing on AWS Device Farm
Automated Testing on AWS Device FarmAutomated Testing on AWS Device Farm
Automated Testing on AWS Device Farm
 
[Modern Cloud Day Tokyo 2019] 次世代型データベース・クラウドの魅力に迫る ~ Autonomous Database Dee...
[Modern Cloud Day Tokyo 2019] 次世代型データベース・クラウドの魅力に迫る ~ Autonomous Database Dee...[Modern Cloud Day Tokyo 2019] 次世代型データベース・クラウドの魅力に迫る ~ Autonomous Database Dee...
[Modern Cloud Day Tokyo 2019] 次世代型データベース・クラウドの魅力に迫る ~ Autonomous Database Dee...
 
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例
 
超高速な機械学習を Oracle Database で実現!
超高速な機械学習を Oracle Database で実現!超高速な機械学習を Oracle Database で実現!
超高速な機械学習を Oracle Database で実現!
 
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
 
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
PCIコンプライアンスに向けたビジネス指針〜MasterCardの事例〜 #cwt2015
 
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
 
Distributed Cloud Architecture CODT2023
Distributed Cloud Architecture CODT2023Distributed Cloud Architecture CODT2023
Distributed Cloud Architecture CODT2023
 
stapy_028_talk1
stapy_028_talk1stapy_028_talk1
stapy_028_talk1
 
AIを活用した交通事故削減支援サービスでのテスト自動化
AIを活用した交通事故削減支援サービスでのテスト自動化AIを活用した交通事故削減支援サービスでのテスト自動化
AIを活用した交通事故削減支援サービスでのテスト自動化
 
情報システムの性能マネジメントについて
情報システムの性能マネジメントについて情報システムの性能マネジメントについて
情報システムの性能マネジメントについて
 

More from Cloudera Japan

Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Cloudera Japan
 
HDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsHDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsCloudera Japan
 
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とはCloudera Japan
 
Cloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera Japan
 
Train, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelTrain, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelCloudera Japan
 
先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方Cloudera Japan
 
How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017Cloudera Japan
 
Apache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechApache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechCloudera Japan
 
Hue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpHue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpCloudera Japan
 
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera Japan
 
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015Cloudera Japan
 
基調講演: 「パーペイシブ分析を目指して」#cwt2015
基調講演: 「パーペイシブ分析を目指して」#cwt2015基調講演: 「パーペイシブ分析を目指して」#cwt2015
基調講演: 「パーペイシブ分析を目指して」#cwt2015Cloudera Japan
 

More from Cloudera Japan (12)

Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
 
HDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsHDFS Supportaiblity Improvements
HDFS Supportaiblity Improvements
 
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは分散DB Apache KuduのアーキテクチャDBの性能と一貫性を両立させる仕組み「HybridTime」とは
分散DB Apache Kuduのアーキテクチャ DBの性能と一貫性を両立させる仕組み 「HybridTime」とは
 
Cloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennightCloudera のサポートエンジニアリング #supennight
Cloudera のサポートエンジニアリング #supennight
 
Train, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning modelTrain, predict, serve: How to go into production your machine learning model
Train, predict, serve: How to go into production your machine learning model
 
先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方先行事例から学ぶ IoT / ビッグデータの始め方
先行事例から学ぶ IoT / ビッグデータの始め方
 
How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017How to go into production your machine learning models? #CWT2017
How to go into production your machine learning models? #CWT2017
 
Apache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentechApache Kudu - Updatable Analytical Storage #rakutentech
Apache Kudu - Updatable Analytical Storage #rakutentech
 
Hue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejpHue 4.0 / Hue Meetup Tokyo #huejp
Hue 4.0 / Hue Meetup Tokyo #huejp
 
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
 
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
基調講演:「ビッグデータのセキュリティとガバナンス要件」 #cwt2015
 
基調講演: 「パーペイシブ分析を目指して」#cwt2015
基調講演: 「パーペイシブ分析を目指して」#cwt2015基調講演: 「パーペイシブ分析を目指して」#cwt2015
基調講演: 「パーペイシブ分析を目指して」#cwt2015
 

Recently uploaded

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

大規模データに対するデータサイエンスの進め方 #CWT2016

  • 1. 1© Cloudera, Inc. All rights reserved. ⼤規模データに対する データサイエンスの進め⽅ 有賀康顕, Cloudera株式会社
  • 2. 2© Cloudera, Inc. All rights reserved. ⾃⼰紹介 • 有賀 康顕(ありが みちあき) • フィールドデータサイエンティスト • お客様がデータを活⽤できるように⼀緒に議論するのが主な仕事 • メーカーの研究所で⾃然⾔語処理/機械学習の研究開発の後、 クックパッドで機械学習を活⽤したプロダクト開発を⾏ってきた • Ruby / Julia / Machine Learning Casual Talks 等コミュニティも運営 • 🎤 podcaster of rubyist.club email: ariga@cloudera.com chezou
  • 3. 3© Cloudera, Inc. All rights reserved. データの活⽤を進めていくには
  • 4. 4© Cloudera, Inc. All rights reserved. 「データの⺠主化」が進んでいる • データを⼀箇所に集めることで、データの活⽤が進む • http://chezou.hatenablog.com/entry/2016/05/05/222046 • エンジニアだけでなく、Webディレクターの⼈たちもSQLを使って、 プロダクト改善のための指標を考え、計測をしはじめた • 安価な⼤規模分析DBやRe:dashなど可視化ツールも⼀役買っている • SQLやBIツールを⽤いて、誰もが⾃ら指標を考え、計測する世界へ • プロダクトに対して、打てる施策のアプローチの幅が広がる
  • 5. 5© Cloudera, Inc. All rights reserved. データの⺠主化に⼤事なこと • 数秒〜数⼗秒で対話的に分析ができる • 誰でもクエリを⾃由に試せる • どこにどんなデータがあるかがわかる • 出来たこと、得られた知⾒をシェアできる • データの権限を気にしない • 気軽に相談できる仲間がいる → Apache Impala (incubating) → Hue → Cloudera Navigator → Hue → Apache Sentry / RecordService (beta) → あなたがインフルエンサーに!
  • 6. 6© Cloudera, Inc. All rights reserved. 上司に 「機械学習でいい感じの成果を」 と⾔われたら
  • 7. 7© Cloudera, Inc. All rights reserved. まず「データの⺠主化を進めま しょうと」と答えましょう データがなければ何も始まりません
  • 8. 8© Cloudera, Inc. All rights reserved. データサイエンティストがいれば いい感じに解決してくれる? いえいえ、魔法の箱ではありません
  • 9. 9© Cloudera, Inc. All rights reserved. Source: Drew Conway, “The Data Science Venn Diagram” 伝統的なデータサイエンスのベン図
  • 10. 10© Cloudera, Inc. All rights reserved. 「データサイエンティストは 50〜80%の時間をデータ収集と 前処理に費やしている」 NY Times, 2014 http://nyti.ms/1t8IzfE
  • 11. 11© Cloudera, Inc. All rights reserved. データエンジニアリングとデータサイエンス https://medium.com/@KevinSchmidtBiz/b68d201364bc
  • 12. 12© Cloudera, Inc. All rights reserved. データエンジニアリングとデータサイエンス • データエンジニア • ETLなどのデータ準備も含めた⼤規模データ分析基盤の構築を⾏う • データサイエンティスト • 統計や機械学習を中⼼とし、集めた⼤規模データから価値を⽣み出す 分担して更に加速へとつなげる
  • 13. 13© Cloudera, Inc. All rights reserved. データサイエンスのワークフローの例 Metadata Management Ingest Processing Developer Tools: IDEs, Notebooks, SCM Operations Tools: Scheduling, Workflow, Publishing Data Management Exploration / Model Development (Feature Engineering, Training, Testing) Production / Model Deployment (Scoring and Serving) Feature Engineering Model Training & Testing Visualization Production Feature Generation Production Modeling Batch Scoring Online Scoring Model Quality & Performance Experiments Serving Storage User: Data Engineer User: Data Scientist User: Data Engineer / Application Developer
  • 14. 14© Cloudera, Inc. All rights reserved. Hadoop上でのデータサイエンス プログラミング⾔語 データ エンジニアリング 予測モデル開発 スコアリング・ サービング SAS SAS/ACCESS SAS HPA/VA N/A R Desktop Only (dplyr) Desktop Only (various) H2O N/A Python Desktop (pandas) or PySpark Desktop (scikit-learn) or PySpark N/A Scala/Java Spark Spark MLlib Impala/Hive, Solr, HBase, Spark Streaming, …
  • 15. 15© Cloudera, Inc. All rights reserved. データサイエンスのワークフローの例 Metadata Management Ingest Processing Developer Tools: IDEs, Notebooks, SCM Operations Tools: Scheduling, Workflow, Publishing Data Management Exploration / Model Development (Feature Engineering, Training, Testing) Production / Model Deployment (Scoring and Serving) Feature Engineering Model Training & Testing Visualization Production Feature Generation Production Modeling Batch Scoring Online Scoring Model Quality & Performance Experiments Serving Storage User: Data Engineer User: Data Scientist User: Data Engineer / Application Developer HBase Spark Streaming Impala/ Spark MLlibFlume/ Kafka Hive/ Spark Spark MLlib HDFS / Kudu / HBase
  • 16. 16© Cloudera, Inc. All rights reserved. 成功させるためのチームづくり • プロダクトに関するドメイン知識を持った⼈ • 統計や機械学習に明るい⼈ • 分析基盤を作れるエンジニアリング能⼒のある⼈ • 失敗してもかまわないとリスクを取ってくれる責任者 • データに対する嗅覚があればなおよい
  • 17. 17© Cloudera, Inc. All rights reserved. 機械学習のフロー
  • 18. 18© Cloudera, Inc. All rights reserved. 機械学習のデータパイプラインの例 訓練 データ 単語分割 単語 カウント ロジスティック 回帰 モデル 特徴抽出 予測モデル学習 学習 フェーズ 教師 データ
  • 19. 19© Cloudera, Inc. All rights reserved. 機械学習のデータパイプラインの例 訓練 データ 単語分割 単語 カウント ロジスティック 回帰 モデル テスト データ モデル 予測データ 学習 フェーズ 予測 フェーズ 教師 データ特徴抽出 予測モデル学習
  • 20. 20© Cloudera, Inc. All rights reserved. 機械学習(教師あり学習)をざっくり⾔うと ⼊⼒ モデル 出⼒ 学習フェーズ ⼊⼒ モデル 出⼒予測フェーズ
  • 21. 21© Cloudera, Inc. All rights reserved. 機械学習の業務フロー 1. 問題を定式化する 2. 機械学習をしなくて良い⽅法を考える 3. システム設計をする 4. アルゴリズムを選定する 5. 学習データ(特徴量)の設計をする 6. 実データの収集と前処理をする 7. 学習・パラメータチューニング 8. システムに組み込む Step.4〜7を繰り返し
  • 22. 22© Cloudera, Inc. All rights reserved. 1. 問題を定式化する • 解きたい課題について仮説を⽴て、⽬的と何をすればよいかを明確にする • 仮説の⽴て⽅は「仮説検証とサンプルサイズの基礎」が参考になる • http://techlife.cookpad.com/entry/2016/09/26/111601 良い例) • 売上を上げるために、ユーザー毎におすすめ商品を提⽰する • ⼯場の電⼒消費量を最適化するために、消費電⼒を予測する 悪い例) • とにかく有料会員の数を増やす • Deep Learning で凄いことをする
  • 23. 23© Cloudera, Inc. All rights reserved. 2. 機械学習をしなくて良い⽅法を考える • 機械学習は「⾼利⼦の技術的負債がたまるクレジットカード」 • D. Sculleyら “Machine Learning: The High Interest Credit Card of Technical Debt”, 2014 やりたいことは • 機械学習が向いている課題か? • ⼤量のデータに対して、⾼速に安定して判定したい? • 100%正解は求められていないか? • 別の⽅法で解けないか? MVP (Minimum Viable Product) は作れるか? • 例)クロス集計でユーザーをセグメント分けではダメ? • 例)既存ツールの機能(SolrのMoreLikeThisなど)では? MVPからはじめる
  • 24. 24© Cloudera, Inc. All rights reserved. 3. システム設計をする • 問題の定式化とMVPも作れたら、機械学習を含めたシステム設計をする • 予測はバッチかニアリアルタイムか? • 予測結果はどうサーブし、誰が使うのか? • 100%正解する予測はないので、誤りを許容できるシステム設計にする • 例)すべて⾃動化するのではなく、⼈⼿のチェックを設ける • 例)誤判定をユーザーからフィードバックしてもらえるようにする • 始める前に撤退ラインを決めておく(サンクコストによるバイアスを避ける) • 例)1ヶ⽉半で90%以上の予測性能が出なければ諦める
  • 25. 25© Cloudera, Inc. All rights reserved. 4. アルゴリズムを選定する • ざっくりと機械学習のアプローチとアルゴリズムの候補を挙げる • 教師あり学習(回帰、分類) • クラスタリング • 次元削減 • 強化学習 • 異常検知 etc... • ポイント • アルゴリズムありきにならない (❌ Deep Learningをやってみたい!) • 同⼀⽬的の複数のアルゴリズムを念頭に置く
  • 26. 26© Cloudera, Inc. All rights reserved. 5. 学習データ(特徴量)の設計をする • ⼿がかりとなるデータ(特徴量)として何が使えるのか? • 例)Web サービスであれば、ユーザの⾏動ログや購買履歴 • 例)⼯場であれば、センサーデータ • データの収集は後戻りが困難 • ビジネスの知識を持った⼈と、何が効果ありそうかを議論する • データエンジニアと協⼒をして、データ収集の仕組み化を進める • (教師あり学習の場合は)教師データはどう作るのか?
  • 27. 27© Cloudera, Inc. All rights reserved. 6. 実データの収集と前処理をする Metadata Management Ingest Processing Developer Tools: IDEs, Notebooks, SCM Operations Tools: Scheduling, Workflow, Publishing Data Management Exploration / Model Development (Feature Engineering, Training, Testing) Production / Model Deployment (Scoring and Serving) Feature Engineering Model Training & Testing Visualization Production Feature Generation Production Modeling Batch Scoring Online Scoring Model Quality & Performance Experiments Serving Storage User: Data Engineer User: Data Scientist User: Data Engineer / Application Developer HBase Spark Streaming Impala/ Spark MLlibFlume/ Kafka Hive/ Spark Spark MLlib HDFS / Kudu / HBase • 最も時間がかかる部分 • データサイエンティストは 正しいデータが取得出来ているかを逐次確認する • ミスがあったときのために 元データは出来る限り残しておく • 前処理は再現が容易なようにドキュメント化する
  • 28. 28© Cloudera, Inc. All rights reserved. 7. 学習・パラメータチューニング • ⼀番楽しい時間です • ⼈⼒・ルールベースといったベースラインを決めて、まずそれを超える • 実装はまずは既存のライブラリ/フレームワークのものを使う • ⼤抵は途中でデータバグが⾒つかる • 問題の切り分けをしやすいように、⼀巡回せたら難しい⼿法に挑戦 • 突然、⾮常に良い結果(99.9%!)が出たら、必ず疑う • テストデータに訓練データが混ざり過学習していないか? • 特徴量に正解の情報が含まれるleakageが起こっていないか? ⽬標性能未満なら「4. アルゴリズムを選定する」に戻る → サイクルを素早く回す
  • 29. 29© Cloudera, Inc. All rights reserved. 8. システムに組み込む • おめでとうございます!最初の⼀歩クリアです • 実環境で予測性能がどう推移するか、 ビジネスインパクトはどの程度あるのか? • 計測と改善を続けます。より良いものを作り続けましょう • 注意: ここでデータサイエンティストが担当を外されるプロジェクトは やがて来る外部環境の変化により予測性能が悪くなり 間違いなく失敗します
  • 30. 30© Cloudera, Inc. All rights reserved. 機械学習の実システムにおける 問題点
  • 31. 31© Cloudera, Inc. All rights reserved. 実システムの機械学習特有の問題 • 確率的な処理があるため⾃動テストがしづらい • ⻑期運⽤していると⼊⼒の傾向が変化する • 処理のパイプラインが複雑になる • データの依存関係が複雑になる • 実験コードやパラメータが残りやすい • 開発と本番の⾔語/フレームワークが異なりやすい モデルの更新容易度⤵ システムの複雑度⤴ 予測性能のみを追い求めて メンテナンス性が下がりやすい
  • 32. 32© Cloudera, Inc. All rights reserved. 継続的な改善をしやすくするために • 変化を前提とした設計をする • 予測性能とビジネス上のKPIをモニタリング • ゴールド・スタンダードを⽤意して予測性能のしきい値を設ける • アルゴリズムのA/Bテストができるようモジュール化 • モデルのバージョン管理をしていつでも切り戻し可能に • 開発のスピードを殺さない設計をする • 開発と本番の⾔語/フレームワークは揃える • ⼀般的なライブラリの⽅が、属⼈性が上がらなくて良い • ⼀連の処理をデータパイプラインとして保持する
  • 33. 33© Cloudera, Inc. All rights reserved. データパイプラインを保持するとは 訓練 データ 単語分割 単語 カウント ロジスティック 回帰 テスト データ 予測データ 学習 フェーズ 予測 フェーズ 教師 データ特徴抽出 予測モデル 単語分割 単語 カウント ロジスティック 回帰 特徴抽出 予測モデル 予測データ 最適なパラメータと共に保持・再利⽤が可能 scikit-learnで広く普及し、Sparkにも展開
  • 34. 34© Cloudera, Inc. All rights reserved. データパイプラインを保持するとは 訓練 データ 単語分割 単語 カウント ロジスティック 回帰 テスト データ 予測データ 学習 フェーズ 予測 フェーズ 教師 データ特徴抽出 予測モデル 単語分割 単語 カウント ロジスティック 回帰 特徴抽出 予測モデル 予測データ 最適なパラメータと共に保持・再利⽤が可能 scikit-learnで広く普及し、Sparkにも展開 単語分割 単語 カウント ロジスティック 回帰 特徴抽出 予測モデル 単語分割 単語 カウント ロジスティック 回帰
  • 35. 35© Cloudera, Inc. All rights reserved. Spark 2.0 でのコード例 def predict(words): spark = SparkSession.builder.master('local').appName('mlserver').getOrCreate() model = PipelineModel.load("lr.model") input_data = spark.creteDataFrame([(1L, words),], ['id', 'text']) new_rows = model.transform(input_data).select('id', 'text', 'prediction') prediction = new_rows.collect() return prediction def train (input_data): tokenizer = Tokenizer(inputCol='text', outputCol='words') hashingTF = HashingTF(inputCol=tokenizer.getOutputCol(),outputCol='features') lr = LogisticRegression(maxIter=100000, regParam=0.3, tol=0.1) pipeline = Pipeline(stages=[tokenizer, hashingTF, lr]) model = pipeline.fit(input_data) model.write().save('lr.model') 1. パイプラインを作り 2. パイプラインを保存すると 3. パイプラインごと再利⽤できる
  • 36. 36© Cloudera, Inc. All rights reserved. Cloud Nativeな データサイエンス
  • 37. 37© Cloudera, Inc. All rights reserved. オブジェクトストレージ Cloud Native なデータサイエンス • データサイエンスは試⾏錯誤が重要 • Cloudera Director + オブジェクトストレージが強い味⽅ • Cloudera Director は • AWS, GCP, Azure へのクラスタのデプロイを⾃動化 • ⻑時間稼働クラスタと⼀時的クラスタ両⽅を管理 • オブジェクトストレージで • HDFS へコピーなしで⼀時クラスタでの 処理をすぐに開始できる
  • 38. 38© Cloudera, Inc. All rights reserved. 典型的なワークロードの例 • Hive/Spark/ Hive on Spark with S3 • S3 のデータを直接 ETL 処理 • 予測モデルの構築・バージョニングも容易 • Impala with S3 • S3 に保存したテーブルに直接 SQL でクエリが投げられる • Python と Ibis と scikit-learn を組み合わせることで プロトタイピングもしやすい オブジェクトストレージ 対話的な分析を柔軟に⾏い フローが確定したら容易にバッチに移⾏可能
  • 39. 39© Cloudera, Inc. All rights reserved. 参考⽂献 • 有賀, 「データを⼀箇所に集めることでデータ活⽤の⺠主化が進んだ話」 • http://chezou.hatenablog.com/entry/2016/05/05/222046 • D. Conway, “The Data Science Venn Diagram” • http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram • K. Schmidt, ”Data Engineer vs Data Scientist vs Business Analyst” • https://medium.com/@KevinSchmidtBiz/b68d201364bc • 森⽥, 「仮説検証とサンプルサイズの基礎」 • http://techlife.cookpad.com/entry/2016/09/26/111601 • 數⾒,「メンテナブルな機械学習システムの考察」 • https://www.cyberagent.co.jp/techinfo/techreport/report/id=10586 • D. Sculley, et al. ”Machine Learning: The High Interest Credit Card of Technical Debt” • ⽐⼾, 「あなたの業務に機械学習を活⽤する5つのポイント」 • http://www.slideshare.net/shoheihido/5-38372284
  • 40. 40© Cloudera, Inc. All rights reserved. Question? ariga@cloudera.com