Следуя примеру tip из scikit-fuzzy , я использовал следующий код для создания ввода / вывода для нечеткой системы управления:
quality = ctrl.Antecedent(np.arange(0, 11, 1), 'quality')
service = ctrl.Antecedent(np.arange(0, 11, 1), 'service')
tip = ctrl.Consequent(np.arange(0, 26, 1), 'tip')
quality.automf(3)
service.automf(3)
tip.automf(3)
В разделе «Нечеткие правила» данного примера правила пишутся вручную. Я хотел бы создать их из учебных примеров.
Предположим, у меня есть набор ( качество , сервис , наконечник ) кортежей, где качество и сервис в диапазоне от 0 до 10 и tip в диапазоне от 0 до 25. Я хотел бы иметь возможность автоматически генерировать правило из каждого обучающего набора. Для этого мне нужно сопоставить значения quality и service (соответственно tip ) с термином (он же лингвистическое значение): либо «бедный» ',' средний 'или' хороший '(соответственно' низкий ',' средний 'или' высокий ').
Как я могу сделать это с scikit-fuzzy
?