gpt4 book ai didi

matlab - 如何在 MATLAB 中执行分层 10 折交叉验证进行分类?

转载 作者:行者123 更新时间:2023-11-30 09:50:57 24 4
gpt4 key购买 nike

我通常的 K 折交叉验证的实现非常类似于:

K = 10;
CrossValIndices = crossvalind('Kfold', size(B,2), K);

for i = 1: K
display(['Cross validation, folds ' num2str(i)])
IndicesI = CrossValIndices==i;
TempInd = CrossValIndices;
TempInd(IndicesI) = [];
xTraining = B(:, CrossValIndices~=i);
tTrain = T_new1(:, CrossValIndices~=i);

xTest = B(:, CrossValIndices ==i);
tTest = T_new1(:, CrossValIndices ==i);
end

但是为了确保训练、测试和验证数据集具有相似的类别比例(例如 20 个类别)。我想使用分层抽样技术。基本目的是避免类不平衡问题。我了解 SMOTE 技术,但我想应用这个。

最佳答案

您可以简单地使用crossvalind('Kfold', Group, K),其中Group是包含每个观察的类标签的向量。这将导致每个组都按比例丰富的集合。

关于matlab - 如何在 MATLAB 中执行分层 10 折交叉验证进行分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45228163/

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