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

Keras逻辑回归权重:剂量与疾病结局OR值及Fisher检验对比

用Keras实现逻辑回归并计算优势比(OR)

我最近在做一项分析任务:用Keras搭建逻辑回归模型,建立剂量值(数据形状为(672,1))和二分类疾病结局(数据形状为(672,1),结局取值为0或1)之间的关联。我的核心目标是计算模型权重对应的优势比(Odds Ratio, OR)——也就是权重的指数结果exp(weights),之后还要把这个OR和Fisher检验得到的结果做对比。

我目前写的代码框架如下:

from keras.models import Sequential
from keras.layers import Dense, Activation
from keras import layers
import numpy as np

class logit:
    def lg_keras(self, input_dim, output_dim, ep, X, y):
        # 构建逻辑回归模型
        model = Sequential()
        # 逻辑回归本质是单输出的全连接层+Sigmoid激活
        model.add(Dense(output_dim, input_dim=input_dim, activation='sigmoid'))
        # 编译模型:二元交叉熵损失+适配的优化器
        model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
        # 训练模型
        model.fit(X, y, epochs=ep, batch_size=32, verbose=0)
        # 提取模型权重并计算优势比
        # 权重矩阵形状为(input_dim, output_dim),这里input_dim=1,所以取第一个元素
        weight_value = model.get_weights()[0][0][0]
        odds_ratio = np.exp(weight_value)
        return odds_ratio, model

(注:上面补充了完整的模型构建、训练和OR计算逻辑,你可以根据实际需求调整优化器、训练批次、迭代次数等参数;后续可以用scipy.stats.fisher_exact计算Fisher检验的OR值,再和模型输出的OR做对比)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:28:55