使用sklearn中的stratifiedkfold进行交叉验证,准确度非常低,不知是什么原因

问题遇到的现象和发生背景

使用sklearn中的train_test_split方法进行4:1划分的时候,测试集准确率是不断上升的,最后稳定在89%左右,而使用Stratifiedkfold进行5折交叉验证的时候测试集准确率很低,最高70-80%,最低10-20%,且不断震荡,训练集准确率不断上升。

问题相关代码,请勿粘贴截图

使用train_test_split代码:
xtrain,xtest,ytrain,ytest =train_test_split(x,y,test_size=0.2,shuffle=True,stratified=y)
使用stratifiedKfold代码:
skf=StratifiedKFold(n_splits=5,shuffle=True).split(x,y)
for train_index,test_index in skf:
xtrain,xtest=x[train_index],x[test_index]
ytrain,ytest=y[train_index],y[test_index]
除此处数据集划分不同之外,其他所有地方(模型,优化器,epoch等等)都是一样,没有改变
已经困在这好几天了,求解惑!

正常