Description Usage Arguments Details Value How does this algorithm work? Parameters file structure Objective values References Examples
Perfoms a subgroup discovery task executing the algorithm SDIGA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | SDIGA(
parameters_file = NULL,
training = NULL,
test = NULL,
output = c("optionsFile.txt", "rulesFile.txt", "testQM.txt"),
seed = 0,
nLabels = 3,
nEval = 10000,
popLength = 100,
mutProb = 0.01,
RulesRep = "can",
Obj1 = "CSUP",
w1 = 0.7,
Obj2 = "CCNF",
w2 = 0.3,
Obj3 = "null",
w3 = 0,
minConf = 0.6,
lSearch = "yes",
targetVariable = NA,
targetClass = "null"
)
|
parameters_file |
The path of the parameters file. |
training |
A |
test |
A |
output |
character vector with the paths of where store information file, rules file and test quality measures file, respectively. |
seed |
An integer to set the seed used for generate random numbers. |
nLabels |
Number of linguistic labels that represents numerical variables. |
nEval |
An integer for set the maximum number of evaluations in the evolutive process. |
popLength |
An integer to set the number of individuals in the population. |
mutProb |
Sets the mutation probability. A number in [0,1]. |
RulesRep |
Representation used in the rules. "can" for canonical rules, "dnf" for DNF rules. |
Obj1 |
Sets the Objective number 1. See |
w1 |
Sets the weight of |
Obj2 |
Sets the Objective number 2. See |
w2 |
Sets the weight of |
Obj3 |
Sets the Objective number 3. See |
w3 |
Sets the weight of |
minConf |
Sets the minimum confidence that must have the rule returned by the genetic algorithm after the local optimitation phase. A number in [0,1]. |
lSearch |
Sets if the local optimitation phase must be performed. A string with "yes" or "no". |
targetVariable |
A string with the name or an integer with the index position of the target variable (or class). It must be a categorical one. |
targetClass |
A string specifing the value the target variable. |
This function sets as target variable the last one that appear in SDEFSR_Dataset
object. If you want
to change the target variable, you can set the targetVariable
to change this target variable.
The target variable MUST be categorical, if it is not, throws an error. Also, the default behaviour is to find
rules for all possible values of the target varaible. targetClass
sets a value of the target variable where the
algorithm only finds rules about this value.
If you specify in paramFile
something distinct 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.
The algorithm shows in the console the following results:
The parameters used in the algorithm
The rules generated.
The quality measures for test of every rule and the global results.
Also, the algorithms save those results in the files specified in the output
parameter of the algorithm or
in the outputData
parameter in the parameters file.
This algorithm has a genetic algorithm in his core. This genetic algorithm returns only the best rule of the population and it is executed so many times until a stop condition is reached. The stop condition is that the rule returned must cover at least one new example (not covered by previous rules) and must have a confidence greater than a minimum.
After returning the rule, a local improvement could be applied for make the rule more general. This local improve is done by means of a hill-climbing local search.
The genetic algorithm cross only the two best individuals. But the mutation operator is applied over all the population, individuals from cross too.
The parameters_file
argument points to a file which has the necesary parameters for SDIGA works.
This file must be, at least, those parameters (separated by a carriage return):
algorithm
Specify the algorithm to execute. In this case. "SDIGA"
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
mutProb
Mutation probability of the genetic algorithm. Value in [0,1]
RulesRep
Representation of each chromosome of the population. "can" for canonical representation. "dnf" for DNF representation.
Obj1
Sets the objective number 1.
w1
Sets the weigth assigned to the objective number 1. Value in [0,1]
Obj2
Sets the objective number 2.
w2
Sets the weigth assigned to the objective number 2. Value in [0,1]
Obj3
Sets the objective number 3.
w3
Sets the weigth assigned to the objective number 3. Value in [0,1]
minConf
Sets the minimum confidence of the rule for checking the stopping criteria of the iterative process
lSearch
Perform the local search algorithm after the execution of the genetic algorithm? Values: "yes" or "no"
targetVariable
The name or index position of the target variable (or class). It must be a categorical one.
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
An example of parameter file could be:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | algorithm = SDIGA
inputData = "irisD-10-1tra.dat" "irisD-10-1tst.dat"
outputData = "irisD-10-1-INFO.txt" "irisD-10-1-Rules.txt" "irisD-10-1-TestMeasures.txt"
seed = 0
nLabels = 3
nEval = 500
popLength = 100
mutProb = 0.01
minConf = 0.6
RulesRep = can
Obj1 = Comp
Obj2 = Unus
Obj3 = null
w1 = 0.7
w2 = 0.3
w3 = 0.0
lSearch = yes
|
You can use the following quality measures in the ObjX value of the parameter file using this values:
Unusualness -> unus
Crisp Support -> csup
Crisp Confidence -> ccnf
Fuzzy Support -> fsup
Fuzzy Confidence -> fcnf
Coverage -> cove
Significance -> sign
If you dont want to use a objetive value you must specify null
M. J. del Jesus, P. Gonzalez, F. Herrera, and M. Mesonero, "Evolutionary Fuzzy Rule Induction Process for Subgroup Discovery: A case study in marketing," IEEE Transactions on Fuzzy Systems, vol. 15, no. 4, pp. 578-592, 2007.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | SDIGA(parameters_file = NULL,
training = habermanTra,
test = habermanTst,
output = c(NA, NA, NA),
seed = 0,
nLabels = 3,
nEval = 300,
popLength = 100,
mutProb = 0.01,
RulesRep = "can",
Obj1 = "CSUP",
w1 = 0.7,
Obj2 = "CCNF",
w2 = 0.3,
Obj3 = "null",
w3 = 0,
minConf = 0.6,
lSearch = "yes",
targetClass = "positive")
## Not run:
SDIGA(parameters_file = NULL,
training = habermanTra,
test = habermanTst,
output = c("optionsFile.txt", "rulesFile.txt", "testQM.txt"),
seed = 0,
nLabels = 3,
nEval = 300,
popLength = 100,
mutProb = 0.01,
RulesRep = "can",
Obj1 = "CSUP",
w1 = 0.7,
Obj2 = "CCNF",
w2 = 0.3,
Obj3 = "null",
w3 = 0,
minConf = 0.6,
lSearch = "yes",
targetClass = "positive")
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.