In fact, the model I built is a regression model rather than a classification model.
The main issue is the accuracy of training set is far lower than  that of  testing set.
As is shown in the figures below.
the first figure is the result of training set(the red line  is  true data and the green is the predictive value)
the second is the result of testing set(the blue line is true data and the green is the predictive value)

the RMSE of traiing set:39.4701
the RMSE of testing set:6.1752