Как словом вывести цвет из дефаззификации?
При выполнении color_simulator.compute() вылетает ошибка
Как исправить или хотя бы метод какой использовать?
Тут надо вывести 1 из 14 оттенок, исходя из входных значений HSV
!pip install networkx
!pip install scikit-fuzzy
import numpy as np
import skfuzzy as fuzz
from skfuzzy import control as ctrl
# переменные для задачи
hue = ctrl.Antecedent(np.arange(0, 360, 1), 'hue')
saturation = ctrl.Antecedent(np.arange(0, 100, 1), 'saturation')
value = ctrl.Antecedent(np.arange(0, 100, 1), 'value')
color = ctrl.Consequent(np.arange(0, 14, 1), 'color')
#
color.automf(names=['черный', 'белый', 'красно-оранжевый', 'оранжевый', 'желто-оранжевый', 'желтый', 'желто-зеленый', 'зеленый', 'сине-зеленый', 'синий', 'сине-фиолетовый', 'фиолетовый', 'красно-фиолетовый', 'красный'])
hue['красно-оранжевый'] = fuzz.trapmf(hue.universe, [0, 0, 30, 45])
hue['оранжевый'] = fuzz.trapmf(hue.universe, [30, 45, 60, 75])
hue['желто-оранжевый'] = fuzz.trapmf(hue.universe, [60, 75, 90, 105])
hue['желтый'] = fuzz.trapmf(hue.universe, [90, 105, 120, 135])
hue['желто-зеленый'] = fuzz.trapmf(hue.universe, [120, 135, 150, 165])
hue['зеленый'] = fuzz.trapmf(hue.universe, [150, 165, 180, 195])
hue['сине-зеленый'] = fuzz.trapmf(hue.universe, [180, 195, 210, 225])
hue['синий'] = fuzz.trapmf(hue.universe, [210, 225, 240, 255])
hue['сине-фиолетовый'] = fuzz.trapmf(hue.universe, [240, 255, 270, 285])
hue['фиолетовый'] = fuzz.trapmf(hue.universe, [270, 285, 300, 315])
hue['красно-фиолетовый'] = fuzz.trapmf(hue.universe, [300, 315, 330, 345])
hue['красный'] = fuzz.trapmf(hue.universe, [330, 345, 360, 360])
saturation['серый'] = fuzz.trapmf(saturation.universe, [0, 0, 25, 37.5])
saturation['грязный'] = fuzz.trapmf(saturation.universe, [25, 37.5, 50, 62.5])
saturation['приглушенный'] = fuzz.trapmf(saturation.universe, [50, 62.5, 75, 87.5])
saturation['глубокий'] = fuzz.trapmf(saturation.universe, [75, 87.5, 100, 100])
value['черный'] = fuzz.trapmf(value.universe, [0, 0, 25, 37.5])
value['темно'] = fuzz.trapmf(value.universe, [25, 37.5, 50, 62.5])
value['светло'] = fuzz.trapmf(value.universe, [50, 62.5, 75, 87.5])
value['белый'] = fuzz.trapmf(value.universe, [75, 87.5, 100, 100])
# база правил
rule1 = ctrl.Rule(saturation['глубокий'] & value['черный'], color['черный'])
rule2 = ctrl.Rule(saturation['глубокий'] & value['белый'], color['белый'])
rule3 = ctrl.Rule(hue['красный'] & saturation['глубокий'] & value['темно'], color['красный'])
rule4 = ctrl.Rule(hue['красный'] & saturation['грязный'] & value['темно'], color['красный'])
rule5 = ctrl.Rule(hue['красный'] & saturation['грязный'] & value['светло'], color['красный'])
rule7 = ctrl.Rule(hue['красный'] & saturation['глубокий'] & value['светло'], color['красный'])
rule8 = ctrl.Rule(hue['красный'] & saturation['приглушенный'] & value['светло'], color['красный'])
rule9 = ctrl.Rule(hue['красный'] & saturation['приглушенный'] & value['темно'], color['красный'])
rule10 = ctrl.Rule(hue['желтый'] & saturation['глубокий'] & value['темно'], color['желтый'])
rule11 = ctrl.Rule(hue['желтый'] & saturation['грязный'] & value['темно'], color['желтый'])
rule12 = ctrl.Rule(hue['желтый'] & saturation['грязный'] & value['светло'], color['желтый'])
rule14 = ctrl.Rule(hue['желтый'] & saturation['глубокий'] & value['светло'], color['желтый'])
rule15 = ctrl.Rule(hue['желтый'] & saturation['приглушенный'] & value['светло'], color['желтый'])
rule16 = ctrl.Rule(hue['желтый'] & saturation['приглушенный'] & value['темно'], color['желтый'])
rule17 = ctrl.Rule(hue['синий'] & saturation['глубокий'] & value['темно'], color['синий'])
rule18 = ctrl.Rule(hue['синий'] & saturation['грязный'] & value['темно'], color['синий'])
rule19 = ctrl.Rule(hue['синий'] & saturation['грязный'] & value['светло'], color['синий'])
rule21 = ctrl.Rule(hue['синий'] & saturation['глубокий'] & value['светло'], color['синий'])
rule22 = ctrl.Rule(hue['синий'] & saturation['приглушенный'] & value['светло'], color['синий'])
rule23 = ctrl.Rule(hue['синий'] & saturation['приглушенный'] & value['темно'], color['синий'])
rule24 = ctrl.Rule(hue['оранжевый'] & saturation['глубокий'] & value['темно'], color['оранжевый'])
rule25 = ctrl.Rule(hue['оранжевый'] & saturation['грязный'] & value['темно'], color['оранжевый'])
rule26 = ctrl.Rule(hue['оранжевый'] & saturation['грязный'] & value['светло'], color['оранжевый'])
rule28 = ctrl.Rule(hue['оранжевый'] & saturation['глубокий'] & value['светло'], color['оранжевый'])
rule29 = ctrl.Rule(hue['оранжевый'] & saturation['приглушенный'] & value['светло'], color['оранжевый'])
rule30 = ctrl.Rule(hue['оранжевый'] & saturation['приглушенный'] & value['темно'], color['оранжевый'])
rule31 = ctrl.Rule(hue['зеленый'] & saturation['глубокий'] & value['темно'], color['зеленый'])
rule32 = ctrl.Rule(hue['зеленый'] & saturation['грязный'] & value['темно'], color['зеленый'])
rule33 = ctrl.Rule(hue['зеленый'] & saturation['грязный'] & value['светло'], color['зеленый'])
rule35 = ctrl.Rule(hue['зеленый'] & saturation['глубокий'] & value['светло'], color['зеленый'])
rule36 = ctrl.Rule(hue['зеленый'] & saturation['приглушенный'] & value['светло'], color['зеленый'])
rule37 = ctrl.Rule(hue['зеленый'] & saturation['приглушенный'] & value['темно'], color['зеленый'])
rule38 = ctrl.Rule(hue['фиолетовый'] & saturation['глубокий'] & value['темно'], color['фиолетовый'])
rule39 = ctrl.Rule(hue['фиолетовый'] & saturation['грязный'] & value['темно'], color['фиолетовый'])
rule40 = ctrl.Rule(hue['фиолетовый'] & saturation['грязный'] & value['светло'], color['фиолетовый'])
rule42 = ctrl.Rule(hue['фиолетовый'] & saturation['глубокий'] & value['светло'], color['фиолетовый'])
rule43 = ctrl.Rule(hue['фиолетовый'] & saturation['приглушенный'] & value['светло'], color['фиолетовый'])
rule44 = ctrl.Rule(hue['фиолетовый'] & saturation['приглушенный'] & value['темно'], color['фиолетовый'])
rule45 = ctrl.Rule(hue['красно-оранжевый'] & saturation['глубокий'] & value['темно'], color['красно-оранжевый'])
rule46 = ctrl.Rule(hue['красно-оранжевый'] & saturation['грязный'] & value['темно'], color['красно-оранжевый'])
rule47 = ctrl.Rule(hue['красно-оранжевый'] & saturation['грязный'] & value['светло'], color['красно-оранжевый'])
rule49 = ctrl.Rule(hue['красно-оранжевый'] & saturation['глубокий'] & value['светло'], color['красно-оранжевый'])
rule50 = ctrl.Rule(hue['красно-оранжевый'] & saturation['приглушенный'] & value['светло'], color['красно-оранжевый'])
rule51 = ctrl.Rule(hue['красно-оранжевый'] & saturation['приглушенный'] & value['темно'], color['красно-оранжевый'])
rule52 = ctrl.Rule(hue['желто-оранжевый'] & saturation['глубокий'] & value['темно'], color['желто-оранжевый'])
rule53 = ctrl.Rule(hue['желто-оранжевый'] & saturation['грязный'] & value['темно'], color['желто-оранжевый'])
rule54 = ctrl.Rule(hue['желто-оранжевый'] & saturation['грязный'] & value['светло'], color['желто-оранжевый'])
rule56 = ctrl.Rule(hue['желто-оранжевый'] & saturation['глубокий'] & value['светло'], color['желто-оранжевый'])
rule57 = ctrl.Rule(hue['желто-оранжевый'] & saturation['приглушенный'] & value['светло'], color['желто-оранжевый'])
rule58 = ctrl.Rule(hue['желто-оранжевый'] & saturation['приглушенный'] & value['темно'], color['желто-оранжевый'])
rule59 = ctrl.Rule(hue['желто-зеленый'] & saturation['глубокий'] & value['темно'], color['желто-зеленый'])
rule60 = ctrl.Rule(hue['желто-зеленый'] & saturation['грязный'] & value['темно'], color['желто-зеленый'])
rule61 = ctrl.Rule(hue['желто-зеленый'] & saturation['грязный'] & value['светло'], color['желто-зеленый'])
rule63 = ctrl.Rule(hue['желто-зеленый'] & saturation['глубокий'] & value['светло'], color['желто-зеленый'])
rule64 = ctrl.Rule(hue['желто-зеленый'] & saturation['приглушенный'] & value['светло'], color['желто-зеленый'])
rule65 = ctrl.Rule(hue['желто-зеленый'] & saturation['приглушенный'] & value['темно'], color['желто-зеленый'])
rule66 = ctrl.Rule(hue['сине-зеленый'] & saturation['глубокий'] & value['темно'], color['сине-зеленый'])
rule67 = ctrl.Rule(hue['сине-зеленый'] & saturation['грязный'] & value['темно'], color['сине-зеленый'])
rule68 = ctrl.Rule(hue['сине-зеленый'] & saturation['грязный'] & value['светло'], color['сине-зеленый'])
rule70 = ctrl.Rule(hue['сине-зеленый'] & saturation['глубокий'] & value['светло'], color['сине-зеленый'])
rule71 = ctrl.Rule(hue['сине-зеленый'] & saturation['приглушенный'] & value['светло'], color['сине-зеленый'])
rule72 = ctrl.Rule(hue['сине-зеленый'] & saturation['приглушенный'] & value['темно'], color['сине-зеленый'])
rule73 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['глубокий'] & value['темно'], color['сине-фиолетовый'])
rule74 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['грязный'] & value['темно'], color['сине-фиолетовый'])
rule75 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['грязный'] & value['светло'], color['сине-фиолетовый'])
rule77 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['глубокий'] & value['светло'], color['сине-фиолетовый'])
rule78 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['приглушенный'] & value['светло'], color['сине-фиолетовый'])
rule79 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['приглушенный'] & value['темно'], color['сине-фиолетовый'])
rule80 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['глубокий'] & value['темно'], color['красно-фиолетовый'])
rule81 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['грязный'] & value['темно'], color['красно-фиолетовый'])
rule82 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['грязный'] & value['светло'], color['красно-фиолетовый'])
rule84 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['глубокий'] & value['светло'], color['красно-фиолетовый'])
rule85 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['приглушенный'] & value['светло'], color['красно-фиолетовый'])
rule86 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['приглушенный'] & value['темно'], color['красно-фиолетовый'])
color_ctrl = ctrl.ControlSystem([rule1, rule2, rule3, rule4, rule5, rule7, rule8, rule9, rule10,
rule11, rule12, rule14, rule15, rule16, rule17, rule19
, rule21, rule22, rule23, rule24, rule25, rule26
, rule28, rule29, rule30, rule31, rule32, rule33, rule35, rule36
, rule37, rule38, rule39, rule40, rule42, rule43, rule44, rule45
, rule46, rule47, rule49, rule50, rule51, rule52, rule53, rule54
, rule56, rule57, rule58, rule59, rule60, rule61, rule63
, rule64, rule65, rule66, rule67, rule68, rule70, rule71, rule72
, rule73, rule74, rule75, rule77, rule78, rule79, rule80, rule81
, rule82, rule84, rule86, rule85])
color_simulator = ctrl.ControlSystemSimulation(color_ctrl)
color_simulator.input['hue'] = 240
color_simulator.input['saturation'] = 50
color_simulator.input['value'] = 24
color_simulator.compute()
print(color_simulator.output)
hue.view(sim=color_simulator)
saturation.view(sim=color_simulator)
value.view(sim=color_simulator)
color.view(sim=color_simulator)