如何在scikit模糊中使用多个模糊输入集/关系



我正在用scikit-fuzzy制作一个模糊代理,它根据长度和动机来决定一名篮球运动员的表现。显然,这是一个学习项目,而不是一个现实的实施。

在一个只有长度和质量之间关系的简单例子中,我有以下模糊规则:

R1 = fuzz.relation_product(l_tall, q_good)
R2 = fuzz.relation_product(l_moderate, q_moderate)
R3 = fuzz.relation_product(l_short, q_bad)
R_combined = np.fmax(R1, np.fmax(R2, R3))
fuzz.defuzz(quality, R_combined[length == 180], 'centroid')

正如预期的那样,这将返回一个清晰的值。

然而,当我处理两种关系时:

#Relationships between motivation and quality of player
R1 = fuzz.relation_product(m_very, q_good)
R2 = fuzz.relation_product(m_barely, q_bad)
#Relationships between length and quality of player
R3 = fuzz.relation_product(l_tall, q_good)
R4 = fuzz.relation_product(l_short, q_bad)

我不知道下一步该怎么做才能让它发挥作用。我是合并所有规则,还是只合并类似的规则,之后如何使用defuzzify函数?我需要能够有两个参数(长度和动机),所以我上面使用的方法不起作用。

scikit-fuzzy没有太多文档,但我发现了一个经典提示示例的实现,您可能会发现它很有用

http://nbviewer.ipython.org/gist/kickapoo/2cec262723390d6f386a

最新更新