SlideShare a Scribd company logo
Jubakitでもっと楽をしよう
Tetsuya Shioda
Jubatus hands-on #5 November 1, 2017
本資料で話すこと
• Jubakit の紹介
• Jubakit を使ってデフォルト判定をしてみる
• 前回の Casual Talk からの機能改善
• scikit-learn wrapper の紹介
• embedded jubatus の紹介
• まとめ
Jubatus hands-on #5 2
Jubakit とは
• Jubatus を使ったデータ分析を もっと簡単に する
Pythonモジュール
• 何が簡単になった?
• scikit-learnとの連携 や外部データソースの取り込みなどが簡単
• Jubatusサーバの起動不要で、パラメータチューニングが簡単
• 利用環境:
• Python 2.7 以降、Python 3.3 以降をサポート
• Jubatus 0.8.0 以降で利用可能
Jubatus hands-on #5 3
前回の Casual Talk
• https://www.slideshare.net/kmaehashi/jubakit-63202847
• http://jubat.us/ja/jubakit/
Jubatus hands-on #5 4
Jubakit の アーキテクチャ
Jubatus hands-on #5 5
デフォルト判定をJubakitで行う
Jubatus hands-on #5 6
1. CSVLoader を利用してデータセットを読み込む
2. 分類サービスを起動して、学習と予測を行う
データセットの読み込み
Jubatus hands-on #5 7
from jubakit.classifier import Dataset, Schema
from jubakit.loader.csv import CSVLoader
schema = Schema({“Y”: Schema.LABEL},
Schema.NUMBER)
loader = CSVLoader(“data/dataset_train.csv”)
dataset = Dataset(loader, schema)
Jubakit に流し込める Dataset を作成する
データセットの読み込み
Jubatus hands-on #5 8
from jubakit.classifier import Dataset, Schema
from jubakit.loader.csv import CSVLoader
schema = Schema({“Y”: Schema.LABEL},
Schema.NUMBER)
loader = CSVLoader(“data/dataset_train.csv”)
dataset = Dataset(loader, schema)
“Y”列をラベルとして読み込み、その他は全て数値型にする
データセットの読み込み
Jubatus hands-on #5 9
from jubakit.classifier import Dataset, Schema
from jubakit.loader.csv import CSVLoader
schema = Schema({“Y”: Schema.LABEL},
Schema.NUMBER)
loader = CSVLoader(“data/dataset_train.csv”)
dataset = Dataset(loader, schema)
読み込みたいCSVファイルを指定する
データセットの読み込み
Jubatus hands-on #5 10
from jubakit.classifier import Dataset, Schema
from jubakit.loader.csv import CSVLoader
schema = Schema({“Y”: Schema.LABEL},
Schema.NUMBER)
loader = CSVLoader(“data/dataset_train.csv”)
dataset = Dataset(loader, schema)
loaderとschemaを利用して、データセットを作成する
分類サービスの作成
Jubatus hands-on #5 11
from jubakit.classifier import Classifier, Config
config = Config(method=“AROW”,
parameter={
“regularization_weight”: 0.1
})
classifier = Classifier.run(config)
設定を引数でダイレクトに定義して、Serviceを起動する
分類サービスの作成
Jubatus hands-on #5 12
from jubakit.classifier import Classifier, Config
config = Config(method=“AROW”,
parameter={
“regularization_weight”: 0.1
})
classifier = Classifier.run(config)
JSONで記述していた設定を引数に渡す
分類サービスの作成
Jubatus hands-on #5 13
from jubakit.classifier import Classifier, Config
config = Config(method=“AROW”,
parameter={
“regularization_weight”: 0.1
})
Classifier = Classifier.run(config)
Classifierサービスを起動する
学習・予測を行う
Jubatus hands-on #5 14
for _ in classifier.train(dataset_train):
pass
y_true, y_pred = [], []
for (idx, label, result) in
classifier.classify(dataset_test):
y_true.append(label)
y_pred.append(result[0][0])
通常のJubatusと同様に、train/classifyを呼ぶ
学習・予測を行う
Jubatus hands-on #5 15
for _ in classifier.train(dataset_train):
pass
y_true, y_pred = [], []
for (idx, label, result) in
classifier.classify(dataset_test):
y_true.append(label)
y_pred.append(result[0][0])
学習を行う (yieldなのでfor文を回す)
学習・予測を行う
Jubatus hands-on #5 16
for _ in classifier.train(dataset_train):
pass
y_true, y_pred = [], []
for (idx, label, result) in
classifier.classify(dataset_test):
y_true.append(label)
y_pred.append(result[0][0])
予測結果を取得する
確信度の最も高いラベルを取るにはresult[0][0]
前回の Casual Talk からの変更点
 分析機能 の追加:
 Classifier, Anomaly, Recommender, Regression が利用可能
 scikit-learn wrapper の追加:
 fit(X, y) や predict(X) など、お馴染みの API から Jubatus を利用可能
 jubash:CLI を利用して対話的に Jubatus を利用できるツール
 コードを書くまでもないが、挙動確認をしたいときに便利
 jubamodel:保存したモデルの設定変更ができるツール
 config の書き換え
 近傍探索モデルのClassifierモデルとの相互変換、など
