用r中的c5.0预测测试数据的正确方法

时间:2017-03-22 17:39:37

标签: r

我在火车数据上拟合模型。以下是我的变量

$1

我正在使用以下代码

训练模型
Train Variables = Client_Code,A,B,C,D,E,Target
Test Variables = Client_Code,A,B,C,D,E,Target

一旦训练了模型,我就会用以下代码预测它

model <- c5.0(Target~.,data=train[,-1]) # removing Client_Code

我的测试数据还有model_test <- predict(model,test[,-1]) 列,我正在预测。这是正确的预测方法,或者我必须将目标变量存储在不同的变量中,然后在我训练时将其传递给模型同样在预测测试数据集时。

1 个答案:

答案 0 :(得分:1)

我认为将你想要预测的类变量分开是很好的。例如credit data

library(C50)

# Load data
crx <- read.table( file="./crx.data", header=FALSE, sep="," )

set.seed(1234)
# Randomize data
crx <- crx[ sample( nrow( crx ) ), ]

# Classification data and its labels
X <- crx[,1:15]
y <- crx[,16]

# Divide into training and test data
trainX <- X[1:500,]
trainy <- y[1:500]
testX <- X[501:690,]
testy <- y[501:690]

# Build model
model <- C50::C5.0( trainX, trainy )
summary( model )

# Predicting values
p <- predict( model, testX, type="class" )

# Check accuracy
accuracy <- sum( p == testy ) / length( p )
paste0((accuracy * 100), "% accuracy")