应为2D数组,但得到的是1D数组

2024-10-01 07:40:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从github运行以下代码,但遇到一个错误。怎么了?在

https://github.com/susanli2016/Machine-Learning-with-Python/blob/master/Time%20Series%20ANN%20%26%20LSTM%20VIX.ipynb

手机:

# scale train and test data to [-1, 1]
scaler = MinMaxScaler(feature_range=(-1, 1))
train_sc = scaler.fit_transform(train)
test_sc = scaler.transform(test)

错误:

^{pr2}$

Tags: 代码httpstestgithubcom错误withtransform
2条回答

解决了添加以下方法的问题,这些方法显然将训练和测试对象转换为numpy数组。对吗?在

scaler = MinMaxScaler(feature_range=(-1, 1))
train_sc = scaler.fit_transform(train.values.reshape(-1, 1))
test_sc = scaler.transform(test.values.reshape(-1,1))

制作笔记本的人使用的是一个非常旧的版本sklearn。简而言之,您的特性是[row_1, row_2...row_n]的形式,而它们应该是[[row_1], [row_2]...[row_n]]的形式。在

因此,请使用:

new_shape = (len(train), 1)

train_sc = scaler.fit_transform(np.reshape(train, new_shape))
test_sc = scaler.transform(np.reshape(test, new_shape))

相关问题 更多 >