Jubatus hands-on #5 17
scikit-learn wrapper の使い方
Jubatus hands-on #5 18
from sklearn.metrics import classification_report
from jubakit.wrapper.classifier import LinearClassifier
clf = LinearClassifier(method=“AROW”,
regularization_weight=0.1,
embedded=False)
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
print(classification_report(y_test, y_pred))
scikit-learn と同様のインターフェースで利用可能
scikit-learn wrapper の使い方
Jubatus hands-on #5 19
from sklearn.metrics import classification_report
from jubakit.wrapper.classifier import LinearClassifier
clf = LinearClassifier(method=“AROW”,
regularization_weight=0.1,
embedded=False)
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
print(classification_report(y_test, y_pred))
embeddedオプション:embedded_jubatusを使うか否か
Embedded Jubatus
• jubatus_coreを直接叩ける Pythonモジュール
• jubatus_core: Jubatusの機械学習実装部
• データ授受が高速なのでパラメータ調整などで役立つ
• クライアントを少し変えるだけで利用可能
Jubatus hands-on #5 20
from jubatus.classifier.client import Classifier
classifier = Classifier(host, port, name)
from jubatus.embedded import Classifier
classifier = Classifier(‘config.json’)
設定ファイルのJSONを直接パスで指定するだけでOK
今まで
embedded
本資料で話したこと
• Jubakit の紹介
• Jubakit を使ってデフォルト判定をしてみる
• 前回の Casual Talk からの機能改善
• scikit-learn wrapper の紹介
• embedded jubatus の紹介
Jubatus hands-on #5 21
さいごに
Pull-Request お待ちしてます!
https://github.com/jubatus/jubakit
Jubatus hands-on #5 22

More Related Content

What's hot

Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類Shuzo Kashihara
 
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化JubatusOfficial
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門Takuji Tahara
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようHiroshi Funai
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達Hiromasa Ohashi
 
みんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extrasみんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extrasTakuji Tahara
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Yasuyuki Sugai
 
jubarecommenderの紹介
jubarecommenderの紹介jubarecommenderの紹介
jubarecommenderの紹介JubatusOfficial
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of PythonTakanori Suzuki
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Etsuji Nakai
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門Hironori Sekine
 
SensorBeeでChainerをプラグインとして使う
SensorBeeでChainerをプラグインとして使うSensorBeeでChainerをプラグインとして使う
SensorBeeでChainerをプラグインとして使うDaisuke Tanaka
 
エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半Tetsuya Morimoto
 
深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待Seiya Tokui
 
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習Motoya Wakiyama
 
Introduction to Chainer and CuPy
Introduction to Chainer and CuPyIntroduction to Chainer and CuPy
Introduction to Chainer and CuPyKenta Oono
 

