预期的二维数组,得到一维数组
Expected 2D array, got 1D array
我 运行 来自 github 的以下代码,但出现错误。怎么了?
单元格:
# 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)
错误:
ValueError: Expected 2D array, got 1D array instead:
array=[17.24 18.190001 19.219999 ... 10.47 10.18 11.04 ].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
制作该笔记本的人使用的是非常旧的 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))
解决了添加以下方法的问题,这些方法显然将训练和测试对象转换为 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))
我 运行 来自 github 的以下代码,但出现错误。怎么了?
单元格:
# 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)
错误:
ValueError: Expected 2D array, got 1D array instead:
array=[17.24 18.190001 19.219999 ... 10.47 10.18 11.04 ].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
制作该笔记本的人使用的是非常旧的 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))
解决了添加以下方法的问题,这些方法显然将训练和测试对象转换为 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))