这是一个经常在机器学习中需要用到的操作,比如我们现在有一个dataframe样的数据集,我们需要把它feed进一个模型之中,我们首先要进行数据集的构造和切分工作.
比如数据集是一个日频的股票数据,我们要构造的样本,每一个样本回看100天,即长度是100,步长为2的数据,我们可以借助numpy下的一个函数来进行
from numpy.lib.stride_tricks import sliding_window_view
sliding_window_view(np.array([1, 2, 3, 4, 5, 6]), window_shape = 3)
# array([[1, 2, 3],
# [2, 3, 4],
# [3, 4, 5],
# [4, 5, 6]])
对于我们的数据集,进行的操作就是:
import pandas as pd
from numpy.lib.stride_tricks import sliding_window_view
data = pd.read_csv('data.csv',index_col=0).values #这个data是我们要使用的数据集
#data.shape (1000,50) 1000天,feature的维度是50
data_set = sliding_window_view(data,window_shape=100)[::2, :]
#设置窗口长度为100,步长是2
#data。shape (sample_num,100,50)

本文介绍了如何使用Python的`numpy`库中的`sliding_window_view`函数,从日频股票数据中构造样本,每个样本包含100天数据,步长为2。通过pandas读取CSV数据并进行操作,展示了数据集切分技巧在机器学习中的实践。

2万+

被折叠的 条评论
为什么被折叠?



