午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

機器學(xué)習(xí)項目實戰(zhàn)【機器學(xué)習(xí)預(yù)測股價】

 禁忌石 2023-04-14 發(fā)布于浙江

機器學(xué)習(xí)項目實戰(zhàn)系列機器學(xué)習(xí)預(yù)測股價

目錄

機器學(xué)習(xí)項目實戰(zhàn)系列 機器學(xué)習(xí)預(yù)測股價

一、概述

二、分析數(shù)據(jù)

1.導(dǎo)入

2.數(shù)據(jù)導(dǎo)入

3.分析股票尾市數(shù)據(jù)

4.構(gòu)建模型

5.測試模型

6.展示預(yù)測結(jié)果

一、概述

根據(jù)上一年的數(shù)據(jù)預(yù)測股票市場的未來價格

文章圖片1

數(shù)據(jù)集:股票價格預(yù)測數(shù)據(jù)集:Two Sigma: Using News to Predict Stock Movements | Kaggle

源代碼:股票價格預(yù)測項目:Just a moment...


二、分析數(shù)據(jù)

1.導(dǎo)入

import pandas as pdimport numpy as np import matplotlib.pyplot as plt%matplotlib inline from matplotlib.pylab import rcParamsrcParams['figure.figsize']=20,10from keras.models import Sequentialfrom keras.layers import LSTM,Dropout,Dense from sklearn.preprocessing import MinMaxScaler

2.數(shù)據(jù)導(dǎo)入

文章圖片2
文章圖片3
文章圖片4

3.分析股票尾市數(shù)據(jù)

df['Date']=pd.to_datetime(df.Date,format='%Y-%m-%d')df.index=df['Date'] plt.figure(figsize=(16,8))plt.plot(df['Close'],label='Close Price history')
文章圖片5

4.構(gòu)建模型

import math#Create a new dataframe with only the Close columndata = df.filter(['Close'])#Convert the dataframe to a numpy arraydataset = data.values #Get the number of rows to train the modeltraining_data_len = math.ceil( len(dataset) * .8)training_data_len
文章圖片6
#Scale the datascaler=MinMaxScaler(feature_range=(0,1))scaled_data=scaler.fit_transform(dataset) scaled_data
文章圖片7
#Create the training data set#Create the scaled training data settrain_data = scaled_data[0:training_data_len , :]#Split the data into x_train and y_train data setsx_train = []y_train = [] for i in range(60,len(train_data)): x_train.append(train_data[i-60:i,0]) y_train.append(train_data[i,0]) if i<= 60: print(x_train) print(y_train) print()
文章圖片8
文章圖片9
#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))
文章圖片10

5.測試模型

#Create the testing data set#Create a new array containing scaled values from index 1543 to 2003test_data = scaled_data[training_data_len - 60: , :]#Create the data sets x_test and y_testx_test = []y_test = dataset[training_data_len: , :]for i in range(60, len(test_data)): x_test.append(test_data[i-60:i,0])
文章圖片11
#Get the models predicted price valuespredictions = model.predict(x_test)predictions = scaler.inverse_transform(predictions)
文章圖片12

6.展示預(yù)測結(jié)果

#Plot the datatrain = data[:training_data_len]valid = data[training_data_len:]valid['Predictions'] = predictions#Visualize the dataplt.figure(figsize=(16,8))plt.title('Model')plt.xlabel('Date', fontsize=18)plt.ylabel('Close Prise USD ($)', fontsize=18)plt.plot(train['Close'])plt.plot(valid[['Close', 'Predictions']])plt.legend(['Train','Val','Predictions'], loc='lower right')plt.show()
文章圖片13
文章圖片14

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多