接着上一节所说的,这一节主要还是分享有关数据集的分割组合。目前,我们已经明确了自己的目的,有以下几个:
-
进行10分类;
-
时域、频域、时频都要有条件实现;
-
样本大小设定为2048个点;
-
使用滑窗取值法,训练集、验证集、测试集的比例为7:1.5:1.5.
话不多说,先上一段代码(这段代码是我从别处参考的,有点找不到具体出处了),这段代码用来进行滑窗取值,返回值是序列的起始和结束位置。
def slide_window(rows, sw_width, sw_steps): #rows是序列长度,sw_width是样本长度,sw_steps是滑动步长
start = 0
s_num = (rows - sw_width) // sw_steps # 计算滑动次数
new_rows = sw_width + (sw_steps * s_num) # 完整窗口包含的行数,丢弃少于窗口宽度的采样数据;
while True:
if (start + sw_width) > new_rows: # 如果窗口结束索引超出最大索引,结束截取;
return
yield start, start + sw_width
start += sw_steps
接下来要完成3个步骤,按照2048的样本大小分块、随机打乱顺序和划分训练集、验证集、测试集。
我个人的理解,如果先划分训练集、验证集、测试集,