What's hot (20)

JubaQLご紹介
JubaQLご紹介JubaQLご紹介
JubaQLご紹介
 
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類
 
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
 
jubabanditの紹介
jubabanditの紹介jubabanditの紹介
jubabanditの紹介
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達
 
みんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extrasみんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extras
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
 
jubarecommenderの紹介
jubarecommenderの紹介jubarecommenderの紹介
jubarecommenderの紹介
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
SensorBeeでChainerをプラグインとして使う
SensorBeeでChainerをプラグインとして使うSensorBeeでChainerをプラグインとして使う
SensorBeeでChainerをプラグインとして使う
 
エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半
 
深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待
 
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習
 
Introduction to Chainer and CuPy
Introduction to Chainer and CuPyIntroduction to Chainer and CuPy
Introduction to Chainer and CuPy
 
SensorBeeのご紹介
SensorBeeのご紹介SensorBeeのご紹介
SensorBeeのご紹介
 

Viewers also liked

発言小町からのプロファイリング
発言小町からのプロファイリング発言小町からのプロファイリング
発言小町からのプロファイリングJubatusOfficial
 
Python 特徴抽出プラグイン
Python 特徴抽出プラグインPython 特徴抽出プラグイン
Python 特徴抽出プラグインJubatusOfficial
 
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)JubatusOfficial
 
Jubatus解説本の紹介
Jubatus解説本の紹介Jubatus解説本の紹介
Jubatus解説本の紹介JubatusOfficial
 
かまってちゃん小町
かまってちゃん小町かまってちゃん小町
かまってちゃん小町JubatusOfficial
 
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する新聞から今年の漢字を予測する
新聞から今年の漢字を予測するJubatusOfficial
 
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみたJubatusOfficial
 
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAIJubatusOfficial
 
gRPCをちょこっと調べた話
gRPCをちょこっと調べた話gRPCをちょこっと調べた話
gRPCをちょこっと調べた話Shuzo Kashihara
 
FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」Shohei Hido
 
もくもく成果 IMAMASU
もくもく成果 IMAMASUもくもく成果 IMAMASU
もくもく成果 IMAMASUJubatusOfficial
 
もくもくしたこと
もくもくしたこともくもくしたこと
もくもくしたことk_oi
 
Jubatusハンズオン 機械学習はじめてみた
Jubatusハンズオン 機械学習はじめてみたJubatusハンズオン 機械学習はじめてみた
Jubatusハンズオン 機械学習はじめてみたJubatusOfficial
 
"アレ"からJubatusを使う
"アレ"からJubatusを使う"アレ"からJubatusを使う
"アレ"からJubatusを使うJubatusOfficial
 
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用JubatusOfficial
 
Apache Thrift Outline
Apache Thrift OutlineApache Thrift Outline
Apache Thrift OutlineAkihiro Katou
 

Viewers also liked (20)

発言小町からのプロファイリング
発言小町からのプロファイリング発言小町からのプロファイリング
発言小町からのプロファイリング
 
Python 特徴抽出プラグイン
Python 特徴抽出プラグインPython 特徴抽出プラグイン
Python 特徴抽出プラグイン
 
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
 
Jubatus解説本の紹介
Jubatus解説本の紹介Jubatus解説本の紹介
Jubatus解説本の紹介
 
かまってちゃん小町
かまってちゃん小町かまってちゃん小町
かまってちゃん小町
 
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
 
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
 
新機能紹介 1.0.6
新機能紹介 1.0.6新機能紹介 1.0.6
新機能紹介 1.0.6
 
銀座のママ
銀座のママ銀座のママ
銀座のママ
 
JUBARHYME
JUBARHYMEJUBARHYME
JUBARHYME
 
小町の溜息
小町の溜息小町の溜息
小町の溜息
 
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
 
