我实现了一个用于研究机器学习问题的Kfold交叉验证算法,并设置了支持向量机的参数(我知道skilearn,但我想自己执行一个算法)。我创建了5个折叠,我用它来测试支持向量机参数'C'和'tolerance'。
我将结果保存在一个文本文件中,然后用Pandas创建了一个数据帧,如下所示:C tol FP TN SPE TP FN SEN
0 100 0.10000 19 261 0.9469 107 6 0.9321
1 100 0.10000 30 250 0.8319 94 19 0.8929
2 100 0.10000 28 252 0.8496 96 17 0.9000
3 100 0.10000 27 253 0.9735 110 3 0.9036
4 100 0.10000 26 254 0.9469 107 6 0.9071
5 100 0.05000 16 264 0.9381 106 7 0.9429
6 100 0.05000 22 258 0.8319 94 19 0.9214
7 100 0.05000 25 255 0.8761 99 14 0.9107
8 100 0.05000 21 259 0.9646 109 4 0.9250
9 100 0.05000 20 260 0.9823 111 2 0.9286
.......
400 1000000 0.00001 21 259 0.9558 108 5 0.9250
401 1000000 0.00001 20 260 0.8850 100 13 0.9286
402 1000000 0.00001 14 266 0.8584 97 16 0.9500
403 1000000 0.00001 17 263 0.9558 108 5 0.9393
404 1000000 0.00001 23 257 0.9735 110 3 0.9179
它有405行。
我需要计算“SPE”和“SEN”列中每一组5个元素的平均值,然后在整个数据帧中迭代该过程(例如,我需要计算第0:4行中“SPE”和“SEN”列元素的平均值,比5:9,10:14。。。直到第400:404行)。
对于每一次迭代,我都想得到一个具有以下值的矩阵:
^{pr2}$
矩阵将有405/5=81行和4列。在
对于上面的数据帧部分,我需要一个结果链接:[[100, 0.10000, 0.90976, 0.90714],
[100,0.05000, 0.91860, 0.92572]]
.....
[1000000,0.00001,0.91860, 0.92572]
我想要得到这个矩阵,因为我的目标是使用pyplot获得两个曲线图:一个用于变量“SPE”与“tol”,另一个用于变量“SEN”与“tol”,为每个“C”值绘制不同的曲线。
谢谢