国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
python實現(xiàn)LSTM股價預(yù)測
01



今天,梅朵和大家分享用Python實現(xiàn)LSTM股價預(yù)測,僅用于技術(shù)學(xué)習(xí)交流,不作為投資建議。

Python實現(xiàn)LSTM股價預(yù)測

  

實現(xiàn)技巧

1.導(dǎo)入依賴庫

主要是安裝相關(guān)的依賴庫。本文實現(xiàn)的環(huán)境為:python 3.7。

# 導(dǎo)入依賴庫import sklearnimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom keras.optimizers import Adamfrom keras.models import Sequentialfrom keras.layers import LSTM, Densefrom sklearn.preprocessing import MinMaxScaler

2.讀取股價數(shù)據(jù)并歸一化

讀取股價數(shù)據(jù)文件,并對數(shù)據(jù)進(jìn)行歸一化處理。

    # 讀取股票價格數(shù)據(jù)    data = pd.read_csv('stock_data.csv')    prices = data['Close'].values
# 數(shù)據(jù)預(yù)處理:歸一化 scaler = MinMaxScaler() prices = scaler.fit_transform(prices.reshape(-1, 1))


3.劃分訓(xùn)練集和測試集并確定模型輸入和輸出數(shù)據(jù)

劃分?jǐn)?shù)據(jù)的訓(xùn)練集和測試集,并確定模型輸入庫數(shù)據(jù)和輸出數(shù)據(jù)。

# 劃分?jǐn)?shù)據(jù)集為訓(xùn)練集和測試集 train_size = int(len(prices) * 0.75) train_data, test_data = prices[:train_size], prices[train_size:]
#確定模型輸入和輸出數(shù)據(jù) in_out_length = 12 train_sequences = [] for i in range(len(train_data) - in_out_length): train_sequences.append(train_data[i:i+in_out_length]) X_train = np.array(train_sequences) y_train = train_data[in_out_length:] test_sequences = [] for i in range(len(test_data) - in_out_length): test_sequences.append(test_data[i:i+in_out_length]) X_test = np.array(test_sequences) y_test = test_data[in_out_length:]


4.創(chuàng)建LSTM模型并訓(xùn)練模型

創(chuàng)建LSTM模型并進(jìn)行模型訓(xùn)練。

    # 創(chuàng)建LSTM模型    model = Sequential()    model.add(LSTM(50, input_shape=(in_out_length, 1)))    model.add(Dense(1))    learning_rate=0.002    model.compile(loss='mean_squared_error', optimizer=Adam(learning_rate))
# 訓(xùn)練模型 model.fit(X_train, y_train, epochs=50, batch_size=64)


3.利用LSTM模型預(yù)測股價

利用訓(xùn)練好的LSTM模型進(jìn)行預(yù)測。

# 預(yù)測未來股價 predicted_prices = model.predict(X_test) predicted_prices = scaler.inverse_transform(predicted_prices) y_test = scaler.inverse_transform(y_test)


完整源代碼

# 導(dǎo)入依賴庫import sklearnimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom keras.optimizers import Adamfrom keras.models import Sequentialfrom keras.layers import LSTM, Densefrom sklearn.preprocessing import MinMaxScaler
if __name__=='__main__': # 讀取股票價格數(shù)據(jù) data = pd.read_csv('stock_data.csv') prices = data['Close'].values
# 數(shù)據(jù)預(yù)處理:歸一化 scaler = MinMaxScaler() prices = scaler.fit_transform(prices.reshape(-1, 1))
# 劃分?jǐn)?shù)據(jù)集為訓(xùn)練集和測試集 train_size = int(len(prices) * 0.75) train_data, test_data = prices[:train_size], prices[train_size:]
#確定模型輸入和輸出數(shù)據(jù) in_out_length = 12 train_sequences = [] for i in range(len(train_data) - in_out_length): train_sequences.append(train_data[i:i+in_out_length]) X_train = np.array(train_sequences) y_train = train_data[in_out_length:] test_sequences = [] for i in range(len(test_data) - in_out_length): test_sequences.append(test_data[i:i+in_out_length]) X_test = np.array(test_sequences) y_test = test_data[in_out_length:]
# 創(chuàng)建LSTM模型 model = Sequential() model.add(LSTM(50, input_shape=(in_out_length, 1))) model.add(Dense(1)) learning_rate=0.002 model.compile(loss='mean_squared_error', optimizer=Adam(learning_rate))
# 訓(xùn)練模型 model.fit(X_train, y_train, epochs=50, batch_size=64)
# 預(yù)測未來股價 predicted_prices = model.predict(X_test) predicted_prices = scaler.inverse_transform(predicted_prices) y_test = scaler.inverse_transform(y_test)
# 繪制預(yù)測結(jié)果 plt.plot(y_test, label='True_Prices') plt.plot(predicted_prices, label='Predicted_Prices') plt.legend() plt.xlabel('Time_Steps') plt.ylabel('Stock_Price') plt.title('LSTM Stock Price Prediction') plt.show()



本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
使用Python和機器學(xué)習(xí)進(jìn)行股價預(yù)測
Python機器學(xué)習(xí)筆記:sklearn庫的學(xué)習(xí)
機器學(xué)習(xí)項目實戰(zhàn)【機器學(xué)習(xí)預(yù)測股價】
機器學(xué)習(xí)分類算法
Python深度學(xué)習(xí)教程:LSTM時間序列預(yù)測小練習(xí)—國航乘客數(shù)量預(yù)測
基于SARIMA、XGBoost和CNN-LSTM的時間序列預(yù)測對比
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服