Я использую пакет ANFIS в R.
Когда я использую матрицу из двух столбцов, код работает нормально.
, но когда я использую три или более двух столбцов во входной матрице, возникает ошибкаследующим образом:
Ошибка в validityMethod (объект): несоответствие между входами и MembershipFunctions
Пожалуйста, помогите в решении этой проблемы.
Входной файл представляет собой текстовый файл из четырех столбцов.X - это первые три столбца из текстового файла, а Y - последний столбец текстового файла.
Я прилагаю код:
##ANFIS
input <- read.delim(file="D:/ANFIS/mptra.txt",header = FALSE)
testting<-read.delim(file="D:/ANFIS/mptes.txt",header = FALSE)
##Training data
p=as.matrix(testting[,1:3])
Z = as.matrix(input)
X=as.matrix(Z[,1:3])
Y=as.matrix(Z[,4:4])
##Defining the required MembershipFunctions for the ANFIS
membershipFunction <- list(x=c(new(Class="NormalizedGaussianMF",parameters=c(mu=-10,sigma=2)),
new(Class="NormalizedGaussianMF",parameters=c(mu=0,sigma=2)),
new(Class="NormalizedGaussianMF",parameters=c(mu=0,sigma=2)),
new(Class="NormalizedGaussianMF",parameters=c(mu=10,sigma=2))),
y=c(new(Class="NormalizedGaussianMF",parameters=c(mu=0,sigma=2)),
new(Class="NormalizedGaussianMF",parameters=c(mu=-10,sigma=2)),
new(Class="NormalizedGaussianMF",parameters=c(mu=0,sigma=2)),
new(Class="NormalizedGaussianMF",parameters=c(mu=10,sigma=2))))
##Creating the ANFIS network with 2 inputs and 4 MembershipFunctions in each input
anfiss <- new(Class="ANFIS",X,Y,membershipFunction)
anfiss
##Training the ANFIS network
trainOutput <- trainHybridJangOffLine(anfis3, epochs=10)
##Just to see if premises, consequents and errors were updated
getPremises(anfis3)[[1]][[1]]
getConsequents(anfis3)[1:2,]
getErrors(anfis3) #Training errors
getTrainingType(anfis3)
names(coef(anfis3))
coef(anfis3)$premises[[input=1]][[mf=1]]
coef(anfis3)$consequents[1:2,]
##predicted ANFIS network
y <- predict(anfis3,p)# using training data
Входной файл такой же, как в примере:
0.71 1.1 5.45 4
0.71 1 8.25 3
0.73 6.9 8.65 2
0.74 0.1 3.7 2
0.73 0.3 11.7 3
0.71 0 3.1 5
0.72 0.2 8.1 5
0.73 0 3.9 9
0.76 0 7.4 15
0.78 6 11.65 24