Type-1 Fuzzy Variable

March 8, 2020
type2_fuzzy type2_fuzzy_library fuzzy python

The Type1FuzzyVariable class in the library is a way to define and use linguistic variables.

By a linguistic variable we mean a variable whose values are words or sentences in a natural or artificial language. For example, Age is a linguistic variable if its values are linguistic rather than numerical, i.e.,young, not young, very young, quite young, old, not very old and not very young, etc., rather than 20, 21,22, 23 (Zadeh, Lotfi Asker. “The concept of a linguistic variable and its application to approximate reasoning.” Learning systems and intelligent robots. Springer, Boston, MA, 1974. 1-10.)

This concept can be expressed programmatically using the following:

from type2fuzzy import Type1FuzzyVariable

# adding an age linguistic variable
var = Type1FuzzyVariable(0, 100, 100)

# add fuzzy sets
var.add_triangular('very young', 0, 0, 20)
var.add_triangular('young', 10, 20, 30)
var.add_triangular('adult', 20, 40, 60)
var.add_triangular('old', 50, 70, 90)
var.add_triangular('very old', 70, 100, 100)

# visualize sets
var.plot_variable()

The above code snippet will create the variable and sets and will produce the following image:

Linguistic Variable ‘age’

It is also very useful to have the ability to generate a number of fuzzy sets automatically in a linguistic variable, as this technique is sometimes used in ML applications. The function generate_sets takes a parameter n so that

$number_of_sets = (2\times n) + 1$

The following code shows how the generation function can be used to generate 7 sets:

from type2fuzzy import Type1FuzzyVariable

# adding an age linguistic variable
var = Type1FuzzyVariable(0, 100, 100)

# generate (2*3)+1 = 7 sets
var.generate_sets(3)

var.plot_variable()

The following is obtained:

Linguistic Variable ‘age’

Type2Fuzzy Library Implementation: Mendel, Jerry M., and RI Bob John. 'Type-2 fuzzy sets made simple.'

October 27, 2021
type2_fuzzy type2_fuzzy_library fuzzy python

Introduction to type-2 fuzzy sets

October 15, 2021
type_2_fuzzy fuzzy set

Simple Python implementation of the Weiszfeld algorithm

March 14, 2021
machine_learning python weiszfeld_algorithm
comments powered by Disqus
hugo_cms 11 fuzzy 10 python 9 machine_learning 5 type2_fuzzy_library 5 cnc 4 type1_fuzzy 4 type2_fuzzy 4 r 3 excel 2 iot 2 it2fs 2 weiszfeld_algorithm 2 arduino 1 classifier 1 development 1 game 1 javascript 1 learning 1 mathjax 1 maths 1 mxchip 1 pandas 1 random_walk 1 robot 1 roc 1 set 1 tools 1 type_2_fuzzy 1 vscode 1 wsl 1