FUGEPSD(paramFile = NULL, training = NULL, test = NULL, output = c("optionsFile.txt", "rulesFile.txt", "testQM.txt"), seed = 0, nLabels = 3, t_norm = "product_t-norm", ruleWeight = "Certainty_Factor", frm = "Normalized_Sum", numGenerations = 300, numberOfInitialRules = 100, crossProb = 0.5, mutProb = 0.2, insProb = 0.15, dropProb = 0.15, tournamentSize = 2, globalFitnessWeights = c(0.7, 0.1, 0.05, 0.2), ALL_CLASS = TRUE, targetVariable = NA)
NULL
If you want to use training and test keel
variableskeel
class variable with training data.keel
class variable with test data.'Minimum/Maximum'
to specify the minimum t-norm, if not, we use product t-norm that is the default method.Certainty_Factor
: It uses the Classic Certainty Factor Weight method.
Average_Penalized_Certainty_Factor
: It uses Penalized Certainty Factor weight II by Ishibuchi.
No_Weights
: There are no weight calculation.
Normalized_Sum
: It uses the Normalized Sum or Additive Combination Fuzzy Reasoning Method.
Arithmetic_Mean
: It uses the Arithmetic Mean Fuzzy Reasoning Method.
paramFile
argument points to a file which has the neccesary parameters to execute FuGePSD.
This file must be, at least, this parameters (separated by a carriage return):
algorithm
Specify the algorithm to execute. In this case. "MESDIF"
inputData
Specify two paths of KEEL files for training and test. In case of specify only the name of the file, the path will be the working directory.
seed
Sets the seed for the random number generator
nLabels
Sets the number of fuzzy labels to create when reading the files
nEval
Set the maximun number of evaluations of rules for stop the genetic process
popLength
Sets number of individuals of the main population
eliteLength
Sets number of individuals of the elite population. Must be less than popLength
crossProb
Crossover probability of the genetic algorithm. Value in [0,1]
mutProb
Mutation probability of the genetic algorithm. Value in [0,1]
Obj1
Sets the objetive number 1.
Obj2
Sets the objetive number 2.
Obj3
Sets the objetive number 3.
Obj4
Sets the objetive number 4.
RulesRep
Representation of each chromosome of the population. "can" for canonical representation. "dnf" for DNF representation.
targetClass
Value of the target variable to search for subgroups. The target variable is always the last variable. Use null
to search for every value of the target variable
algorithm = FUGEPSD inputData = "banana-5-1tra.dat" "banana-5-1tst.dat" outputData = "Parameters_INFO.txt" "Rules.txt" "TestMeasures.txt" seed = 23783 Number of Labels = 3 T-norm/T-conorm for the Computation of the Compatibility Degree = Normalized_Sum Rule Weight = Certainty_Factor Fuzzy Reasoning Method = Normalized_Sum Number of Generations = 300 Initial Number of Fuzzy Rules = 100 Crossover probability = 0.5 Mutation probability = 0.2 Insertion probability = 0.15 Dropping Condition probability = 0.15 Tournament Selection Size = 2 Global Fitness Weight 1 = 0.7 Global Fitness Weight 2 = 0.1 Global Fitness Weight 3 = 0.05 Global Fitness Weight 4 = 0.2 All Class = true
This function sets as target variable the last one that appear in the KEEL file or object. If you want to change the target variable, you can use changeTargetVariable for this objective. The target variable MUST be categorical, if it is not, throws an error.
If you specify in paramFile
something distintc to NULL
the rest of the parameters are
ignored and the algorithm tries to read the file specified. See "Parameters file structure" below
if you want to use a parameters file.
FUGEPSD(training = habermanTra,
test = habermanTst,
output = c("parametersFile.txt", "rulesFile.txt", "testQM.txt"),
seed = 23783,
nLabels = 3,
t_norm = "Minimum/Maximum",
ruleWeight = "Certainty_Factor",
frm = "Normalized_Sum",
numGenerations = 20,
numberOfInitialRules = 15,
crossProb = 0.5,
mutProb = 0.2,
insProb = 0.15,
dropProb = 0.15,
tournamentSize = 2,
globalFitnessWeights = c(0.7, 0.1, 0.3, 0.2),
ALL_CLASS = TRUE)
## Not run:
# Execution with a parameters file called 'ParamFile.txt' in the working directory:
#
# FUGEPSD("ParamFile.txt")
#
# ## End(Not run)
Run the code above in your browser using DataLab