【问题标题】:correct way of predicting test data with c5.0 in r在 r 中使用 c5.0 预测测试数据的正确方法
【发布时间】:2017-08-14 23:59:00
【问题描述】:

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

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])

我的测试数据也有我正在预测的Target 列。高于正确的预测方式,或者我必须将目标变量存储在不同的变量中,然后在训练时将其传递给模型,并且相同同时在测试数据集上进行预测。

【问题讨论】:

  • 您有什么理由认为这是错误的吗?你是遇到错误还是什么?

标签: r


【解决方案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")

【讨论】:

    猜你喜欢
    • 2020-04-02
    • 1970-01-01
    • 2022-08-20
    • 2017-07-11
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多