如何利用R的遗传算法优化CART参数

时间:2016-06-04 14:33:50

标签: r machine-learning classification decision-tree

为了训练支持向量机,我们必须确定各种参数。

例如,有一些参数,如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来优化这些参数。 我的数据是分类的,所以我也对如何选择适应度函数感到困惑。

1 个答案:

答案 0 :(得分:0)

只有一个参数。使用遗传算法是没有意义的。

相反,网格搜索是合适的。