Tutorial 3 - Standard membership functions¶
This tutorial uses the fuzzy inference system developed in Tutorial 1.
[1]:
import os
import warnings
os.chdir('/workspaces/fuzzy-expert')
warnings.filterwarnings("ignore")
Specification of the fuzzy variables with standard membership functions¶
In the following code, fuzzy sets are specified using standard membership functions, which are described in the function reference section.
Fuzzy sets in variables score
and ratio
are specified using the smf
and zmf
functions. Fuzzy sets for variables credit
and decision
are specified using the trapmf
function.
[2]:
import matplotlib.pyplot as plt
import numpy as np
from fuzzy_expert.variable import FuzzyVariable
variables = {
"score": FuzzyVariable(
universe_range=(150, 200),
terms={
"High": ('smf', 175, 190),
"Low": ('zmf', 155, 175),
},
),
"ratio": FuzzyVariable(
universe_range=(0.1, 1),
terms={
"Goodr": ('zmf', 0.3, 0.42),
"Badr": ('smf', 0.44, 0.7),
},
),
#
"credit": FuzzyVariable(
universe_range=(0, 10),
terms={
"Goodc": ('trapmf', 0, 0, 2, 5),
"Badc": ('trapmf', 5, 8, 10, 10),
},
),
#
"decision": FuzzyVariable(
universe_range=(0, 10),
terms={
"Approve": ('trapmf', 5, 8, 10, 10),
"Reject": ('trapmf', 0, 0, 2, 5),
},
),
}
[3]:
variables['score'].plot()
[4]:
variables['ratio'].plot()
[5]:
variables['credit'].plot()
[6]:
variables['decision'].plot()