2017年12月17日日曜日

第66回Tokyo.RでLTした話

これはRstudio AdventCalendar 201716日目のエントリです。

2017/12/16に第66回Tokyo.Rが開催されました。

この会でtreemapでビジュアライズというネタを発表したので、その資料を埋めておきます。


treemapでナイスビジュアライズ Tokyo.r ver66 LT from tetsuro ito

ディップさん、初めて行ったけど、入ってるオフィスビルがとても重厚感ある感じで綺麗でした。
2017年最後のTokyoRでしたが、新生メンバーによる運営がスタートしてフレッシュな感じでした。
懇親会も楽しく開催でき、うっかり六本木で朝を迎えてしまいましたが、お疲れ様でした。

最後におまけで入り口で案内していたがっきーでおわります。

Enjoy!



2017年12月13日水曜日

{profvis}パッケージでいい感じにパフォ厨しよう!

本エントリはRStudio Advent Calendar 2017 13日目の記事です

今年も盛況だったJapan.R 2017。
スペシャルゲストは高柳EVPの私費により招聘されたKunRenさんでしたね。
通称パンダ本が発売されたこともあり、みな聞き入っていました。

当日の発表資料はgithubに公開されています。

さて、この発表ではRの処理速度をいかにしてあげていくかということを
されていましたが、その際に計測されているものが気になる!
ということで、このエントリをしたためようと思いました。

↑これです。
どうやら、これは{profvis}パッケージを使ったものであるとわかりました。
CRANにも登録されているので、install.packages("profvis")で使えます。

開発者のGithubにある例を元にやってみます。
ggplot2に格納されている'diamonds'のデータセットに対して回帰分析を実施し、
その結果をggplot2によって可視化するという処理のプロセスを可視化するケースです。
下記のように処理をprofvis関数でくくってあげましょう。


すると、ブラウザが立ち上がりHTML Widgetでこの処理における時間を可視化してくれます。
タブメニューで2つのモードがあり、デフォルトではFlame Graphというメニューになっており、各コードの行に対応して処理時間が可視化されているのが上側。
下側ではもう少し詳細なレイヤーでのパフォーマンスを見ることができます。マウスオーバーすると処理時間やメモリの使用量などが下記のように見られます。

 Dataタブを開くと、lmやplotなどの処理から、各Rの処理へとブレイクダウンでき、どのポイントがボトルネックとなっているかを探すことができるようになってます。
今まで私はあまり重たい処理をRでやってこなかったこともあって、こういうパフォーマンス計測などは考えていませんでした。しいて言えばSystem関数での処理時間を比較するなど程度でした。
今回の{profvis}を使えば簡単に実行時間のボトルネックを探すことができるので、何かの折には使っていこうと思います。
皆様もこれで良いRstudio LIFEを!

Enjoy!!

ページビューの合計