为了训练支持向量机,我们必须确定各种参数。
例如,有一些参数,如cp和minsplit。
我现在正在使用交叉验证,找到这些参数,我得到了cp = 0.02。
以下是代码:
library(caTools)
set.seed(3000)
spl = sample.split(dat$Incident.Category, SplitRatio = 0.8)
Train = subset(dat, spl==TRUE)
Test = subset(dat, spl==FALSE)
library(caret)
library(e1071)
# Define cross-validation experiment
numFolds = trainControl( method = "cv", number = 10 )
cpGrid = expand.grid( .cp = seq(0.01,0.5,0.01))
train(Incident.Category ~ Working.Condition + Observation.Type +Injury.Potential.Score + Equipment.Damage.Score + Safety.Standards + Incident.Type, data = Train, method = "rpart", trControl = numFolds, tuneGrid = cpGrid )
CartMOdel = rpart(Incident.Category ~ Working.Condition + Observation.Type + Injury.Potential.Score+ Equipment.Damage.Score + Safety.Standards + Incident.Type,data = Train, method="class", cp = 0.02)
现在我想知道如何使用GA来优化这些参数。 我的数据是分类的,所以我也对如何选择适应度函数感到困惑。
答案 0 :(得分:0)
只有一个参数。使用遗传算法是没有意义的。
相反,网格搜索是合适的。