如何生成用于机器学习的人工顺序数据?

时间:2018-10-07 09:51:29

标签: python-3.x machine-learning

Sklearn提供了不同的数据生成功能,例如make_blobs中的make_regressionsklearn.datasets

但是,我不知道任何可以生成顺序数据的功能。是否存在任何可以生成人工顺序数据的库?

1 个答案:

答案 0 :(得分:1)

这实际上取决于您想要什么样的系列。签出此存储库以生成各种模拟序列。叫做TimeSynth

但是,如果您只想轻松修改自己的内容,请尝试编写类似于以下内容的函数:

def SynthSeries(start,end,stepSize,coefficients):
    import numpy as np
    samples = np.array(np.arange(start,end,stepSize))
    array = np.array(np.zeros(np.shape(samples)))

    for coeff in coefficients:
        array = np.add(array,(np.sin(coeff*samples)))
    return array, samples

这是傅立叶变换的逆过程,如果您知道要创建的序列的基频,则可以将其传递给此函数以重新创建信号。 您可以像这样使用它:

import matplotlib.pyplot as plt
(SeqData,samples) = SynthSeries(0,20,0.1,[12,3,1,22])
plt.plot(samples, SeqData)
plt.show()

enter image description here