# GFS.Thrift model building

### Description

This is the internal function that implements the Thrift's technique based
on a genetic algorithm. It is used to tackle regression tasks. Users do not need to call it directly,
but just use `frbs.learn`

and `predict`

.

### Usage

1 2 3 4 | ```
GFS.Thrift(data.train, popu.size = 10, num.labels, persen_cross = 0.6,
persen_mutant = 0.3, max.gen = 10, range.data.ori, type.defuz = "WAM",
type.tnorm = "MIN", type.snorm = "MAX", type.mf = "TRIANGLE",
type.implication.func = "ZADEH")
``` |

### Arguments

`data.train` |
a matrix ( |

`popu.size` |
the size of the population which is generated in each generation. |

`num.labels` |
a matrix describing the number of linguistic terms. |

`persen_cross` |
a real number between 0 and 1 representing the probability of crossover. |

`persen_mutant` |
a real number between 0 and 1 representing the probability of mutation. |

`max.gen` |
the maximal number of generations for the genetic algorithm. |

`range.data.ori` |
a matrix containing the ranges of the original data. |

`type.defuz` |
the type of the defuzzification method. For more detail, see |

`type.tnorm` |
the type of t-norm. For more detail, please have a look at |

`type.snorm` |
the type of s-norm. For more detail, please have a look at |

`type.mf` |
the type of shape of membership function. See |

`type.implication.func` |
the type of implication function. See |

### Details

This method was developed by Thrift using Mamdani's model as fuzzy IF-THEN rules. In this method, we consider a table as a genotype with alleles that are fuzzy set indicators over the output domain. The phenotype is produced by the behavior produced by the fuzzification, max-* composition, and defuzzification operations. A chromosome (genotype) is formed from the decision table by going rowwise and producing a string of numbers from the code set. Standard crossover and mutation operators can act on these string.

### References

P. Thrift, "Fuzzy logic synthesis with genetic algorithms", In Proceedings of the Fourth International Conference on Genetic Algorithms (ICGA91), San Diego (United States of America), pp. 509 - 513 (1991).

### See Also

`GFS.Thrift.test`

, `frbs.learn`

, and `predict`