私はRにかなり慣れていないので、かなりばかげた問題に悩まされています。
分類と予測を行うために、 rpartパッケージを使用して回帰ツリーを調整しています。
R のおかげで、キャリブレーション部分は簡単に実行でき、制御も簡単です。
#the package rpart is needed
library(rpart)
# Loading of a big data file used for calibration
my_data <- read.csv("my_file.csv", sep=",", header=TRUE)
# Regression tree calibration
tree <- rpart(Ratio ~ Attribute1 + Attribute2 + Attribute3 +
Attribute4 + Attribute5,
method="anova", data=my_data,
control=rpart.control(minsplit=100, cp=0.0001))
大きなデシジョン ツリーを調整した後、特定のデータ サンプルに対して、対応する新しいデータのクラスター (したがって予測値) を見つけたいと考えています。機能はニーズにぴったりのようです
。predict
# read validation data
validationData <-read.csv("my_sample.csv", sep=",", header=TRUE)
# search for the probability in the tree
predict <- predict(tree, newdata=validationData, class="prob")
# dump them in a file
write.table(predict, file="dump.txt")
ただし、この方法では、新しい要素の予測比率を取得するだけで、新しい要素が属する決定木の葉predict
を取得する方法が見つかりません。
比率を返すには、予測メソッドがその葉を見つけたに違いないので、取得するのはかなり簡単だと思います。
引数を介して predict メソッドに与えることができるいくつかのパラメーターがありますがclass=
、回帰ツリーの場合、すべて同じもの (決定ツリーのターゲット属性の値) を返すようです。
決定木で対応するノードを取得する方法を知っている人はいますか?
メソッドを使用してノードを分析することでpath.rpart
、結果を理解するのに役立ちます。