After the model is fit, we can forecast for the entire test dataset.
模型被拟合后,我们就能在整个测试数据集上预测
We combine the forecast with the test dataset and invert the scaling. We also invert scaling on the test dataset with the expected pollution numbers.
我们合并在测试数据集上的预测和翻转缩放,我们也翻转测试数据集上期望污染数字的缩放
With forecasts and actual values in their original scale, we can then calculate an error score for the model. In this case, we calculate the Root Mean Squared Error (RMSE) that gives error in the same units as the variable itself.
结合预测和原始比例的实际值,我们可以模型的误差分数,这里我们计算给出与变量本身相同单位的均方根差。
# make a prediction yhat = model.predict(test_X) test_X = test_X.reshape((test_X.shape[0], test_X.shape[2])) # invert scaling for forecast inv_yhat = concatenate((yhat, test_X[:, 1:]), axis=1) inv_yhat = scaler.inverse_transform(inv_yhat) inv_yhat = inv_yhat[:, 0] # invert scaling for actual test_y = test_y.reshape((len(test_y), 1)) inv_y = concatenate((test_y, test_X[:, 1:]), axis=1) inv_y = inv_y[:, 0] # calculate RMSE rmse = sqrt(mean_squared_error(inv_y, inv_yhat)) print('Test RMSE: %.3f' % rmse)
numpy.concatenate
-
numpy.
concatenate
( (a1, a2, ...), axis=0, out=None ) -
Join a sequence of arrays along an existing axis.
Parameters: a1, a2, … : sequence of array_like
The arrays must have the same shape, except in the dimension corresponding to axis (the first, by default).
axis : int, optional
The axis along which the arrays will be joined. Default is 0.
out : ndarray, optional
If provided, the destination to place the result. The shape must be correct, matching that of what concatenate would have returned if no out argument were specified.
Returns: res : ndarray
The concatenated array.
See also
-
ma.concatenate
- Concatenate function that preserves input masks.
-
array_split
- Split an array into multiple sub-arrays of equal or near-equal size.
-
split
- Split array into a list of multiple sub-arrays of equal size.
-
hsplit
- Split array into multiple sub-arrays horizontally (column wise)
-
vsplit
- Split array into multiple sub-arrays vertically (row wise)
-
dsplit
- Split array into multiple sub-arrays along the 3rd axis (depth).
-
stack
- Stack a sequence of arrays along a new axis.
-
hstack
- Stack arrays in sequence horizontally (column wise)
-
vstack
- Stack arrays in sequence vertically (row wise)
-
dstack
- Stack arrays in sequence depth wise (along third dimension)
Notes
When one or more of the arrays to be concatenated is a MaskedArray, this function will return a MaskedArray object instead of an ndarray, but the input masks are not preserved. In cases where a MaskedArray is expected as input, use the ma.concatenate function from the masked array module instead.
Examples
>>> a = np.array([[1, 2], [3, 4]]) >>> b = np.array([[5, 6]]) >>> np.concatenate((a, b), axis=0) array([[1, 2], [3, 4], [5, 6]]) >>> np.concatenate((a, b.T), axis=1) array([[1, 2, 5], [3, 4, 6]])
This function will not preserve masking of MaskedArray inputs.
>>> a = np.ma.arange(3) >>> a[1] = np.ma.masked >>> b = np.arange(2, 5) >>> a masked_array(data = [0 -- 2], mask = [False True False], fill_value = 999999) >>> b array([2, 3, 4]) >>> np.concatenate([a, b]) masked_array(data = [0 1 2 2 3 4], mask = False, fill_value = 999999) >>> np.ma.concatenate([a, b]) masked_array(data = [0 -- 2 2 3 4], mask = [False True False False False False], fill_value = 999999)
-