2018年10月09日

partykitとrpart.plot:Rの決定木可視化ライブラリ

決定木の可視化ライブラリを探していまして、partykitと、rpart.plotを触ってみました。以下メモ。

#partykitを使った可視化

library("rpart")
library("partykit")
rp <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
rpk <- as.party(rp)
plot(rpk)

partykit.png

#rpart.plotを使った可視化
library("rpart")
library("rpart.plot")
rp <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
rpart.plot(rp)

rpartplot.png

partykitを使うと、最後の分岐先の目的変数の分布がグラフでわかる。回帰木の場合は、箱ひげ図になる。
rpart.plotは全てのノードに目的変数の平均値と、分岐先のNの比率が表示される。配置がきれい。

どちらを使うかは好みの問題ですが、rpart.plotの方が全てのノードに情報が記入されている分、使いやすい気もしますが、箱ひげ図好きとしてはpartykitも捨てがたいです。
posted by 石田泰浩 at 12:06| Comment(0) | R | 更新情報をチェックする

2018年09月21日

ggplot2:テキストをグラフに綺麗に埋め込むggrepel

グラフにテキストを綺麗に埋め込む方法を探していてggrepelの評判が良かったので使いました。

データはRが提供するサンプルデータmtcarsを使います。mtcarsは1974年のあるアメリカの自動車雑誌に載っていたデータで、特定の自動車について、燃費等のスペックがまとまっているものです。

require("ggplot2")
require("ggrepel")

p <- ggplot(mtcars,
aes(wt, mpg, label = rownames(mtcars), colour = factor(cyl))) +
geom_point()

p + geom_text() #出力1
p + geom_text_repel() #出力2

上がggrepelを使わない版。下が使った版。使うと文字の重なりを上手によけてくれます。

geomtext2.pngrepel2.png
posted by 石田泰浩 at 13:10| Comment(0) | R | 更新情報をチェックする

2018年08月23日

ggplot2:バイオリン図利用メモ。

Rの可視化パッケージのggplot2はまだまだ使いこなせてないので、ブログネタとして紹介していこうと思う。
まずはバイオリン図から。
バイオリン図はggplot2のドキュメントによると、箱ひげ図と密度分布をブレンドした図とのこと。
「A violin plot is a compact display of a continuous distribution. It is a blend of geom_boxplot() and
geom_density(): a violin plot is a mirrored density plot displayed in the same way as a boxplot.」

まずは箱ひげ図を書いてみる。
require("ggplot2")
p <- ggplot(mtcars, aes(factor(cyl), mpg))
p + geom_boxplot()

boxplot.png

ではバイオリン図を書いてみる。
p + geom_violin(draw_quantiles = c(0.25, 0.5, 0.75))

violin.png

ふむふむ。ふくらみで密度を表現してるわけですね。分布の比較に非常に便利そうなので、使って慣れていきたいと思います。
これExcelだと書けないだろうな。ヒストグラムも箱ひげ図もExcelで書けるようになったのは最近だし。
続きを読む
posted by 石田泰浩 at 18:03| Comment(0) | R | 更新情報をチェックする