Python Forum
Invalid syntax error(Predict Ethereum Price) - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: Invalid syntax error(Predict Ethereum Price) (/thread-35035.html)



Invalid syntax error(Predict Ethereum Price) - lulu43366 - Sep-24-2021

Good morning to the community Smile. I am using google colaboratory.
I would like to forecast the price of Ethereum.
But the console shows me the error: SyntaxError: invalid syntax about this line:
x_train, y_train = np.array(x_train), np.array(y_train)

Please find my code below:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import pandas_datareader as web
import datetime as dt
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.layers import Dense, Dropout, LSTM
from tensorflow.keras.models import Sequential

crypto_currency = 'ETH'
against_currency = 'USD'

start = dt.datetime (2015,6,15)
end  = dt.datetime.now()

data = web.DataReader(f'{crypto_currency}-{against_currency}', 'yahoo', start, end)

#Prepare Data
scaler = MinMaxScaler(feature_range(0,1))
scaled_data = scaler.fit_transform(data['Close'].values.reshape(-1,1))

prediction_days = 60

x_train, y_train = [], []

for x in range(prediction_days, len(scaled_data)):
  x_train.append(scaled_data[x-prediction_days:x, 0])
  y_train.append(scaled_data[x, 0]
            
x_train, y_train = np.array(x_train), np.array(y_train)
x_train = np.reshape(x_train, (x_train.shape[0], x_train.shape[1], 1))

#Create neural network

model = Sequential()

model.add(LSTM(units=50, return_sequences=True, input_shape=(x_train.shape[1], 1)))
model.add(Dropout(0.2))
model.add(LSTM(units=50, return_sequences=True)
model.add(Dropout(0.2))
model.add(LSTM(units=50))
model.add(Dropout(0.2))
model.add(Dense(units=1)

model.compile(optimizer='adam', loss='mean_squared_error')
model.fit(x_train, y_train, epochs=25, batch_size=32 )


#Testing the model
test_start = dt.datetime(2020,1,1)
test_end = dt.datetime.now()

test_data = web.DataReader(f'{crypto_currency}-{against_currency}', 'yahoo', start, end)
actual_prices = test_data['Close'].values

total_dataset = pd.concat((data['Close'], test_data['Close']), axis = 0)

model_inputs = total_dataset[len(total_dataset)-len(test_data) - prediction_days:].values
model_inputs = model_inputs.reshape(-1,1)
model_inputs = scaler.fit_transform(model_inputs)

x_test = []

for x in range(prediction_days, len(model_inputs)):
  x_test.append(model_inputs[x-prediction_days:x,0])

x_test = np.array(x_test)
x_test = np.reshape(x_test, (x_test.reshape[0], x_test.shape[1], 1))

prediction_prices = model.predict(x_test)
prediction_prices = scaler.inverse_transform(prediction_prices)

plt.plot(actual_prices, color = 'black', label='Actual Prices')
plt.plot(prediction_prices, color='green', label ='Predicted Prices')
plt.title(f'{crypto_currency}price_prediction')
plt.xlabel('Time')
plt.ylabel('Price')
plt.legend(loc='upper left')
plt.show()
Thank you for your help.


RE: Invalid syntax error(Predict Ethereum Price) - Yoriz - Sep-24-2021

Close bracket ) missing from the end of line 28


RE: Invalid syntax error(Predict Ethereum Price) - lulu43366 - Sep-24-2021

(Sep-24-2021, 12:34 PM)Yoriz Wrote: Close bracket ) missing from the end of line 28

Thank you Yoriz.