如何使用R中的RSNNS包中的mlp函数构建和重要性图表?

时间:2014-07-06 01:56:42

标签: r neural-network bar-chart

我想建立一个条形图,其中独立变量的重要性按最大值排序。我正在使用模型的mlp函数,不相信我使用正确的输出。模型是来自mlp函数的内容

data(iris)

#shuffle the vector
iris <- iris[sample(1:nrow(iris),length(1:nrow(iris))),1:ncol(iris)]

irisValues <- iris[,1:4]
irisTargets <- decodeClassLabels(iris[,5])
#irisTargets <- decodeClassLabels(iris[,5], valTrue=0.9, valFalse=0.1)

iris <- splitForTrainingAndTest(irisValues, irisTargets, ratio=0.15)
iris <- normTrainingAndTestSet(iris)

model <- mlp(iris$inputsTrain, iris$targetsTrain, size=5, learnFuncParams=c(0.1),
             maxit=50, inputsTest=iris$inputsTest, targetsTest=iris$targetsTest)    
ex<-extractNetInfo(model)
    k<-ex$unitDefinitions
    w <- which(k[,5]=="UNIT_INPUT")

    dat<-subset(k, select=c("unitName","unitAct"))[w,]
    dat$unitAct=dat$unitAct/max(dat$unitAct)
    dat["new"]<-colnames(the.data$inputsTrain)


    dat <- dat[order(dat$unitAct),] 
    par(las=2) # make label text perpendicular to 
    par(mar=c(5,8,4,2)) # increase y-axis margin.
    barplot(dat$unitAct, main="Importance of Independent Variables", horiz=TRUE, names.arg=dat$new, cex.names=0.8)

0 个答案:

没有答案