SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
広告配信現場で使う
Spark機械学習
株式会社サイバーエージェント 井上ゆり
自己紹介>
井上 ゆり
株式会社サイバーエージェント
アドテク本部 AMoAd所属
twitter: @iyunoriue
GitHub: x1-
HP: バツイチとインケンのエンジニアブログ
http://x1.inkenkun.com/
2
本日は広告屋らしく、
Apache Sparkを使った
CTR(=Click Through Rate)推定
をご紹介させて頂きます。
3
2014年、Criteo社が
Hashing Trickとロジスティック回帰
を使ったCTR推定を発表しました。
この論文→http://people.csail.mit.edu/romer/papers/TISTRespPredAds.pdf
!
!
今回はこの手法を使います。
4
CTR推定の流れ
Pipeline
5
読み込み
&
パース
特徴ベクトル
に変換
学習 検証
CSVファイル Hashing Trick
Logistic
Regression
spark-csv
Cross
Validator
SQL/DataFrame
Apache Spark
1 2 3 4
使うもの
★ Apache Spark
• SparkSQL & DataFrame ・・・データ操作/加工
• Spark MLlib
• Pipeline ・・・ワークフロー
• HashingTrick ・・・特徴のベクトル化、次元削減
• LogisticRegression ・・・ロジスティック回帰
• CrossValidator ・・・最適モデルの選択
★ databricks/spark-csv ・・・CSVパーサ
6
推定に使うデータ
KaggleのCTR推定コンテストで使われた
テストデータを使います。
https://www.kaggle.com/c/avazu-ctr-prediction/data
!
7
データ構造
8
• id: ad identifier
• click: 0/1 for non-click/click
• hour: YYMMDDHH
• C1 -- anonymized categorical variable
• banner_pos
• site_id
• site_domain
• site_category
• app_id
• app_domain
• app_category
• device_id
• device_ip
• device_model
• device_type
• device_conn_type
• C14-C21 -- anonymized categorical variables
PipelineSQL/DataFrame
Apache Spark
9
読み込み
&
パース
特徴ベクトル
に変換
学習 検証
CSVファイル Hashing Trick
Logistic
Regression
spark-csv
Cross
Validator
3 4
CSVの読み込み&パース
21
!
databricks/spark-csvを使ってCSVを読み込みます。
これを使うと、ヘッダーとカラム名が対応した
DataFrameを作ることができます。
こんなかんじ。
10
id click hour C1 banner_pos app_id site_id ...
1 0 2015080106 abc 9 9 5 ...
2 0 2015080106 def 5 10 10 ...
3 1 2015080107 ghi 1 2 2 ...
4 0 2015080107 jkl 0 5 6 ...
CSVの読み込み&パース
11
val rawCsv = sqlContext.read
.format( "com.databricks.spark.csv" )
.option( "header", "true" )
.load( "/var/kaggle-data/train*.gz" )
ソースコードはこんなかんじです。
※scalaを使っています
CSVの読み込み&パース
PipelineSQL/DataFrame
Apache Spark
12
読み込み
&
パース
特徴ベクトル
に変換
学習 検証
CSVファイル Hashing Trick
Logistic
Regression
spark-csv
Cross
Validator
3 4
特徴ベクトルに変換
1 2
!
DataFrameに読み込んだCSVは、Hashing Trickにかけ
ロジスティック回帰モデルで訓練するために少し加工
します。
クリックされたかどうかを目的変数(=label)とし、
その他の項目を説明変数(=特徴)とします。
13
特徴ベクトルに変換
id click hour C1 banner_pos app_id site_id ...
1 0 2015080106 abc 9 9 5 ...
2 0 2015080106 def 5 10 10 ...
3 1 2015080107 ghi 1 2 2 ...
4 0 2015080107 jkl 0 5 6 ...
目的変数 説明変数
この数値も文字列も含む特徴から
Hashing Trickを使って
特徴ベクトルをつくりたいのですが・・・
14
特徴ベクトルに変換
!
Hashing Trickを行う際に、このままのデータだと
少し困ったことになります。
!
例えば
site_id=10, app_id=10, banner_pos=9, ..
というレコードの特徴は下記のようになるので
(10, 10, 9, ..)
!
site_idを表す10とapp_idを表す10の
区別がなくなってしまいます。
15
特徴ベクトルに変換
!
そこで
site_id=10 → site_id:10
app_id=10 → app_id:10
のように
項目名を値に付与することで特徴として区別します。
!
(10, 10, 9, ..)
↓
(site_id:10, app_id:10, banner_pos:..)
16
特徴ベクトルに変換
17
日付は、時刻部分だけを特徴として使いたいので時刻
を取り出すUDFも作成します。
val f = udf { (v:String, prefix:String ) => s"$prefix:$v" }
!
UDF(=UserDefinedFunction)を作成して
DataFrameを加工します。
!
項目名と値を結合するUDFはこんなかんじです。
val hour = udf { (v:String ) => v slice( 6, 8 ) }
特徴ベクトルに変換
18
val data = rawCsv.select(
$"id",
$"click".cast( DoubleType ).as( "label" ),
array(
f( hour( $"hour" ), lit( "hour" ),
f( $"C1", lit( "C1" ),
f( $"banner_pos", lit( "banner_pos" ),
f( $"site_id", lit( "site_id" ),
f( $"site_domain", lit( "site_domain" ),
f( $"site_category", lit( "site_category" ),
:
f( $"C21", lit( "C21" ) )
).as( "text" )
)
!
先ほどのUDFを使ってDataFrameを加工し、訓練データ
を準備します。
特徴ベクトルに変換
PipelineSQL/DataFrame
Apache Spark
19
読み込み
&
パース
特徴ベクトル
に変換
学習 検証
CSVファイル Hashing Trick
Logistic
Regression
spark-csv
Cross
Validator
4
学習
1 2 3
!
訓練データの準備ができたので
Pipelineを使って
HashingTrickによる特徴のベクトル化
〜ロジスティック回帰による確率推定
のフローを組み立てます。
20
学習
!
今回使う
• Hashing Trick
• LogisticRegression
をPipelineStageとしてPipelineに渡します。
21
val hashingTF = new HashingTF()
.setNumFeatures( 1000 )
.setInputCol( "text" )
.setOutputCol( "features" )
!
val lr = new LogisticRegression()
.setMaxIter( 10 )
.setRegParam( 0.1 )
!
val pipeline = new Pipeline().setStages( Array( hashingTF, lr ) )
学習
PipelineStage
!
後は先ほど準備した訓練データをPipelineに
fitさせるだけです。
22
val model = pipeline.fit( train )
PipelineはHashing Trickとロジスティック回帰を
順次実行します。
Pipeline
Hashing
Trick
Logistic
Regression
DataFrame
(site_id:10, app_id:
10,..), (..
学習
!
学習済みのモデルにテストデータを渡すと
probability(確率)がベクトルで出てきます。
probabilityベクトルのインデックス1番目が
clickされる確率を表します。
23
model.transform( test ).select(
$"label",
$"prediction",
v0( $"probability" ).as( "probability0" ),
v1( $"probability" ).as( "probability1" )
).take(10).foreach ( predictPrint )
label:0.0, predict:0.0, v(0):0.8720480148381256, v(1):0.1279519851618744
label:1.0, predict:0.0, v(0):0.7926627870942957, v(1):0.2073372129057043
label:1.0, predict:1.0, v(0):0.4711335790138061, v(1):0.5288664209861939
label:1.0, predict:1.0, v(0):0.4756467107691264, v(1):0.5243532892308737
:
↑probability(1)>0.5の場合に1.0と推定されているのがわかります。
学習
CTR
PipelineSQL/DataFrame
Apache Spark
24
読み込み
&
パース
特徴ベクトル
に変換
学習 検証
CSVファイル Hashing Trick
Logistic
Regression
spark-csv
Cross
Validator
検証
1 2 3 4
!
Spark MLlibには、交差検証を使って
モデルに最適なパラメータを選択するための
仕組みがあります。
最後にこれを使って
パラメータのチューニングを行います。
25
検証
先ほどのPipelineをCrossValidatorに渡して
CrossValidatorモデルを作成します。
26
val crossval = new CrossValidator()
.setEstimator( pipeline )
.setEvaluator( new RegressionEvaluator )
検証
検証したいパラメータ・グリッドを作成します。
27
val paramGrid = new ParamGridBuilder()
.addGrid( hashingTF.numFeatures, Array(10, 1000) )
.addGrid( lr.regParam, Array(0.1, 0.001) )
.addGrid( lr.maxIter, Array(10, 100) ).build()
↑この例では2×2×2=8回の試行が行われて
最適パラメータが決定します。
※つまり結構な時間がかかります。
検証
先ほど作成したパラメータ・グリッドと
fold数(訓練データ対テストデータの分割数)を渡して
訓練を開始します。
28
crossval.setEstimatorParamMaps( paramGrid )
crossval.setNumFolds( 3 )
!
val cvModel = crossval.fit( train )
検証
訓練が完了したら最適モデルを取り出して
最適パラメータを確認することができます。
29
val parent = cvModel.bestModel.parent.asInstanceOf[Pipeline]
val bestHT = parent.getStages(0).asInstanceOf[HashingTF]
val bestLR = parent.getStages(1).asInstanceOf[LogisticRegression]
!
println(s"numFeatures: ${bestHT.getNumFeatures}")
println(s"regParam: ${bestLR.getRegParam}")
println(s"maxIter: ${bestLR.getMaxIter}")
numFeatures: 1000
regParam: 0.001
maxIter: 100
このモデルを使って推定もできます。
→動的なパラメータ・チューニングが可能!
検証
ソースコードは下記に公開しています。
https://github.com/x1-/spark-example/blob/master/src/main/
scala/com/inkenkun/x1/spark/examples/ml/HashingTrickLR.scala
30
ご清聴ありがとうございました。

Weitere ähnliche Inhalte

Was ist angesagt?

2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame IntroductionYu Ishikawa
 
20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_publicKazuaki Ishizaki
 
ML Pipelineで実践機械学習
ML Pipelineで実践機械学習ML Pipelineで実践機械学習
ML Pipelineで実践機械学習Kazuki Taniguchi
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrowKohei KaiGai
 
Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京tuchimur
 
20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_public20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_publicKazuaki Ishizaki
 
Parquetはカラムナなのか?
Parquetはカラムナなのか?Parquetはカラムナなのか?
Parquetはカラムナなのか?Yohei Azekatsu
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~Miki Shimogai
 
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用Shintaro Fukushima
 
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門Koichi Hamada
 
問合せ最適化インサイド
問合せ最適化インサイド問合せ最適化インサイド
問合せ最適化インサイドTakahiro Itagaki
 
JP version - Beyond Shuffling - Apache Spark のスケールアップのためのヒントとコツ
JP version - Beyond Shuffling - Apache Spark のスケールアップのためのヒントとコツJP version - Beyond Shuffling - Apache Spark のスケールアップのためのヒントとコツ
JP version - Beyond Shuffling - Apache Spark のスケールアップのためのヒントとコツHolden Karau
 
Hivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービスHivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービスKentaro Yoshida
 
データサイエンティスト必見!M-1グランプリ
データサイエンティスト必見!M-1グランプリデータサイエンティスト必見!M-1グランプリ
データサイエンティスト必見!M-1グランプリSatoshi Kitajima
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Yasuyuki Sugai
 
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要Toshihiro Kamishima
 
Why dont you_create_new_spark_jl
Why dont you_create_new_spark_jlWhy dont you_create_new_spark_jl
Why dont you_create_new_spark_jlShintaro Fukushima
 
Hive on Spark の設計指針を読んでみた
Hive on Spark の設計指針を読んでみたHive on Spark の設計指針を読んでみた
Hive on Spark の設計指針を読んでみたRecruit Technologies
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStromKohei KaiGai
 
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...Hadoop / Spark Conference Japan
 

Was ist angesagt? (20)

2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
 
20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public
 
ML Pipelineで実践機械学習
ML Pipelineで実践機械学習ML Pipelineで実践機械学習
ML Pipelineで実践機械学習
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow
 
Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京
 
20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_public20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_public
 
Parquetはカラムナなのか?
Parquetはカラムナなのか?Parquetはカラムナなのか?
Parquetはカラムナなのか?
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
 
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
 
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
 
問合せ最適化インサイド
問合せ最適化インサイド問合せ最適化インサイド
問合せ最適化インサイド
 
JP version - Beyond Shuffling - Apache Spark のスケールアップのためのヒントとコツ
JP version - Beyond Shuffling - Apache Spark のスケールアップのためのヒントとコツJP version - Beyond Shuffling - Apache Spark のスケールアップのためのヒントとコツ
JP version - Beyond Shuffling - Apache Spark のスケールアップのためのヒントとコツ
 
Hivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービスHivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービス
 
データサイエンティスト必見!M-1グランプリ
データサイエンティスト必見!M-1グランプリデータサイエンティスト必見!M-1グランプリ
データサイエンティスト必見!M-1グランプリ
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
 
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要
 
Why dont you_create_new_spark_jl
Why dont you_create_new_spark_jlWhy dont you_create_new_spark_jl
Why dont you_create_new_spark_jl
 
Hive on Spark の設計指針を読んでみた
Hive on Spark の設計指針を読んでみたHive on Spark の設計指針を読んでみた
Hive on Spark の設計指針を読んでみた
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStrom
 
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
Project Tungsten Bringing Spark Closer to Bare Meta (Hadoop / Spark Conferenc...
 

Andere mochten auch

Sparkを用いたビッグデータ解析 〜 前編 〜
Sparkを用いたビッグデータ解析 〜 前編 〜Sparkを用いたビッグデータ解析 〜 前編 〜
Sparkを用いたビッグデータ解析 〜 前編 〜x1 ichi
 
競馬の格言を地方競馬で検証してみた
競馬の格言を地方競馬で検証してみた競馬の格言を地方競馬で検証してみた
競馬の格言を地方競馬で検証してみたx1 ichi
 
女性エンジニアの1週間
女性エンジニアの1週間女性エンジニアの1週間
女性エンジニアの1週間x1 ichi
 
本当にあったApache Spark障害の話
本当にあったApache Spark障害の話本当にあったApache Spark障害の話
本当にあったApache Spark障害の話x1 ichi
 
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築Junichi Noda
 
あなたのScalaを爆速にする7つの方法
あなたのScalaを爆速にする7つの方法あなたのScalaを爆速にする7つの方法
あなたのScalaを爆速にする7つの方法x1 ichi
 
あなたのScalaを爆速にする7つの方法(日本語版)
あなたのScalaを爆速にする7つの方法(日本語版)あなたのScalaを爆速にする7つの方法(日本語版)
あなたのScalaを爆速にする7つの方法(日本語版)x1 ichi
 
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウSpark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウFuture Of Data Japan
 
MillWheel Fault-Tolerant Stream Processing at Internet Scaleの意訳
MillWheel Fault-Tolerant Stream Processing at Internet Scaleの意訳MillWheel Fault-Tolerant Stream Processing at Internet Scaleの意訳
MillWheel Fault-Tolerant Stream Processing at Internet Scaleの意訳x1 ichi
 
解説: a semantic approach to recommending text advertisements for images
解説: a semantic approach to recommending text advertisements for images解説: a semantic approach to recommending text advertisements for images
解説: a semantic approach to recommending text advertisements for imagesx1 ichi
 
バッチではじめてAkkaを使ってみた (refined)
バッチではじめてAkkaを使ってみた (refined)バッチではじめてAkkaを使ってみた (refined)
バッチではじめてAkkaを使ってみた (refined)Koji Agawa
 
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnightKafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnightYahoo!デベロッパーネットワーク
 
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」Kazuki Taniguchi
 
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
 
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09MapR Technologies Japan
 
Spark GraphFrames のススメ
Spark GraphFrames のススメSpark GraphFrames のススメ
Spark GraphFrames のススメNagato Kasaki
 
「HTML5」における動画DRMのゆくえとか
「HTML5」における動画DRMのゆくえとか「HTML5」における動画DRMのゆくえとか
「HTML5」における動画DRMのゆくえとかTeiichi Ota
 
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化Amazon Web Services Japan
 

Andere mochten auch (20)

Sparkを用いたビッグデータ解析 〜 前編 〜
Sparkを用いたビッグデータ解析 〜 前編 〜Sparkを用いたビッグデータ解析 〜 前編 〜
Sparkを用いたビッグデータ解析 〜 前編 〜
 
競馬の格言を地方競馬で検証してみた
競馬の格言を地方競馬で検証してみた競馬の格言を地方競馬で検証してみた
競馬の格言を地方競馬で検証してみた
 
女性エンジニアの1週間
女性エンジニアの1週間女性エンジニアの1週間
女性エンジニアの1週間
 
本当にあったApache Spark障害の話
本当にあったApache Spark障害の話本当にあったApache Spark障害の話
本当にあったApache Spark障害の話
 
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
 
あなたのScalaを爆速にする7つの方法
あなたのScalaを爆速にする7つの方法あなたのScalaを爆速にする7つの方法
あなたのScalaを爆速にする7つの方法
 
あなたのScalaを爆速にする7つの方法(日本語版)
あなたのScalaを爆速にする7つの方法(日本語版)あなたのScalaを爆速にする7つの方法(日本語版)
あなたのScalaを爆速にする7つの方法(日本語版)
 
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウSpark Streamingを活用したシステムの検証結果と設計時のノウハウ
Spark Streamingを活用したシステムの検証結果と設計時のノウハウ
 
MillWheel Fault-Tolerant Stream Processing at Internet Scaleの意訳
MillWheel Fault-Tolerant Stream Processing at Internet Scaleの意訳MillWheel Fault-Tolerant Stream Processing at Internet Scaleの意訳
MillWheel Fault-Tolerant Stream Processing at Internet Scaleの意訳
 
解説: a semantic approach to recommending text advertisements for images
解説: a semantic approach to recommending text advertisements for images解説: a semantic approach to recommending text advertisements for images
解説: a semantic approach to recommending text advertisements for images
 
バッチではじめてAkkaを使ってみた (refined)
バッチではじめてAkkaを使ってみた (refined)バッチではじめてAkkaを使ってみた (refined)
バッチではじめてAkkaを使ってみた (refined)
 
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnightKafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
 
Apache Atlasの現状とデータガバナンス事例 #hadoopreading
Apache Atlasの現状とデータガバナンス事例 #hadoopreadingApache Atlasの現状とデータガバナンス事例 #hadoopreading
Apache Atlasの現状とデータガバナンス事例 #hadoopreading
 
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
 
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
 
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
 
Apache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATAApache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATA
 
Spark GraphFrames のススメ
Spark GraphFrames のススメSpark GraphFrames のススメ
Spark GraphFrames のススメ
 
「HTML5」における動画DRMのゆくえとか
「HTML5」における動画DRMのゆくえとか「HTML5」における動画DRMのゆくえとか
「HTML5」における動画DRMのゆくえとか
 
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
 

Ähnlich wie 広告配信現場で使うSpark機械学習

HBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpFwardNetwork
 
DB TechShowcase Tokyo - Intelligent Data Platform
DB TechShowcase Tokyo - Intelligent Data PlatformDB TechShowcase Tokyo - Intelligent Data Platform
DB TechShowcase Tokyo - Intelligent Data PlatformDaiyu Hatakeyama
 
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019Yuji Kanemoto
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Yuji Takayama
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回Naoyuki Yamada
 
勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration勉強会force#4 Chatter Integration
勉強会force#4 Chatter IntegrationKazuki Nakajima
 
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLTaisuke Fukuno
 
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api   cms どうでしょう - 大阪夏の陣初めての Data api   cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣Yuji Takayama
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSAyumi Goto
 
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~decode2016
 
Apexコアデベロッパーセミナー070726 配布用
Apexコアデベロッパーセミナー070726 配布用Apexコアデベロッパーセミナー070726 配布用
Apexコアデベロッパーセミナー070726 配布用stomita
 
TerraformでECS+ECRする話
TerraformでECS+ECRする話TerraformでECS+ECRする話
TerraformでECS+ECRする話Satoshi Hirayama
 
実動するIot&hadoopから学ぶ会_資料
実動するIot&hadoopから学ぶ会_資料実動するIot&hadoopから学ぶ会_資料
実動するIot&hadoopから学ぶ会_資料FwardNetwork
 
初めての Data API CMS どうでしょう - 仙台編 -
初めての Data API   CMS どうでしょう - 仙台編 -初めての Data API   CMS どうでしょう - 仙台編 -
初めての Data API CMS どうでしょう - 仙台編 -Yuji Takayama
 

Ähnlich wie 広告配信現場で使うSpark機械学習 (20)

HBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejp
 
DB TechShowcase Tokyo - Intelligent Data Platform
DB TechShowcase Tokyo - Intelligent Data PlatformDB TechShowcase Tokyo - Intelligent Data Platform
DB TechShowcase Tokyo - Intelligent Data Platform
 
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
 
勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration
 
Visualforce + jQuery
Visualforce + jQueryVisualforce + jQuery
Visualforce + jQuery
 
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
 
Azure DataLake 大全
Azure DataLake 大全Azure DataLake 大全
Azure DataLake 大全
 
Parse触ってみた
Parse触ってみたParse触ってみた
Parse触ってみた
 
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api   cms どうでしょう - 大阪夏の陣初めての Data api   cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
 
Apexコアデベロッパーセミナー070726 配布用
Apexコアデベロッパーセミナー070726 配布用Apexコアデベロッパーセミナー070726 配布用
Apexコアデベロッパーセミナー070726 配布用
 
TerraformでECS+ECRする話
TerraformでECS+ECRする話TerraformでECS+ECRする話
TerraformでECS+ECRする話
 
実動するIot&hadoopから学ぶ会_資料
実動するIot&hadoopから学ぶ会_資料実動するIot&hadoopから学ぶ会_資料
実動するIot&hadoopから学ぶ会_資料
 
初めての Data API CMS どうでしょう - 仙台編 -
初めての Data API   CMS どうでしょう - 仙台編 -初めての Data API   CMS どうでしょう - 仙台編 -
初めての Data API CMS どうでしょう - 仙台編 -
 
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 

広告配信現場で使うSpark機械学習