You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

scikit-fuzzy中trimf函数参数设置及输入0报错原因咨询

scikit-fuzzy trimf参数输入0报错原因

当你设置test_input['poor'] = fuzz.trimf(universe, [0, 0.2, 1])时,输入值0对应的隶属度为0——这是trimf函数的计算规则决定的:当输入x ≤ trimf参数的第一个值(这里是0)时,隶属度直接返回0。

你只定义了一条规则rule1 = ctrl.Rule(test_input['poor'], test_output['poor']),输入隶属度为0会导致这条规则触发后,输出test_output['poor']的隶属度也为0,最终所有输出的隶属度总和为0。

scikit-fuzzy默认采用**重心法(centroid)**做去模糊化,该方法的核心计算是(Σ(x_i * μ_i)) / (Σμ_i),当分母Σμ_i = 0时,就会触发除以0的错误。

而将trimf参数改为[0, 0, 1]时,输入0对应的隶属度为1,规则触发后输出的隶属度不为0,Σμ_i有有效数值,因此能正常完成去模糊化计算。

内容的提问来源于stack exchange,提问作者Abdulrehman Zia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 22:02:06