SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
Python 特徴抽出プラグイン
Tetsuya Shioda
Jubatus hands-on #5 November 1, 2017
Python 特徴抽出プラグイン とは
• Jubatus で特徴抽出を より簡単に 記述できる
Pythonモジュール
• 何が嬉しい?
• scikit-learn や NTLK など外部ライブラリと連携が可能
• Python で記述できる手軽さ。C++を書かなくてもOK。
• 利用環境:
• Python 2.6 以降、Python 3.3 以降をサポート
• Jubatus 1.0.5 以降で利用可能
Jubatus hands-on #5 2
今までの特徴抽出プラグインでは
• C++実装で、記述量が若干多い。
Jubatus hands-on #5 3
特徴抽出をもっと簡単に
• たった8行で特徴抽出ができるようになります
• 数値 / テキスト / バイナリ特徴量の特徴抽出に対応
• Python外部ライブラリとの連携が可能
Jubatus hands-on #5 4
数値特徴量に対する特徴抽出
Jubatus hands-on #5 5
NLTKによるテキスト特徴量抽出
Jubatus hands-on #5 6
foxes -> fox など原型変換できる
開始位置
文字列データ
データ長 スコア
0でもOK0でもOK 通常は1.0でOK
トークン化
使い方
1. 特徴抽出プラグインを実装する( .pyファイルを作成)
2. PYTHONPATHが通っているところに .py ファイルを配置する
3. 設定ファイルを記述、Jubatusサーバを起動すれば利用できる
Jubatus hands-on #5 7
.py ファイル名
クラス名
rulesの中で呼ぶ
デモ:
Jubatus hands-on #5 8
時系列特徴抽出プラグイン
https://github.com/jubatus/events/
hands-on-5th/python-plugin
時系列データ分析
• 時間とともに変化するデータ系列を予測したい
• 電力消費量、株価、売上高など
• 自己回帰(AR)モデル
• 最も単純な時系列データ予測手法の1つ
• AR(p)モデル:現在の値が、過去 p 期分のデータに依存する モデル
Jubatus hands-on #5 9
𝒚 𝒕 = 𝒄 + ෍
𝒊=𝟏
𝒑
𝒘𝒊 𝒚 𝒕−𝒊 + 𝜺 𝒕
AR(2)系列
321
Jubatus に
一工夫が必要
• Jubatusは受け取ったデータを学習してすぐ捨てる。保存はしない。
• 受け取ったデータを一時的に保存するキャッシュが必要
• 特徴抽出プラグイン側で保存するようにしよう
過去のデータを保存するには
Jubatus hands-on #5 10
Cache 必要なくなったら削除する
自己回帰モデルの特徴抽出
Jubatus hands-on #5 11
特徴量ごとにキャッシュを持つ
最新データをキャッシュに格納
一番古いデータを削除
過去p期分の特徴量を全て生成
特徴抽出結果とする
サンプルプラグイン
• GitHub の jubatus リポジトリで以下の4種類のサンプルを提供
• binary_length.py:バイナリデータ長取得
• number_multiplier.py:掛け算
• sentence_stemmer.py:NTLKによるステミング
• space_splitter.py:単語のスペース区切り
• 各プラグインの利用方法は、公式Webサイトをご覧ください
http://jubat.us/ja/fv_convert.html#python-bridge
Jubatus hands-on #5 12
さいごに
Pull-Request お待ちしてます!
https://github.com/jubatus/jubatus
Jubatus hands-on #5 13

Weitere ähnliche Inhalte

Was ist angesagt?

スクリーンリーダーと点字ディスプレイの話
スクリーンリーダーと点字ディスプレイの話スクリーンリーダーと点字ディスプレイの話
スクリーンリーダーと点字ディスプレイの話Takuya Nishimoto
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17Shinya Okano
 
電子工作のためのPython
電子工作のためのPython 電子工作のためのPython
電子工作のためのPython Takuya Nishimoto
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方Takesxi Sximada
 