gRPCをちょこっと調べた話
gRPCをちょこっと調べた話gRPCをちょこっと調べた話
gRPCをちょこっと調べた話
 
FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」
 
もくもく成果 IMAMASU
もくもく成果 IMAMASUもくもく成果 IMAMASU
もくもく成果 IMAMASU
 
もくもくしたこと
もくもくしたこともくもくしたこと
もくもくしたこと
 
Jubatusハンズオン 機械学習はじめてみた
Jubatusハンズオン 機械学習はじめてみたJubatusハンズオン 機械学習はじめてみた
Jubatusハンズオン 機械学習はじめてみた
 
"アレ"からJubatusを使う
"アレ"からJubatusを使う"アレ"からJubatusを使う
"アレ"からJubatusを使う
 
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
 
Apache Thrift Outline
Apache Thrift OutlineApache Thrift Outline
Apache Thrift Outline
 

Similar to Jubakitの解説

みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしようみんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしようAtsushi Odagiri
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)NTT DATA Technology & Innovation
 
QGISセミナー・中級編 Ver. 2.4版
QGISセミナー・中級編 Ver. 2.4版QGISセミナー・中級編 Ver. 2.4版
QGISセミナー・中級編 Ver. 2.4版FOSS4G_MEXT
 
QGISセミナー中級編(V2.4)
QGISセミナー中級編(V2.4)QGISセミナー中級編(V2.4)
QGISセミナー中級編(V2.4)IWASAKI NOBUSUKE
 
はじめてのPython
はじめてのPythonはじめてのPython
はじめてのPythonKatsumi Honda
 
eggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptoolseggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptoolsAtsushi Odagiri
 
QGISセミナー初級・実践編(V2.4)
QGISセミナー初級・実践編(V2.4)QGISセミナー初級・実践編(V2.4)
QGISセミナー初級・実践編(V2.4)IWASAKI NOBUSUKE
 
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版FOSS4G_MEXT
 
Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1Kosuke Kida
 
datetime.datetime.now()をモックしたい.pdf
datetime.datetime.now()をモックしたい.pdfdatetime.datetime.now()をモックしたい.pdf
datetime.datetime.now()をモックしたい.pdfYutaNemoto1
 
RTM講習会 2部
RTM講習会 2部RTM講習会 2部
RTM講習会 2部openrtm
 
Easy caching and logging package using annotation in Python
Easy caching and logging package using annotation in PythonEasy caching and logging package using annotation in Python
Easy caching and logging package using annotation in PythonYasunori Horikoshi
 
PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)Takayuki Shimizukawa
 
Distutil setuptools distribute
Distutil setuptools distributeDistutil setuptools distribute
Distutil setuptools distributeAtsushi Odagiri
 
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Djangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組みDjangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組みShinya Okano
 
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Nobuyuki Tamaoki
 
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Exastro IT Automation オンラインインストール v1.4.1
Exastro IT Automation オンラインインストール  v1.4.1Exastro IT Automation オンラインインストール  v1.4.1
Exastro IT Automation オンラインインストール v1.4.1Exastro Suite Community
 

Similar to Jubakitの解説 (20)

みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしようみんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
QGISセミナー・中級編 Ver. 2.4版
QGISセミナー・中級編 Ver. 2.4版QGISセミナー・中級編 Ver. 2.4版
QGISセミナー・中級編 Ver. 2.4版
 
QGISセミナー中級編(V2.4)
QGISセミナー中級編(V2.4)QGISセミナー中級編(V2.4)
QGISセミナー中級編(V2.4)
 
はじめてのPython
はじめてのPythonはじめてのPython
はじめてのPython
 
eggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptoolseggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptools
 
QGISセミナー初級・実践編(V2.4)
QGISセミナー初級・実践編(V2.4)QGISセミナー初級・実践編(V2.4)
QGISセミナー初級・実践編(V2.4)
 
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
 
Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1
 
datetime.datetime.now()をモックしたい.pdf
datetime.datetime.now()をモックしたい.pdfdatetime.datetime.now()をモックしたい.pdf
datetime.datetime.now()をモックしたい.pdf
 
