如何在python中将值映射到模糊项

如何在python中将值映射到模糊项,python,fuzzy-logic,Python,Fuzzy Logic,根据from,我使用以下代码创建模糊控制系统的输入/输出: 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) 在示例

根据from,我使用以下代码创建模糊控制系统的输入/输出:

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)
在示例的“模糊规则”部分中,规则是手动编写的。我想从培训示例生成它们

假设我有一组(quality,service,tip)元组,其中quality和service的范围从0到10,tip的范围从0到25。我希望能够从每个训练元组自动生成一个规则。为了做到这一点,我需要将质量和服务的价值(分别为tip)映射到一个术语(也称为语言价值):要么“差”、“一般”,要么“好”(分别为“低”、“中”或“高”)


如何使用
scikit fuzzy

我需要的函数是
skfuzzy.interp_membership
:如果我想让crisp值为4.0的模糊术语/语言值,我会在4.0评估每个隶属函数:

skfuzzy.interp_membership(np.arange(0, 11, 1), quality['poor'].mf, 4.0)
skfuzzy.interp_membership(np.arange(0, 11, 1), quality['average'].mf, 4.0)
skfuzzy.interp_membership(np.arange(0, 11, 1), quality['good'].mf, 4.0)
然后,模糊值将是隶属函数具有最大值的值