> 情感
机器学习项目实战【机器学习预测股价】
导语:机器学习项目实战【机器学习预测股价】
机器学习项目实战系列机器学习预测股价
目录
机器学习项目实战系列 机器学习预测股价
一、概述
二、分析数据
1.导入
2.数据导入
3.分析股票尾市数据
4.构建模型
5.测试模型
6.展示预测结果
一、概述
根据上一年的数据预测股票市场的未来价格
数据集:股票价格预测数据集:Two Sigma: Using News to Predict Stock Movements | Kaggle
源代码:股票价格预测项目:Just a moment...
二、分析数据
1.导入
import pandas as pdimport numpy as np import matplotlib.pyplot as plt%matplotlib inline from matplotlib.pylab import rcParamsrcParams[&39;]=20,10from keras.models import Sequentialfrom keras.layers import LSTM,Dropout,Dense from sklearn.preprocessing import MinMaxScaler
2.数据导入
3.分析股票尾市数据
df[&34;]=pd.to_datetime(df.Date,format=&34;)df.index=df[&39;] plt.figure(figsize=(16,8))plt.plot(df[&34;],label=&39;)
4.构建模型
import math39;Close&Convert the dataframe to a numpy arraydataset = data.values Scale the datascaler=MinMaxScaler(feature_range=(0,1))scaled_data=scaler.fit_transform(dataset) scaled_data
Create the scaled training data settrain_data = scaled_data[0:training_data_len , :]Build the LSTM modelmodel = Sequential()model.add(LSTM(50,return_sequences=True,input_shape=(x_train.shape[1],1)))model.add(LSTM(50,return_sequences=False))model.add(Dense(25))model.add(Dense(1))
5.测试模型
Create a new array containing scaled values from index 1543 to 2003test_data = scaled_data[training_data_len - 60: , :]Get the models predicted price valuespredictions = model.predict(x_test)predictions = scaler.inverse_transform(predictions)
6.展示预测结果
39;Predictions&Visualize the dataplt.figure(figsize=(16,8))plt.title(&39;)plt.xlabel(&39;, fontsize=18)plt.ylabel(&39;, fontsize=18)plt.plot(train[&39;])plt.plot(valid[[&39;, &39;]])plt.legend([&39;,&39;,&39;], loc=&39;)plt.show()