SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
第4回関東ゼロからはじめるR言語勉強会
Report
Iida Keisuke
Follow
株式会社ブリリアントサービス
Jul. 23, 2013
•
0 likes
•
4,537 views
1
of
25
第4回関東ゼロからはじめるR言語勉強会
Jul. 23, 2013
•
0 likes
•
4,537 views
Download Now
Download to read offline
Report
Technology
ゼロからファンクションを作る。
Iida Keisuke
Follow
株式会社ブリリアントサービス
Recommended
リモート拠点を立ち上げる楽しさと苦労
Mao Ohnishi
669 views
•
34 slides
新メンバーが多いチームにおけるプロジェクトマネジメントのコツ(苦労話)
Mao Ohnishi
6.2K views
•
46 slides
新規事業を支える文化と加速させる技術~ devops / GCP / DDD ~
Mao Ohnishi
3.7K views
•
63 slides
Hadoopことはじめ
Katsunori Kanda
1.6K views
•
16 slides
東京本社よりも地方開発拠点を活性化させるコツ!!!!
Mao Ohnishi
2.8K views
•
63 slides
SendGrid Parse APIをデモってみる
Wataru Sato
3.8K views
•
11 slides
More Related Content
Viewers also liked
関東第3回ゼロはじめるからR言語勉強会ー グラフ
Paweł Rusin
11.4K views
•
24 slides
R言語で統計分類基本
Paweł Rusin
9.4K views
•
22 slides
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
Yasuyuki Sugai
21.1K views
•
97 slides
WordBench京都9月号
Koji Asaga
3.1K views
•
31 slides
WordBench京都 9月号:kintone×WordPressハンズオン
Takashi Hosoya
4.6K views
•
109 slides
初心者のためのRとRStudio入門 vol.2
OWL.learn
21.1K views
•
49 slides
Viewers also liked
(18)
関東第3回ゼロはじめるからR言語勉強会ー グラフ
Paweł Rusin
•
11.4K views
R言語で統計分類基本
Paweł Rusin
•
9.4K views
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
Yasuyuki Sugai
•
21.1K views
WordBench京都9月号
Koji Asaga
•
3.1K views
WordBench京都 9月号:kintone×WordPressハンズオン
Takashi Hosoya
•
4.6K views
初心者のためのRとRStudio入門 vol.2
OWL.learn
•
21.1K views
Emnlp読み会資料
Jiro Nishitoba
•
12.4K views
Rの導入とRStudio事始め(改訂版)
Takashi Yamane
•
28.8K views
EMNLP 2015 yomikai
Yo Ehara
•
12.7K views
Humor Recognition and Humor Anchor Extraction
裕樹 奥田
•
9K views
星野「調査観察データの統計科学」第3章
Shuyo Nakatani
•
32.9K views
Learning Better Embeddings for Rare Words Using Distributional Representations
Takanori Nakai
•
13.1K views
星野「調査観察データの統計科学」第1&2章
Shuyo Nakatani
•
28.6K views
そろそろRStudioの話
Kazuya Wada
•
48.6K views
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
Shuyo Nakatani
•
13.3K views
Rstudio事始め
Takashi Yamane
•
77.7K views
A Neural Attention Model for Sentence Summarization [Rush+2015]
Yuta Kikuchi
•
17.3K views
はじめての「R」
Masahiro Hayashi
•
240.4K views
Similar to 第4回関東ゼロからはじめるR言語勉強会
Yahoo!検索のパフォーマンス向上策全て見せます
Yahoo!デベロッパーネットワーク
2.5K views
•
41 slides
RayPen製品説明資料
GrapeCity, inc.
982 views
•
19 slides
RayPen製品説明資料
GrapeCity, inc.
674 views
•
21 slides
RayPen製品説明資料
GrapeCity, inc.
3.1K views
•
21 slides
リファクタリングで実装が○○分短縮した話
infinite_loop
1.5K views
•
49 slides
Gasでgoogleカレンダー 移行ツールを作った話
AMI_YAMAMOTO
1.9K views
•
26 slides
Similar to 第4回関東ゼロからはじめるR言語勉強会
(20)
Yahoo!検索のパフォーマンス向上策全て見せます
Yahoo!デベロッパーネットワーク
•
2.5K views
RayPen製品説明資料
GrapeCity, inc.
•
982 views
RayPen製品説明資料
GrapeCity, inc.
•
674 views
RayPen製品説明資料
GrapeCity, inc.
•
3.1K views
リファクタリングで実装が○○分短縮した話
infinite_loop
•
1.5K views
Gasでgoogleカレンダー 移行ツールを作った話
AMI_YAMAMOTO
•
1.9K views
ワークスタイルを変革する情報基盤 [ITpro EXPO A651]
智治 長沢
•
5.9K views
GYOMU Hackers Night タスク管理改善を追い求めたら モブプログラミングになった話
masaaki tsuchiya
•
1.1K views
※サンプル マーケティング目標を明確化するサイエンス【確率モデルで戦略仮説】
貴史 小川
•
4.5K views
※サンプル マーケティング目標を明確化するサイエンス【統計モデルで効果検証】
貴史 小川
•
2K views
Ga tracker5_ムラヤマユウスケ_slideshare
yusuke0726
•
25.2K views
アジャイルマネジメントとは?
Kiro Harada
•
4.4K views
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
Katsuhiro Miura
•
6.5K views
About Beat Communication
Beat Communication
•
960 views
20120622 data conference
managami
•
444 views
3.5.esmで出来ること
e-sales-support
•
280 views
業務効率をあげる便利ツールのご紹介
lolipopjp
•
1.5K views
データ分析基盤運⽤チームの 運⽤業務を改善してみた話
Recruit Lifestyle Co., Ltd.
•
1.1K views
PDCAを実現する、アクセス解析実践方法
Kennosuke Yamaguchi
•
2.3K views
マーケティング向け大規模ログ解析事例紹介
Kenji Hara
•
2.7K views
More from Iida Keisuke
デバイスWeb apiコンソーシアム 第四回資料(RemoteRelay with Thermal camera)
Iida Keisuke
1.2K views
•
10 slides
デバイスWeb apiコンソーシアム lt-bril
Iida Keisuke
1.8K views
•
8 slides
Linked Open Data With R
Iida Keisuke
1.1K views
•
22 slides
第3回関西ゼロから始めるR勉強会
Iida Keisuke
2.3K views
•
21 slides
関東第1回r勉強会
Iida Keisuke
1.5K views
•
26 slides
第2回関西ゼロから始めるR言語勉強会
Iida Keisuke
2.5K views
•
21 slides
More from Iida Keisuke
(8)
デバイスWeb apiコンソーシアム 第四回資料(RemoteRelay with Thermal camera)
Iida Keisuke
•
1.2K views
デバイスWeb apiコンソーシアム lt-bril
Iida Keisuke
•
1.8K views
Linked Open Data With R
Iida Keisuke
•
1.1K views
第3回関西ゼロから始めるR勉強会
Iida Keisuke
•
2.3K views
関東第1回r勉強会
Iida Keisuke
•
1.5K views
第2回関西ゼロから始めるR言語勉強会
Iida Keisuke
•
2.5K views
第1回関西ゼロからはじめるR勉強会(2)
Iida Keisuke
•
1.6K views
第1回関西ゼロからはじめるR勉強会
Iida Keisuke
•
1.6K views
Recently uploaded
テスト自動化.pdf
ssuserf8ea02
23 views
•
26 slides
CatBoost on GPU のひみつ
Takuji Tahara
421 views
•
30 slides
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
121 views
•
12 slides
gtk4_gem_usage.pdf
ssuser0ef4681
14 views
•
6 slides
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
26 views
•
20 slides
GraphQLはどんな時に使うか
Yutaka Tachibana
6 views
•
37 slides
Recently uploaded
(10)
テスト自動化.pdf
ssuserf8ea02
•
23 views
CatBoost on GPU のひみつ
Takuji Tahara
•
421 views
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
121 views
gtk4_gem_usage.pdf
ssuser0ef4681
•
14 views
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
26 views
GraphQLはどんな時に使うか
Yutaka Tachibana
•
6 views
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
•
103 views
2023情報処理学会関西支部大会-G12.pdf
KoseiShimoda1
•
6 views
松下研究室紹介_関西大学高槻キャンパスオープンキャンパス
Matsushita Laboratory
•
26 views
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
140 views
第4回関東ゼロからはじめるR言語勉強会
1.
第4回ゼロからはじめるR勉強会 ゼロからファンクションを作る
2.
Agenda 自己紹介 カスタマイズした関数がほしい
関数を作る 高い再現性 高速化が可能 バイナリー化する 効果を確認する
3.
Agenda 自己紹介 カスタマイズした関数がほしい
関数を作る 高い再現性 高速化が可能 バイナリー化する 効果を確認する
4.
自己紹介 名前 飯田 啓介 (twitter: menphis_feel) (facebookの方に主に出現)
会社 株式会社ブリリアントサービス 業務 サーバー、データ解析、マイニング
5.
Agenda 自己紹介 カスタマイズした関数がほしい
関数を作る 高い再現性 高速化が可能 バイナリー化する 効果を確認する
6.
カスタマイズした関数がほしい Rは統計解析のライブラリーが充実 統計解析を少ないステップ数で実行できることが特 徴 統計解析に特化した関数が標準で組み込まれている スクリプトなので細かい設定が不要
CRANパッケージでモジュールの拡張が容易
7.
カスタマイズした関数がほしい 実績のある関数は再利用したい 他プロジェクトでも利用したい 実績のある関数は部品化しておく
高いデータの再現性 処理を高速化したい
8.
Agenda 自己紹介 カスタマイズした関数がほしい
関数を作る 高い再現性 高速化が可能 バイナリー化する 効果を確認する
9.
関数の基本系 関数名<-function(x){ x<-x+10 return(x) } 関数を作る
10.
関数を作る > # 基本形 >
f.test<-function(x){ + x<-x+10 # 引数に10をたす + return(x) # 結果を返す + } > > # 実行 > f.test(2) [1] 12 早速関数を作ってみる
11.
関数を作る # 文字列を変数に指定 f.test2<-function(s){ # 結合する文字列を設定 smp.pb
<- c("おはよう","こんばんわ","こんにちわ","寒いで すね","暑いですね") # 文字列をランダムに抽出 rndStr<-sample(smp.pb,1) # 文字列を結合する s<-paste(s, rndStr) return(s) } > f.test2("飯田さん") [1] "飯田さん おはよう" 当然スクリプトなので型指定などはない。
12.
Agenda 自己紹介 カスタマイズした関数がほしい
関数を作る 高い再現性 高速化が可能 バイナリー化する 効果を確認する
13.
高い再現性 $ R --no-save
--vanilla --file=r04_test.R Rのファイルをそのまま読みこませればデータを再現させれ る。
14.
Agenda 自己紹介 カスタマイズした関数がほしい
関数を作る 高い再現性 高速化が可能 バイナリー化する 効果を確認する
15.
高速化が可能 スクリプトスクリプト インラインインライン コンパイルコンパイル おそいおそい バイナリーバイナリー はやいはやい
16.
高速化が可能 ● よく使う関数 ● 長いコードの関数 ● for文などコストのかかる関数 高速化の効果があるコード
17.
Agenda 自己紹介 カスタマイズした関数がほしい
関数を作る 高い再現性 高速化が可能 バイナリー化する 効果を確認する
18.
バイナリー化する > library(compiler) > binary_func
= compiler::cmpfun(inline_func) > library(compiler) > binary_func = compiler::cmpfun(inline_func) バイナリー化のコードはこれだけ
19.
Agenda 自己紹介 カスタマイズした関数がほしい
関数を作る 高い再現性 高速化が可能 バイナリー化する 効果を確認する
20.
効果を確認する 1. 処理時間の長い関数を作成 samples.low_random<-function(s_val){ tensu<-c(1:100) x<-sample(length(tensu), size=3,
replace=FALSE, prob=tensu) for (i in 2:s_val){ aa<-0 for(zz in c(1:10000)){ aa<-aa+zz } y<-sample(length(tensu), size=3, replace=FALSE, prob=tensu) x<-rbind(x,y) } …........... }
21.
効果を確認する 2. コンパイルして高速化 library(compiler) samples.high_random =
compiler::cmpfun(samples.low_random)
22.
効果を確認する 3. 実行してグラフ化 measure_start<-function(s_vals){ measures.period<-c(0,0) for (x
in s_vals){ print(x) l_time<-samples.low_func(x) h_time<-samples.high_func(x) y<-c(l_time[1], h_time[1]) measures.period<-rbind(measures.period, y) } …............... plot( samples.times, (df.z[,1] - df.z[,2]), type="l", pch = pchs[2],.…............... }
23.
効果を確認する 4. 結果 関数内のループ処理回数による実行時間の差分を対数グラフで 表す。 処理回数と実行時間の差分
24.
効果を確認する 実行時間の違いを正規分布で表すと効果がよくわかる。
25.
ご清聴ありがとうございました Rを共に勉強しましょ う!