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

在R的sets包fuzzy_partition中实现sigmoid函数否定求助

在sets包中使用否定形式的sigmoid函数进行模糊划分

你遇到的问题是因为1-fuzzy_sigmoid不是合法的函数传递方式——R不允许直接对函数对象做算术运算,而fuzzy_partition的FUN参数需要接收一个可调用的函数。

解决这个问题有两种简单的方式:

方式1:自定义否定sigmoid函数

先定义一个包装函数,把“1减去sigmoid输出”的逻辑封装进去:

# 定义否定形式的sigmoid函数
neg_fuzzy_sigmoid <- function(x, ...) {
  1 - fuzzy_sigmoid(x, ...)
}

# 调用fuzzy_partition时使用自定义函数
weather <- fuzzy_partition(varnames = c(bad = 40, ok = 65, perfect = 80),
                           FUN = neg_fuzzy_sigmoid)

方式2:使用匿名函数

如果不想单独定义函数,可以直接用匿名函数简化代码:

weather <- fuzzy_partition(varnames = c(bad = 40, ok = 65, perfect = 80),
                           FUN = function(x, ...) 1 - fuzzy_sigmoid(x, ...))

两种方式都能实现你需要的“否定sigmoid”隶属度计算,核心是把运算逻辑包装成fuzzy_partition能识别的函数形式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:19:59