RTM講習会 2部
RTM講習会 2部RTM講習会 2部
RTM講習会 2部
 
Easy caching and logging package using annotation in Python
Easy caching and logging package using annotation in PythonEasy caching and logging package using annotation in Python
Easy caching and logging package using annotation in Python
 
PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)
 
Distutil setuptools distribute
Distutil setuptools distributeDistutil setuptools distribute
Distutil setuptools distribute
 
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Git
GitGit
Git
 
Djangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組みDjangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組み
 
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
 
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Exastro IT Automation オンラインインストール v1.4.1
Exastro IT Automation オンラインインストール  v1.4.1Exastro IT Automation オンラインインストール  v1.4.1
Exastro IT Automation オンラインインストール v1.4.1
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizesatsushi061452
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521Satoshi Makita
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...atsushi061452
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )iwashiira2ctf
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayersToru Tamaki
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一瑛一 西口
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑Akihiro Kadohata
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationToru Tamaki
 

Recently uploaded (12)

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 

Jubakitの解説

  • 2. 本資料で話すこと • Jubakit の紹介 • Jubakit を使ってデフォルト判定をしてみる • 前回の Casual Talk からの機能改善 • scikit-learn wrapper の紹介 • embedded jubatus の紹介 • まとめ Jubatus hands-on #5 2
  • 3. Jubakit とは • Jubatus を使ったデータ分析を もっと簡単に する Pythonモジュール • 何が簡単になった? • scikit-learnとの連携 や外部データソースの取り込みなどが簡単 • Jubatusサーバの起動不要で、パラメータチューニングが簡単 • 利用環境: • Python 2.7 以降、Python 3.3 以降をサポート • Jubatus 0.8.0 以降で利用可能 Jubatus hands-on #5 3
  • 4. 前回の Casual Talk • https://www.slideshare.net/kmaehashi/jubakit-63202847 • http://jubat.us/ja/jubakit/ Jubatus hands-on #5 4
  • 6. デフォルト判定をJubakitで行う Jubatus hands-on #5 6 1. CSVLoader を利用してデータセットを読み込む 2. 分類サービスを起動して、学習と予測を行う
  • 7. データセットの読み込み Jubatus hands-on #5 7 from jubakit.classifier import Dataset, Schema from jubakit.loader.csv import CSVLoader schema = Schema({“Y”: Schema.LABEL}, Schema.NUMBER) loader = CSVLoader(“data/dataset_train.csv”) dataset = Dataset(loader, schema) Jubakit に流し込める Dataset を作成する
  • 8. データセットの読み込み Jubatus hands-on #5 8 from jubakit.classifier import Dataset, Schema from jubakit.loader.csv import CSVLoader schema = Schema({“Y”: Schema.LABEL}, Schema.NUMBER) loader = CSVLoader(“data/dataset_train.csv”) dataset = Dataset(loader, schema) “Y”列をラベルとして読み込み、その他は全て数値型にする
  • 9. データセットの読み込み Jubatus hands-on #5 9 from jubakit.classifier import Dataset, Schema from jubakit.loader.csv import CSVLoader schema = Schema({“Y”: Schema.LABEL}, Schema.NUMBER) loader = CSVLoader(“data/dataset_train.csv”) dataset = Dataset(loader, schema) 読み込みたいCSVファイルを指定する
  • 10. データセットの読み込み Jubatus hands-on #5 10 from jubakit.classifier import Dataset, Schema from jubakit.loader.csv import CSVLoader schema = Schema({“Y”: Schema.LABEL}, Schema.NUMBER) loader = CSVLoader(“data/dataset_train.csv”) dataset = Dataset(loader, schema) loaderとschemaを利用して、データセットを作成する
  • 11. 分類サービスの作成 Jubatus hands-on #5 11 from jubakit.classifier import Classifier, Config config = Config(method=“AROW”, parameter={ “regularization_weight”: 0.1 }) classifier = Classifier.run(config) 設定を引数でダイレクトに定義して、Serviceを起動する
  • 12. 分類サービスの作成 Jubatus hands-on #5 12 from jubakit.classifier import Classifier, Config config = Config(method=“AROW”, parameter={ “regularization_weight”: 0.1 }) classifier = Classifier.run(config) JSONで記述していた設定を引数に渡す
  • 13. 分類サービスの作成 Jubatus hands-on #5 13 from jubakit.classifier import Classifier, Config config = Config(method=“AROW”, parameter={ “regularization_weight”: 0.1 }) Classifier = Classifier.run(config) Classifierサービスを起動する
  • 14. 学習・予測を行う Jubatus hands-on #5 14 for _ in classifier.train(dataset_train): pass y_true, y_pred = [], [] for (idx, label, result) in classifier.classify(dataset_test): y_true.append(label) y_pred.append(result[0][0]) 通常のJubatusと同様に、train/classifyを呼ぶ
  • 15. 学習・予測を行う Jubatus hands-on #5 15 for _ in classifier.train(dataset_train): pass y_true, y_pred = [], [] for (idx, label, result) in classifier.classify(dataset_test): y_true.append(label) y_pred.append(result[0][0]) 学習を行う (yieldなのでfor文を回す)
  • 16. 学習・予測を行う Jubatus hands-on #5 16 for _ in classifier.train(dataset_train): pass y_true, y_pred = [], [] for (idx, label, result) in classifier.classify(dataset_test): y_true.append(label) y_pred.append(result[0][0]) 予測結果を取得する 確信度の最も高いラベルを取るにはresult[0][0]
  • 17. 前回の Casual Talk からの変更点  分析機能 の追加:  Classifier, Anomaly, Recommender, Regression が利用可能  scikit-learn wrapper の追加:  fit(X, y) や predict(X) など、お馴染みの API から Jubatus を利用可能  jubash:CLI を利用して対話的に Jubatus を利用できるツール  コードを書くまでもないが、挙動確認をしたいときに便利  jubamodel:保存したモデルの設定変更ができるツール  config の書き換え  近傍探索モデルのClassifierモデルとの相互変換、など Jubatus hands-on #5 17
  • 18. scikit-learn wrapper の使い方 Jubatus hands-on #5 18 from sklearn.metrics import classification_report from jubakit.wrapper.classifier import LinearClassifier clf = LinearClassifier(method=“AROW”, regularization_weight=0.1, embedded=False) clf.fit(X_train, y_train) y_pred = clf.predict(X_test) print(classification_report(y_test, y_pred)) scikit-learn と同様のインターフェースで利用可能
  • 19. scikit-learn wrapper の使い方 Jubatus hands-on #5 19 from sklearn.metrics import classification_report from jubakit.wrapper.classifier import LinearClassifier clf = LinearClassifier(method=“AROW”, regularization_weight=0.1, embedded=False) clf.fit(X_train, y_train) y_pred = clf.predict(X_test) print(classification_report(y_test, y_pred)) embeddedオプション:embedded_jubatusを使うか否か
  • 20. Embedded Jubatus • jubatus_coreを直接叩ける Pythonモジュール • jubatus_core: Jubatusの機械学習実装部 • データ授受が高速なのでパラメータ調整などで役立つ • クライアントを少し変えるだけで利用可能 Jubatus hands-on #5 20 from jubatus.classifier.client import Classifier classifier = Classifier(host, port, name) from jubatus.embedded import Classifier classifier = Classifier(‘config.json’) 設定ファイルのJSONを直接パスで指定するだけでOK 今まで embedded
  • 21. 本資料で話したこと • Jubakit の紹介 • Jubakit を使ってデフォルト判定をしてみる • 前回の Casual Talk からの機能改善 • scikit-learn wrapper の紹介 • embedded jubatus の紹介 Jubatus hands-on #5 21