91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

使用LSTM預(yù)測股價案例,超級精簡,便于理解,是LSTM入門的好案例。

資源截圖

代碼片段和文件信息


#?coding:?utf-8

#?In[1]:


import?requests
import?numpy?as?np
import?matplotlib.pyplot?as?plt
import?math
from?numpy?import?*
from?keras.models?import?Sequential
from?keras.layers?import?Dense
from?keras.layers?import?LSTM
from?sklearn.preprocessing?import?MinMaxScaler
from?sklearn.metrics?import?mean_squared_error

#通過深交所獲取股票歷史數(shù)據(jù)
url=“http://www.szse.cn/api/market/ssjjhq/getHistoryData?random=0.08048793408036281&cycleType=32&marketId=1&code=000058“
????
r=requests.get(url)
data=r.json()

#從數(shù)據(jù)中提取收盤價備用
data_arr=np.array(data[“data“][“picupdata“])
close_prices=data_arr[:2].astype(np.float32)
#print(close_prices)


#?In[2]:


np.random.seed(8)


#?In[3]:


#數(shù)據(jù)歸一化
scaler=MinMaxScaler(feature_range=(01))
dataset=scaler.fit_transform(close_prices.reshape(len(close_prices)1))


#?In[4]:


#從原始數(shù)據(jù)中分割出訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)
train_size=int(len(dataset)*0.618)
test_size=len(dataset)-train_size
traintest=dataset[:train_size:]dataset[train_size::]


#?In[5]:


#格式化數(shù)據(jù)便于輸入
def?create_dataset(dataset?look_back=1):
????dataX?dataY?=?[]?[]
????for?i?in?range(look_backlen(dataset)):
????????a?=?dataset[i-look_back:i0]??????????????????????????
????????dataX.append([a])
????Y=dataset[look_back:0]
????return?np.array(dataX)?Y


#?In[6]:


short_term=5?#設(shè)定短期周期為15天
train_Xtrain_Y=create_dataset(trainlook_back=short_term)
test_Xtest_Y=create_dataset(testlook_back=short_term)
origin_Xorigin_Y=create_dataset(datasetlook_back=short_term)


#?In[7]:


#使用序列模型訓(xùn)練
model=Sequential()
model.add(LSTM(100input_shape=(train_X.shape[1]train_X.shape[2])))
model.add(Dense(1))
model.compile(loss=‘mean_squared_error‘?optimizer=‘a(chǎn)dam‘)?

history?=?model.fit(train_X?train_Y?
????????????????????epochs=200?
????????????????????batch_size=100?
????????????????????validation_data=(test_X?test_Y))

plt.plot(history.history[“l(fā)oss“]label=“train“)
plt.plot(history.history[“val_loss“]label=“test“)
plt.legend()
plt.show()


#?In[8]:


y_predicted=model.predict(origin_X)

plt.rcParams[‘font.sans-serif‘]?=?[‘SimHei‘]??#?用來正常顯示中文標(biāo)簽
plt.rcParams[‘a(chǎn)xes.unicode_minus‘]?=?False??#?用來正常顯示負號


plt.figure(figsize=(12?4))

x_index=range(len(origin_Y))

#反歸一化,還原為原價
origin_Y=scaler.inverse_transform(np.array(origin_Y).reshape((len(origin_Y)1)))
y_predicted=scaler.inverse_transform(y_predicted)

plt.plot(x_indexorigin_Ylabel=“真實收盤價“color=“#008080“)
plt.plot(x_indexy_predictedlabel=“預(yù)測收盤價“color=“#ff6666“)

plt.legend()

plt.show()


?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-08-29?18:15??LSTM股價預(yù)測(python)\
?????文件???????56650??2019-08-29?18:13??LSTM股價預(yù)測(python)\LSTM_stock_price_prediction.pdf
?????文件????????2655??2019-08-29?18:15??LSTM股價預(yù)測(python)\LSTM_stock_price_prediction.py

評論

共有 條評論