The tale of I and python / Python とのはなし
The tale of I and python / Python とのはなしThe tale of I and python / Python とのはなし
The tale of I and python / Python とのはなしTakanori Suzuki
 
スクレイピングとPython
スクレイピングとPythonスクレイピングとPython
スクレイピングとPythonHironori Sekine
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyoShuyo Nakatani
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発shoma h
 
Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。KyutatsuNishiura
 
本気でPythonで宛名書きした話
本気でPythonで宛名書きした話本気でPythonで宛名書きした話
本気でPythonで宛名書きした話Satoshi Yamada
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Takayuki Shimizukawa
 
OSS Study#19_LT
OSS Study#19_LTOSS Study#19_LT
OSS Study#19_LTNaoY-2501
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Reportgree_tech
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境Hisao Soyama
 
僕と Python と 時々 NetBeans
僕と Python と 時々 NetBeans僕と Python と 時々 NetBeans
僕と Python と 時々 NetBeansYoshiori Shoji
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎真哉 杉野
 

Was ist angesagt? (20)

スクリーンリーダーと点字ディスプレイの話
スクリーンリーダーと点字ディスプレイの話スクリーンリーダーと点字ディスプレイの話
スクリーンリーダーと点字ディスプレイの話
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17
 
電子工作のためのPython
電子工作のためのPython 電子工作のためのPython
電子工作のためのPython
 
Pythonのすすめ
PythonのすすめPythonのすすめ
Pythonのすすめ
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
 
The tale of I and python / Python とのはなし
The tale of I and python / Python とのはなしThe tale of I and python / Python とのはなし
The tale of I and python / Python とのはなし
 
スクレイピングとPython
スクレイピングとPythonスクレイピングとPython
スクレイピングとPython
 
MicroPython + ESP32
MicroPython + ESP32MicroPython + ESP32
MicroPython + ESP32
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
 
S14 t0 introduction
S14 t0 introductionS14 t0 introduction
S14 t0 introduction
 
Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。
 
本気でPythonで宛名書きした話
本気でPythonで宛名書きした話本気でPythonで宛名書きした話
本気でPythonで宛名書きした話
 
S18 t0 introduction
S18 t0 introductionS18 t0 introduction
S18 t0 introduction
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
 
OSS Study#19_LT
OSS Study#19_LTOSS Study#19_LT
OSS Study#19_LT
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Report
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
 
僕と Python と 時々 NetBeans
僕と Python と 時々 NetBeans僕と Python と 時々 NetBeans
僕と Python と 時々 NetBeans
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎
 

Andere mochten auch

第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 JubatusハンズオンJubatusOfficial
 
Jubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしようJubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしようTetsuya Shioda
 
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用JubatusOfficial
 
jubarecommenderの紹介
jubarecommenderの紹介jubarecommenderの紹介
jubarecommenderの紹介JubatusOfficial
 
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化JubatusOfficial
 
Jubatus解説本の紹介
Jubatus解説本の紹介Jubatus解説本の紹介
Jubatus解説本の紹介JubatusOfficial
 
Python 特徴抽出プラグイン
Python 特徴抽出プラグインPython 特徴抽出プラグイン
Python 特徴抽出プラグインJubatusOfficial
 
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)JubatusOfficial
 
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する新聞から今年の漢字を予測する
新聞から今年の漢字を予測するJubatusOfficial
 
かまってちゃん小町
かまってちゃん小町かまってちゃん小町
かまってちゃん小町JubatusOfficial
 
発言小町からのプロファイリング
発言小町からのプロファイリング発言小町からのプロファイリング
発言小町からのプロファイリングJubatusOfficial
 
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみたJubatusOfficial
 

Andere mochten auch (20)

第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
 
Jubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしようJubatus: Jubakitでもっと楽をしよう
Jubatus: Jubakitでもっと楽をしよう
 
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
 
jubarecommenderの紹介
jubarecommenderの紹介jubarecommenderの紹介
jubarecommenderの紹介
 
