数据培训的预处理

时间:2018-12-10 13:16:25

标签: python machine-learning time-series mean preprocessor

我的代码预处理部分有一点问题。 我有一个包含S&P500市场所有收盘价的数据集。我正在尝试通过均值和标准差来标准化火车和设置。但是我想我在犯一些错误。

请你看看!

def split_into_chunks(data, train, predict, step, scale=True):
    X, Y = [], []
    for i in range(0, len(data), step):
        try:
            x_i = data[i:i+train]
            y_i = data[i+train+predict]


            timeseries = np.array(data[i:i+train])
            mean = np.mean(timeseries)
            std = np.std(timeseries)

            if scale: 
                timeseries = preprocessing.scale(timeseries)
                y_i = ((y_i - np.mean(x_i)) / np.std(x_i))


            x_i2 = timeseries
            y_i = np.array(y_i)
        except:
            break

        X.append(x_i2)
        Y.append(y_i)

    return X, Y

我尝试打印x_i2y_i的意思,但它们不是0。

我得到的值例如:-8.0657702739e-15 -3.29597460436e-15 -8.16013923099e-16 -4.18554080284e-15 1.52655665886e-14 -1.4313550345e-14 9.6325725174e-15 -2.87436741075e-14 1.25038868148e-15 -9.3008933888e-15 1.1901590824e-14 -1.55653268052e-14 3.73923114694e-14 -4.32986979604e-15 9.79216707719e-15 2.90878432452e-15 -4.56301663121e-15 5.59552404411e-15 2.00062189037e-14 5.58442181386e-15 8.53761505937e-15 -5.95634652711e-15 -7.58282325819e-15 -5.66213742559e-15 -5.10702591328e-16 -1.37667655054e-15 ........

这是x_i2的值,而y_i是随机值–

我也打印了x_i2的std,它总是1,所以我认为是正确的。虽然y_i的值完全不同:如果我打印均值,则会得到:-1.45773439337 -0.67365790704 -0.840543321934 -0.561634875724 -0.0619854889473 1.02192562934 -0.335794754645 1.7104392559 1.70865656323 1.37444452634 0.374673787665 -0.749332397315 ........

尽管std始终为0。

感谢您的帮助

0 个答案:

没有答案