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.
NYSOL Partner KSK Analytics	
2014/5/31	
  
第39回R勉強会@東京(#TokyoR) 	
  
Lightning	
  Talk	
高速に前処理するNYSOL	
株式会社KSKアナリティクス	
  
...
NYSOL Partner KSK Analytics	
データ分析のプロセス	
  
実は8割以上は前処理	
社外データ	
業務システム	
EXCEL	
様々なデータ形式	
  
膨大なデータ量	
  
複雑なデータ構造	
分析用
データ	
...
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 3	
データ分析のプロセス	
  
実は8割以上は前処理	
1.  システム担当者はデータ加工を嫌がります	
  
2.  SQLは複雑・...
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 4	
・「にそる」と読みます。	
  
・日本発のオープンソースです。	
  
・すべて無料です。	
  
・www.nysol.jp	
...
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 5
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 6	
本日のご紹介は、	
  
この「Mコマンド」です。
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 7	
自信を持って	
  
言えること
NYSOL Partner KSK Analytics	
Rより簡単。	
© KSK Analytics Inc.	
 8	
<
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 9	
<	
Rより早い。
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 10	
<	
某DBより早い。
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 11	
<	
Rより柔らかい。
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 12	
皆さん、	
  
ごめんなさい。
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 13	
R勉強会ですが、
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 14	
これからRの話は	
  
全くしません	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	...
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 15	
簡単。早い。柔らかい。
NYSOL Partner KSK Analytics	
仕組みはシンプル	
Mコマンド	
  
・UNIXコマンド	
  
・約70種類	
  
・CSVデータ	
  
	
  
組み合わせは無限大	
  
・各コマンドを	
  
 「パイプ...
NYSOL Partner KSK Analytics	
顧客の平均来店間隔日数を求めたい
NYSOL Partner KSK Analytics	
データはCSV
NYSOL Partner KSK Analytics	
STEP.1)	
  
必要になる 「顧客」と「日付」項目を選択する。(「商品」を排除)	
mcut	
  f=顧客,日付
NYSOL Partner KSK Analytics	
STEP.2)	
  
    どの日に来店したかがわかればよいので、	
  
    同じ顧客で日付の重複行は省く。	
muniq	
  k=顧客,日付
NYSOL Partner KSK Analytics	
STEP.3)	
  
「日付」項目の下レコードを横にずらす	
mslide	
  k=顧客 f=日付:次日付	
  
NYSOL Partner KSK Analytics	
STEP.4)	
  
「次日付」-「日付」の日数計算を行う。	
mcal	
  c=‘$d{次日付}-­‐$d{日付}’	
  a=日数
NYSOL Partner KSK Analytics	
STEP.5)	
  
「日付」と「次日付」は必要ないので省く。	
mcut	
  f=顧客,日数
NYSOL Partner KSK Analytics	
STEP.6)	
  
顧客別に日数の平均値を計算	
  
(項目名を「平均来店間隔日数」とする)	
  
mavg	
  k=顧客 f=日数:平均来店間隔日数
NYSOL Partner KSK Analytics	
シェルスクリプト	
以上のような処理を実際にコンピュータで行うためには、1)コマンドラインから入力する、
もしくは2)シェルスクリプトを記述する、の大きく2パターン。	
入力ファイルを「...
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 26	
約70種類のコマンド(一覧がご覧いただけます)	
  
hmp://www.nysol.sakura.ne.jp/mcmd/jp/...
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 27	
日本発のオープンソースです。	
  
みなさん、一緒に応援しましょう!	
  
NYSOL Partner KSK Analytics	
 © KSK Analytics Inc.	
 28	
株式会社KSKアナリティクス www.ksk-anl.com 
セールス & マーケティング本部 sales@ksk-anl.co...
Upcoming SlideShare
Loading in …5
×

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

19,176 views

Published on

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

