2016-09-05 20 views
1

RrandomForestアルゴリズムを実行し、凡例を記述してOOB Errorをプロットします。しかし、私はそれを正しくするように見えることはできません。プロットの凡例ランダムフォレストr

それが見える方法です:私が使用したコードザッツ

messed up plot

plot(rfOutput, log = "y", type = "l") 
legend("top", colnames(rfOutput$err.rate),col=1:6,cex=0.8,fill=1:6) 

どのように私はラインに使用する色だけでなく、線種を指定するのでしょうか?私はそれを破棄したくない。さらに、どのようにして一致する凡例を追加しますか?

答えて

1

ここであなたはそれがggplotパッケージを使用してプロットplot(rfOutput...)からのデータと再プロットを抽出ソリューションです:

library(randomForest) 
library(data.table) 
library(ggplot2) 

# Use random forest example from randomForest package 
data(iris) 
set.seed(71) 
rfOutput <- randomForest(Species ~ ., data=iris, importance=TRUE, ntree = 6, proximity=TRUE) 

# Get OOB data from plot and coerce to data.table 
oobData = as.data.table(plot(rfOutput)) 

# Define trees as 1:ntree 
oobData[, trees := .I] 

# Cast to long format 
oobData2 = melt(oobData, id.vars = "trees") 
setnames(oobData2, "value", "error") 

# Plot using ggplot 
ggplot(data = oobData2, aes(x = trees, y = error, color = variable)) + geom_line() 

次のように出力されている:

enter image description here

関連する問題