Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Python 特徴抽出プラグイン

6,481 views

Published on

2017年11月1日
第5回Jubatusハンズオンで使用した説明資料。

pythonを使ってJubatusの特徴抽出プラグインを作成する機能の解説。

Published in: Technology
  • Be the first to comment

Python 特徴抽出プラグイン

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

×