Published in: Data & Analytics

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

  1. 1. NYSOL Partner KSK Analytics 2014/5/31   第39回R勉強会@東京(#TokyoR)   Lightning  Talk 高速に前処理するNYSOL 株式会社KSKアナリティクス   データアナリスト 北島 聡  
  2. 2. NYSOL Partner KSK Analytics データ分析のプロセス   実は8割以上は前処理 社外データ 業務システム EXCEL 様々なデータ形式   膨大なデータ量   複雑なデータ構造 分析用 データ 各種・分析モデル クラス   分類 回帰 分析 パターン 解析 クラスタ リング CSV 繰り返しの 前処理   SQLクエリ?   AWK?   ETLツール?   Python?Ruby?   R?   Excel?    
  3. 3. NYSOL Partner KSK Analytics © KSK Analytics Inc. 3 データ分析のプロセス   実は8割以上は前処理 1.  システム担当者はデータ加工を嫌がります   2.  SQLは複雑・実行時間もかかりすぎます   3.  プログラミングは実行まで時間がかかります   4.  DWHや専用ツールはお金がかかります   5.  データ加工には特殊な能力が必要? 分析用 データ 繰り返しの 前処理   SQLクエリ?   AWK?   ETLツール?   Python?Ruby?   R?   Excel?    
  4. 4. NYSOL Partner KSK Analytics © KSK Analytics Inc. 4 ・「にそる」と読みます。   ・日本発のオープンソースです。   ・すべて無料です。   ・www.nysol.jp  
  5. 5. NYSOL Partner KSK Analytics © KSK Analytics Inc. 5
  6. 6. NYSOL Partner KSK Analytics © KSK Analytics Inc. 6 本日のご紹介は、   この「Mコマンド」です。
  7. 7. NYSOL Partner KSK Analytics © KSK Analytics Inc. 7 自信を持って   言えること
  8. 8. NYSOL Partner KSK Analytics Rより簡単。 © KSK Analytics Inc. 8 <
  9. 9. NYSOL Partner KSK Analytics © KSK Analytics Inc. 9 < Rより早い。
  10. 10. NYSOL Partner KSK Analytics © KSK Analytics Inc. 10 < 某DBより早い。
  11. 11. NYSOL Partner KSK Analytics © KSK Analytics Inc. 11 < Rより柔らかい。
  12. 12. NYSOL Partner KSK Analytics © KSK Analytics Inc. 12 皆さん、   ごめんなさい。
  13. 13. NYSOL Partner KSK Analytics © KSK Analytics Inc. 13 R勉強会ですが、
  14. 14. NYSOL Partner KSK Analytics © KSK Analytics Inc. 14 これからRの話は   全くしません                                  m(__)m
  15. 15. NYSOL Partner KSK Analytics © KSK Analytics Inc. 15 簡単。早い。柔らかい。
  16. 16. NYSOL Partner KSK Analytics 仕組みはシンプル Mコマンド   ・UNIXコマンド   ・約70種類   ・CSVデータ     組み合わせは無限大   ・各コマンドを    「パイプ」で接続 © KSK Analytics Inc. 16
  17. 17. NYSOL Partner KSK Analytics 顧客の平均来店間隔日数を求めたい
  18. 18. NYSOL Partner KSK Analytics データはCSV
  19. 19. NYSOL Partner KSK Analytics STEP.1)   必要になる 「顧客」と「日付」項目を選択する。(「商品」を排除) mcut  f=顧客,日付
  20. 20. NYSOL Partner KSK Analytics STEP.2)       どの日に来店したかがわかればよいので、       同じ顧客で日付の重複行は省く。 muniq  k=顧客,日付
  21. 21. NYSOL Partner KSK Analytics STEP.3)   「日付」項目の下レコードを横にずらす mslide  k=顧客 f=日付:次日付  
  22. 22. NYSOL Partner KSK Analytics STEP.4)   「次日付」-「日付」の日数計算を行う。 mcal  c=‘$d{次日付}-­‐$d{日付}’  a=日数
  23. 23. NYSOL Partner KSK Analytics STEP.5)   「日付」と「次日付」は必要ないので省く。 mcut  f=顧客,日数
  24. 24. NYSOL Partner KSK Analytics STEP.6)   顧客別に日数の平均値を計算   (項目名を「平均来店間隔日数」とする)   mavg  k=顧客 f=日数:平均来店間隔日数
  25. 25. 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
  26. 26. NYSOL Partner KSK Analytics © KSK Analytics Inc. 26 約70種類のコマンド(一覧がご覧いただけます)   hmp://www.nysol.sakura.ne.jp/mcmd/jp/index.html    
  27. 27. NYSOL Partner KSK Analytics © KSK Analytics Inc. 27 日本発のオープンソースです。   みなさん、一緒に応援しましょう!  
  28. 28. NYSOL Partner KSK Analytics © KSK Analytics Inc. 28 株式会社KSKアナリティクス www.ksk-anl.com  セールス & マーケティング本部 sales@ksk-anl.com www.nysol.jp 株式会社KSKアナリティクスでは、   NYSOLのビジネスサポート、トレーニング等を   提供しています。お気軽に問い合わせ下さい。 ダウンロードはこちらから   UNIX環境(Linux,  Macなど)で動作

×