我正在制作一个带有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功能?我需要能够有两个参数(长度和动机),所以我上面使用的方法不起作用。
答案 0 :(得分:1)
scikit fuzzy没有太多文档,但是我找到了一个你可能会觉得有用的经典小费示例的实现
http://nbviewer.ipython.org/gist/kickapoo/2cec262723390d6f386a