異常値を検出するために教師なしモードで実装することにより、ランダム フォレストを理解しようとしています。
私が使用しているデータセットは次のとおりです。
データセット: https://gist.github.com/k2xl/5cd9a048ae153275f9c7
観察すると、値を持つ行が 1 つあります。
XKTVEQAX 570 12980.5 clothing store
量は他の値よりもはるかに多いため、これがランダム フォレストの出力で検出されることを期待していました。
library(randomForest)
library(ggplot2)
data_set <- read.csv("~/PATH/anomaly-sample.csv", header=TRUE, as.is=TRUE )
data_set$category = factor(data_set$category)
train_all = data_set
test_all = train_all
#test_all = data_set[0:200,]
rf <- randomForest(train_all[,-1],importance=TRUE,mtry=3,norm.votes=FALSE)
print(rf)
predictions <- rf$votes
qplot(test_all$mins.after.midnight,test_all$amount,size=predictions[,2])
results <- cbind(test_all,predictions)
results <- results[sort.list(results[,5]), ]
私が取得しようとしているのは、外れ値が異常性を示す非常に大きな円であるグラフです。私はこれを正しく行っていますか?