28
NYSOL Partner KSK Analytics 2014/5/31 39R勉強会@東京(#TokyoRLightning Talk 高速に前処理するNYSOL 株式会社KSKアナリティクス データアナリスト 北島 聡

#TokyoR 39 高速に前処理するNYSOL

Embed Size (px)

DESCRIPTION

高速に前処理するNYSOLについて、#TokyoR 39で発表しました。 主にMコマンド(MCMD)をご紹介しています。

Citation preview

Page 1: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

2014/5/31  第39回R勉強会@東京(#TokyoR)  Lightning  Talk

高速に前処理するNYSOL

株式会社KSKアナリティクス  データアナリスト 北島 聡  

Page 2: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

データ分析のプロセス  実は8割以上は前処理

社外データ

業務システム

EXCEL

様々なデータ形式  膨大なデータ量  複雑なデータ構造

分析用データ

各種・分析モデル

クラス  分類

回帰分析

パターン解析

クラスタリング

CSV

繰り返しの 前処理  SQLクエリ?  AWK?  ETLツール?  Python?Ruby?  R?  Excel?    

Page 3: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 3

データ分析のプロセス  実は8割以上は前処理

1.  システム担当者はデータ加工を嫌がります  2.  SQLは複雑・実行時間もかかりすぎます  3.  プログラミングは実行まで時間がかかります  4.  DWHや専用ツールはお金がかかります  5.  データ加工には特殊な能力が必要?

分析用データ

繰り返しの 前処理  SQLクエリ?  AWK?  ETLツール?  Python?Ruby?  R?  Excel?    

Page 4: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 4

・「にそる」と読みます。  ・日本発のオープンソースです。  ・すべて無料です。  ・www.nysol.jp  

Page 5: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 5

Page 6: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 6

本日のご紹介は、  この「Mコマンド」です。

Page 7: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 7

自信を持って  言えること

Page 8: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

Rより簡単。

© KSK Analytics Inc. 8

Page 9: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 9

Rより早い。

Page 10: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 10

某DBより早い。

Page 11: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 11

Rより柔らかい。

Page 12: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 12

皆さん、  ごめんなさい。

Page 13: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 13

R勉強会ですが、

Page 14: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 14

これからRの話は  全くしません                                  m(__)m

Page 15: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 15

簡単。早い。柔らかい。

Page 16: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

仕組みはシンプル

Mコマンド  ・UNIXコマンド  ・約70種類  ・CSVデータ    

組み合わせは無限大  ・各コマンドを   「パイプ」で接続

© KSK Analytics Inc. 16

Page 17: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

顧客の平均来店間隔日数を求めたい

Page 18: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

データはCSV

Page 19: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

STEP.1)  必要になる 「顧客」と「日付」項目を選択する。(「商品」を排除)

mcut  f=顧客,日付

Page 20: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

STEP.2)      どの日に来店したかがわかればよいので、      同じ顧客で日付の重複行は省く。

muniq  k=顧客,日付

Page 21: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

STEP.3)  「日付」項目の下レコードを横にずらす

mslide  k=顧客 f=日付:次日付  

Page 22: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

STEP.4)  「次日付」-「日付」の日数計算を行う。

mcal  c=‘$d{次日付}-­‐$d{日付}’  a=日数

Page 23: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

STEP.5)  「日付」と「次日付」は必要ないので省く。

mcut  f=顧客,日数

Page 24: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

STEP.6)  顧客別に日数の平均値を計算  (項目名を「平均来店間隔日数」とする)  

mavg  k=顧客 f=日数:平均来店間隔日数

Page 25: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics

シェルスクリプト

以上のような処理を実際にコンピュータで行うためには、1)コマンドラインから入力する、もしくは2)シェルスクリプトを記述する、の大きく2パターン。 入力ファイルを「購買履歴データ.csv」、出力ファイル名を「結果.csv」とすると、シェルスクリプトでの記載は以下のようになります。

#!/bin/sh mcut  f=顧客,日付 i=購買履歴データ.csv  |  muniq  k=顧客,日付 |  mslide  k=顧客 f=日付:次日付 |  mcal  c='$d{次日付}-­‐$d{日付}'  a=日数 |  mcut  f=顧客,日数 |  mavg  k=顧客 f=日数:平均来店間隔日数 o=結果.csv

Page 26: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 26

約70種類のコマンド(一覧がご覧いただけます)  

hmp://www.nysol.sakura.ne.jp/mcmd/jp/index.html    

Page 27: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 27

日本発のオープンソースです。  みなさん、一緒に応援しましょう!  

Page 28: #TokyoR 39 高速に前処理するNYSOL

NYSOL Partner KSK Analytics © KSK Analytics Inc. 28

株式会社KSKアナリティクス www.ksk-anl.com  セールス & マーケティング本部 [email protected]

www.nysol.jp

株式会社KSKアナリティクスでは、  NYSOLのビジネスサポート、トレーニング等を  提供しています。お気軽に問い合わせ下さい。

ダウンロードはこちらから  UNIX環境(Linux,  Macなど)で動作