Jubaanomalyについて
JubaanomalyについてJubaanomalyについて
Jubaanomalyについて
 
JubaQLご紹介
JubaQLご紹介JubaQLご紹介
JubaQLご紹介
 
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
 
Jubatus解説本の紹介
Jubatus解説本の紹介Jubatus解説本の紹介
Jubatus解説本の紹介
 
Jubatus 1.0 の紹介
Jubatus 1.0 の紹介Jubatus 1.0 の紹介
Jubatus 1.0 の紹介
 
Jubakitの解説
Jubakitの解説Jubakitの解説
Jubakitの解説
 
新機能紹介 1.0.6
新機能紹介 1.0.6新機能紹介 1.0.6
新機能紹介 1.0.6
 
Python 特徴抽出プラグイン
Python 特徴抽出プラグインPython 特徴抽出プラグイン
Python 特徴抽出プラグイン
 
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
 
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
 
かまってちゃん小町
かまってちゃん小町かまってちゃん小町
かまってちゃん小町
 
発言小町からのプロファイリング
発言小町からのプロファイリング発言小町からのプロファイリング
発言小町からのプロファイリング
 
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
 
銀座のママ
銀座のママ銀座のママ
銀座のママ
 
小町の溜息
小町の溜息小町の溜息
小町の溜息
 
JUBARHYME
JUBARHYMEJUBARHYME
JUBARHYME
 

Ähnlich wie Jubatus Python特徴抽出プラグイン

Fluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent BitFluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent BitSeiya Mizuno
 
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINE Corporation
 
PythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEGPythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEGJun Okazaki
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpYoshifumi Yamaguchi
 
Python32 pyhackathon-201011
Python32 pyhackathon-201011Python32 pyhackathon-201011
Python32 pyhackathon-201011Toru Furukawa
 
High performance python computing for data science
High performance python computing for data scienceHigh performance python computing for data science
High performance python computing for data scienceTakami Sato
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版Katsuhiro Morishita
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NETterurou
 
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanakoQtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanakoKazuo Asano (@kazuo_asa)
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of PythonTakanori Suzuki
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版Katsuhiro Morishita
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Tadahiro Ishisaka
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべKaoru NAKAMURA
 
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践Kazuto Kusama
 
NGK2018B マルチプラットフォームQtと日本Qtユーザー会の紹介
NGK2018B マルチプラットフォームQtと日本Qtユーザー会の紹介NGK2018B マルチプラットフォームQtと日本Qtユーザー会の紹介
NGK2018B マルチプラットフォームQtと日本Qtユーザー会の紹介Kazuo Asano (@kazuo_asa)
 
Gitの基本コマンド
Gitの基本コマンドGitの基本コマンド
Gitの基本コマンド晋 小沼
 

Ähnlich wie Jubatus Python特徴抽出プラグイン (20)

Fluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent BitFluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent Bit
 
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
 
PythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEGPythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEG
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
 
Python32 pyhackathon-201011
Python32 pyhackathon-201011Python32 pyhackathon-201011
Python32 pyhackathon-201011
 
High performance python computing for data science
High performance python computing for data scienceHigh performance python computing for data science
High performance python computing for data science
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanakoQtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべ
 
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
 
2018 07-23
2018 07-232018 07-23
2018 07-23
 
NGK2018B マルチプラットフォームQtと日本Qtユーザー会の紹介
NGK2018B マルチプラットフォームQtと日本Qtユーザー会の紹介NGK2018B マルチプラットフォームQtと日本Qtユーザー会の紹介
NGK2018B マルチプラットフォームQtと日本Qtユーザー会の紹介
 
go-apt-cacher/mirror
go-apt-cacher/mirrorgo-apt-cacher/mirror
go-apt-cacher/mirror
 
Gitの基本コマンド
Gitの基本コマンドGitの基本コマンド
Gitの基本コマンド
 
EdisonでMQTT
EdisonでMQTTEdisonでMQTT
EdisonでMQTT
 

Jubatus Python特徴抽出プラグイン