一个简单的例子:
-
- # data: 这是要应用滑动窗口采样的输入数据,通常是一个序列,例如列表或NumPy数组。
- # window_size: 这是滑动窗口的大小,表示每个窗口中包含的元素数量。
- # step_size: 这是滑动窗口移动的步长,表示每次滑动窗口向前移动的元素数量。
- # range(起始位置,结束位置,步长)
- def sliding_window(data, window_size, step_size):
-
- for i in range(0, len(data) - window_size + 1, step_size):
-
- yield data[i:i + window_size]
-
- # 示例数据
- data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-
- # 定义窗口大小和步长
- window_size = 3
- step_size = 2
-
- # 使用滑动窗口采样数据
- for window in sliding_window(data, window_size, step_size):
- print(window)
创建mat数据,并利用滑动窗口采样:
- import numpy as np
- import scipy.io
-
- # 生成示例数据
- sample_data = np.arange(1, 21).reshape(10, 2) # 创建一个10x2的示例数据
-
- # 保存数据为MAT文件
- scipy.io.savemat('sample_data.mat', {'data': sample_data})
-
- # 加载MAT文件
- mat_data = scipy.io.loadmat('sample_data.mat')
- data = mat_data['data']
-
- # 定义滑动窗口函数
- def sliding_window(data, window_size, step_size):
- for i in range(0, data.shape[0] - window_size + 1, step_size):
- yield data[i:i + window_size, :]
-
- # 定义窗口大小和步长
- window_size = 3
- step_size = 2
-
- # 使用滑动窗口采样数据
- for window in sliding_window(data, window_size, step_size):
- print(window)
