gpt4 book ai didi

matlab - 在 MATLAB 中实现逻辑回归

转载 作者:行者123 更新时间:2023-12-04 04:58:39 24 4
gpt4 key购买 nike

我有一个包含 13 个属性的数据集,其中一些是分类的,一些是连续的(可以转换为分类的)。我需要使用逻辑回归来创建一个模型来预测一行的响应并找到预测的准确性、敏感性和特异性。

  • 我可以/应该使用交叉验证来划分我的数据集并获得结果吗?
  • 是否有任何关于如何执行此操作的代码示例? (我对这一切都不熟悉)
  • 我应该使用 mnrfit/mnrval 还是 glmfit/glmval?有什么区别,我该如何选择?

  • 谢谢!

    最佳答案

    如果您想确定模型预测未知数据的能力,您可以使用交叉验证。在 Matlab 中,可以使用 glmfit 拟合逻辑回归模型,使用 glmval 进行测试。

    下面是说明如何执行此操作的 Matlab 代码示例,其中 X 是特征矩阵,Labels 是每种情况的类标签,num_shuffles 是交叉验证的重复次数,而 num_folds 是折叠次数:

    for j = 1:num_shuffles
    indices = crossvalind('Kfold',Labels,num_folds);
    for i = 1:num_folds
    test = (indices == i); train = ~test;
    [b,dev,stats] = glmfit(X(train,:),Labels(train),'binomial','logit'); % Logistic regression
    Fit(j,i) = glmval(b,X(test,:),'logit')';
    end
    end

    拟合则是每个测试折叠的拟合逻辑回归估计。阈值将产生每个测试用例的预测类的估计。然后通过将预测的类标签与实际的类标签进行比较来计算性能度量。对所有折叠和重复的性能测量进行平均,可以估计模型在未见数据上的性能。
  • 最初由 BGreene 在 @Stats.SE 上回答。
  • 关于matlab - 在 MATLAB 中实现逻辑回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16432884/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com