R

时间:2015-11-27 08:10:50

标签: r genetic-algorithm r-caret feature-selection

我是R的新手,我在互联网上大量搜索,但我无法使用它。我正在尝试使用遗传算法进行特征选择,其中适应度函数是随机森林模型的ROC曲线下面积(AUC)。

我试着查看genalg,GA和插入包,但我无法使用它。对于适应度函数,我正在尝试随机森林模型并使用ROC的auc(曲线下面积)作为度量。

健身功能:

library("randomForest")
library("ROCR")

set.seed(71)
#load data
CM1 <- read.arff("CM1.arff")
CM1_train <- CM1[1:240, ]
CM1_val <- CM1[241:nrow(CM1) ,] #validation set


#random forest - train model
model.rf <- randomForest(Defective~., data = CM1_train, importance = T, proximity = T, keep.forest = T, test = CM1_val)

#to find AUC of ROC
model.rf.probability = predict(model.rf, type = "prob", newdata = CM1_val)[ ,2]
model.rf.pred = prediction(model.rf.probability, CM1_val$Defective)
model.rf.perf = performance(model.rf.pred, "tpr", "fpr")

plot(model.rf.perf, main = "ROC Curve for Random Forest", col = 2, lwd = 2)
abline(a = 0, b = 1, lwd = 2, lty = 2, col = "gray")

auc <- performance(model.rf.pred, "auc")
auc <- unlist(slot(auc, "y.values"))

如何使用遗传算法编写用于特征选择的程序。 (我知道我们必须将该功能表示为二进制字符串,但我无法提出代码)。

0 个答案:

没有答案