Submit Search
Upload
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
•
Download as PPTX, PDF
•
3 likes
•
4,639 views
Takashi Yamane
Follow
Hijiyama.R finalのLT資料です。資料中のソースコードはこちらへ → http://tyamane1969.net/?p=210
Read less
Read more
Data & Analytics
Report
Share
Report
Share
1 of 13
Download now
Recommended
Rによるベイジアンネットワーク入門
Rによるベイジアンネットワーク入門
Okamoto Laboratory, The University of Electro-Communications
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
wada, kazumi
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
Visual Studio CodeでRを使う
Visual Studio CodeでRを使う
Atsushi Hayakawa
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
Shiga University, RIKEN
線形計画法入門
線形計画法入門
Shunji Umetani
Sift特徴量について
Sift特徴量について
la_flance
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
Recommended
Rによるベイジアンネットワーク入門
Rによるベイジアンネットワーク入門
Okamoto Laboratory, The University of Electro-Communications
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
wada, kazumi
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
Visual Studio CodeでRを使う
Visual Studio CodeでRを使う
Atsushi Hayakawa
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
Shiga University, RIKEN
線形計画法入門
線形計画法入門
Shunji Umetani
Sift特徴量について
Sift特徴量について
la_flance
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
Masashi Komori
関数データ解析の概要とその方法
関数データ解析の概要とその方法
Hidetoshi Matsui
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
Takahiro Kubo
Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)
Takashi J OZAKI
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
ブラックボックス最適化とその応用
ブラックボックス最適化とその応用
gree_tech
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
弘毅 露崎
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
Shushi Namba
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
Deep Learning JP
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜
SSII
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
Deep Learning JP
最適輸送入門
最適輸送入門
joisino
Rの高速化
Rの高速化
弘毅 露崎
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
Takashi J OZAKI
Stanコードの書き方 中級編
Stanコードの書き方 中級編
Hiroshi Shimizu
SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向
SSII
ベイズモデリングによる第2種信号検出モデルの表現
ベイズモデリングによる第2種信号検出モデルの表現
Takashi Yamane
信号検出理論 (『実践ベイズモデリング』15章)
信号検出理論 (『実践ベイズモデリング』15章)
Takashi Yamane
More Related Content
What's hot
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
Masashi Komori
関数データ解析の概要とその方法
関数データ解析の概要とその方法
Hidetoshi Matsui
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
Takahiro Kubo
Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)
Takashi J OZAKI
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
ブラックボックス最適化とその応用
ブラックボックス最適化とその応用
gree_tech
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
弘毅 露崎
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
Shushi Namba
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
Deep Learning JP
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜
SSII
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
Deep Learning JP
最適輸送入門
最適輸送入門
joisino
Rの高速化
Rの高速化
弘毅 露崎
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
Takashi J OZAKI
Stanコードの書き方 中級編
Stanコードの書き方 中級編
Hiroshi Shimizu
SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向
SSII
What's hot
(20)
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
関数データ解析の概要とその方法
関数データ解析の概要とその方法
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)
グラフィカルモデル入門
グラフィカルモデル入門
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
ブラックボックス最適化とその応用
ブラックボックス最適化とその応用
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
最適輸送入門
最適輸送入門
Rの高速化
Rの高速化
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
Stanコードの書き方 中級編
Stanコードの書き方 中級編
SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向
More from Takashi Yamane
ベイズモデリングによる第2種信号検出モデルの表現
ベイズモデリングによる第2種信号検出モデルの表現
Takashi Yamane
信号検出理論 (『実践ベイズモデリング』15章)
信号検出理論 (『実践ベイズモデリング』15章)
Takashi Yamane
Osaka.stan#4 chap8
Osaka.stan#4 chap8
Takashi Yamane
要因計画データに対するベイズ推定アプローチ
要因計画データに対するベイズ推定アプローチ
Takashi Yamane
PypeRで実験と分析を一本化する
PypeRで実験と分析を一本化する
Takashi Yamane
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)
Takashi Yamane
ガンマ分布 @魁!!広島ベイズ塾
ガンマ分布 @魁!!広島ベイズ塾
Takashi Yamane
(実験心理学徒だけど)一般化線形混合モデルを使ってみた
(実験心理学徒だけど)一般化線形混合モデルを使ってみた
Takashi Yamane
ANOVA君とanovatan
ANOVA君とanovatan
Takashi Yamane
MCMCによる回帰分析@ベイズセミナー
MCMCによる回帰分析@ベイズセミナー
Takashi Yamane
第一回広島ベイズ塾・最小二乗法
第一回広島ベイズ塾・最小二乗法
Takashi Yamane
Anova君を使った分散分析
Anova君を使った分散分析
Takashi Yamane
Rstudio事始め
Rstudio事始め
Takashi Yamane
Mendeleyで簡単! 論文管理
Mendeleyで簡単! 論文管理
Takashi Yamane
More from Takashi Yamane
(14)
ベイズモデリングによる第2種信号検出モデルの表現
ベイズモデリングによる第2種信号検出モデルの表現
信号検出理論 (『実践ベイズモデリング』15章)
信号検出理論 (『実践ベイズモデリング』15章)
Osaka.stan#4 chap8
Osaka.stan#4 chap8
要因計画データに対するベイズ推定アプローチ
要因計画データに対するベイズ推定アプローチ
PypeRで実験と分析を一本化する
PypeRで実験と分析を一本化する
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)
ガンマ分布 @魁!!広島ベイズ塾
ガンマ分布 @魁!!広島ベイズ塾
(実験心理学徒だけど)一般化線形混合モデルを使ってみた
(実験心理学徒だけど)一般化線形混合モデルを使ってみた
ANOVA君とanovatan
ANOVA君とanovatan
MCMCによる回帰分析@ベイズセミナー
MCMCによる回帰分析@ベイズセミナー
第一回広島ベイズ塾・最小二乗法
第一回広島ベイズ塾・最小二乗法
Anova君を使った分散分析
Anova君を使った分散分析
Rstudio事始め
Rstudio事始め
Mendeleyで簡単! 論文管理
Mendeleyで簡単! 論文管理
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
1.
DiaggrameRと仲良くなった話 ーグラフィカルモデルのためのDiaggrameR速習ー 2017.11.26 Hijiyama.R final 広島大学グローバルキャリアデザインセンター
特別研究員 広島大学大学院 教育学研究科 学習心理学研究室 山根 嵩史
2.
DiagrammeRとは ✔︎ DiagrammeRは,グラフ描画ツールGraphvizを使っ て,R上で簡単に高度な作図をするパッケージ (MermaidエンジンやNDFs/EDFsなどの機能も実装されているが今回は割愛) ✔︎ 公式サイトのドキュメントを見てみると夢が広がる DiagrammeR
Docs (http://rich-iannone.github.io/DiagrammeR/graphviz_and_mermaid.html) dot言語で色々な作図が可能 (レイアウトは自動!) ノードの色,形,フォント等の 設定も充実
3.
じゃあこんな図書きたい! グラフィカルモデルの例 (『実践ベイズモデリング』図15.3) ✔︎ DiagrammeRでグラフィカルモデルが描きたい グラフィカルモデル (またはプレート表現): ベイジアンモデリングで使用される,ノードの繋がりで データの生成過程を視覚的に表現した図 それっぽいコードを書いてみるが…
4.
お,おう...
5.
DiagrammeRと仲良くなりたい ✔︎ DiagrammeRの弱点として,(配置が自動なぶん) 思った通りの図にならないことがある ✔︎ だからといってパワポとかで作図するのも嫌 とくにMacでは 0 1 2 3 4 5 項目
1 項目 2 ☞ DiagrammeRと仲良くなりたい なんで図形とかグラフ要素に デフォルトで影ついてるの? BKなの?Sぬの?
6.
DiagrammeRの記法 ✔︎ graph[],node[],edge[]の部分に分けて書く graph[]:配置の方向や背景など,グラフ全体の設定 node[]:配置したいノード名とノードの設定 edge[]:ノード間をつなぐエッジの設定 ✔︎ それぞれのノード,エッジの後ろに[]をつければ 個別に設定も可能
7.
配置に関するコマンド ✔︎ ノードの位置を調整したい edge[]内で{rank =
}で設定 {rank = same; a; b} → ノードaとbを同じ階層に配置 {rank = max; a} → ノードaを一番下の階層に配置 {rank = min; a} → ノードaを一番上の階層に配置 ✔︎ 図の形状について 階層型 (dot) の他に,円形 (circo) や ネットワーク型 (neato) なども graph[]内で“layout = 〜”で設定 デフォルトはdot ✔︎ 横向きの図にしたい graph[]内で“rankdir = LR”で設定
8.
描画に関するコマンド ✔︎ ギリシャ文字を使いたい &文字列; で任意のギリシャ文字を描ける ✔︎
上付き,下付き文字にしたい @^{文字列}で上付き文字 @_{文字列}で下付き文字 ✔︎ イタリックにしたい graph[]内で“fontname = 〜”で斜体フォントを設定 ラベルの一部だけ斜体にしたい場合には <<I>文字列</I>>
9.
先ほどのコードを修正すると… fixedsize = true ☞
各ノードの大きさを固定 fontname = ‘Times-italic’ ☞ フォント名と斜体の設定 label = ‘θ@^{(h)}’ ☞ ギリシャ文字θと 上付き文字の設定 {rank = max; ns; nn} ☞ nsとnnのノードを一番下に配置 するため,{rank = } を使用
10.
できた!
11.
subgraphの設定 ✔︎ subgraph cluster{}
で 枠付きのサブグラフ作成 ✔︎ サブグラフの外と中で ノードの位置を揃えたい ときは,graph[]内で “newrank = true”の設定 が必要
12.
仲良くなれなかった点 ✔︎ ︎一部が重なったsubgraphは描けない 例:『実践ベイズモデリング』 図18.9 ✔︎
︎graphvizの仕様上無理っぽい 背景透明色で作った2つのサブグラフを重ね合わせ るとかどうですか。ダメですか。 参照:https://stackoverflow.com/questions/12680865/how-to-draw-overlapping-clusters-in-graphviz
13.
参考にしたサイトなど Graphvizとdot言語でグラフを描く方法のまとめ (https://qiita.com/rubytomato@github/items/51779135bc4b77c8c20d) Node, Edge and
Graph Attributes (http://www.graphviz.org/doc/info/attrs.html) DiagrammeR入門 nodeの属性まとめ (https://qiita.com/kazutan/items/feea8a3d40143f1f7978) Rでグラフィカルモデルを書こう! (https://kunisatolab.github.io/how-to-graphicalModel.html) Plate notation via Graphviz/Rstudio (http://kosugitti.net/archives/5834) dot(graphviz)でsubgraph間の位置関係を整える (http://blog.livedoor.jp/hiroaki8270/archives/17759669.html)
Download now