Tel2 / app.py
Pezh's picture
Update app.py
14b9509
import streamlit as st
import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
import telebot
from keras.models import Sequential
from keras.layers import LSTM
from keras.layers import Dropout
from keras.layers import Dense
import numpy
from sklearn.model_selection import train_test_split
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from sklearn.metrics import mean_squared_error as mse
import yfinance as yf
import telebot
from keras.models import load_model
import datetime
k='6919541100:AAFhyMD2AbL62FQ2v5MixJTiUve877w2YEE'
bot=telebot.TeleBot(k, parse_mode=None)
def sty(sos):
head, sep, tail=sos.partition(' ')
split=head.split('-')
y, m, d=int(split[0]), int(split[1]), int(split[2])
return datetime.datetime(year=y, month=m, day=d)
def hey(df):
#df=do[[0, 1, 2]]
#df=df[['Date', 'Open', 'Close']]
df.reset_index(drop=False, inplace=True)
#df=MinMaxScaler(feature_range=(0, 1)).fit_transform(df)
#df['Date']=df['Date'].apply(sty)
X=df[['Open']]
X=X.to_numpy()
X=X.astype(np.float32)
y=df[['Close']]
Y=y.to_numpy()
#Y=y.reshape(-1, 1)
Y=Y.astype(np.float32)
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.33, random_state=42)
sc=MinMaxScaler(feature_range=(0, 1))
X_train=sc.fit_transform(X_train)
X_test=sc.transform(X_test)
#model=load_model('lstm3.keras')
model = Sequential()
model.add(LSTM(units=64,return_sequences=True, input_shape=(X_train.shape[1], 1)))
model.add(Dropout(0.2))
model.add(LSTM(units=64,return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(units=32,return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(units=32))
model.add(Dropout(0.2))
model.add(Dense(units=1))
model.compile(optimizer='adam',loss='mse')
model.fit(X_train,y_train,epochs=4,batch_size=2)
y_pr=model.predict(X_test)
#rmse=sqrt(mse(y_test, y_pr))
#print(y_pr)
#print(X_test)
return model.predict([[df['Open'].iloc[-1]]])
def yff(coin):
bb=yf.Ticker(coin)
d=bb.history(period='max')
return d
tok='6432200967:AAFjrIZ_I6XOEfbxCRJVz9giK2fXRysfptA'
bot = telebot.TeleBot(tok, parse_mode=None)
st.button("Reset", type="primary")
if st.button('Say hello'):
st.write('Why hello there')
else:
st.write('Goodbye')
def hey():
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
bot.reply_to(message, hey(yff(message.text)) )
bot.infinity_polling()
st.button('Click me', on_click=hey)
#option = webdriver.ChromeOptions()
#browser = webdriver.Chrome(service=s, options=option)
#def het():
#browser.get('http://www.google.com')
#st.button('Click you', on_click=het)