| | import gradio as gr |
| |
|
| | import hopsworks |
| | import joblib |
| | import datetime |
| | import yfinance as yf |
| | from pandas_datareader import data as pdr |
| |
|
| | project = hopsworks.login() |
| | fs = project.get_feature_store() |
| |
|
| | mr = project.get_model_registry() |
| | model = mr.get_model("btc_model", version=5) |
| | model_dir = model.download() |
| | model = joblib.load(model_dir + "/btc_model.pkl") |
| |
|
| |
|
| | def predict(): |
| | today = get_date() |
| |
|
| | yf.pdr_override() |
| | btc_df = pdr.get_data_yahoo('BTC-USD', start=today) |
| | btc_df.drop(columns=['Adj Close'], inplace=True) |
| |
|
| | btc_df['Dayofyear'] = btc_df.index.dayofyear |
| | btc_df['Month'] = btc_df.index.month |
| | btc_df['Year'] = btc_df.index.year |
| | |
| | btc_df = btc_df.drop(columns=['Close']) |
| | |
| | price_entire = model.predict(btc_df) |
| | print(len(price_entire), 'price len') |
| | |
| | price = model.predict(btc_df)[0] |
| | return [today, price] |
| |
|
| |
|
| | def get_date(): |
| | today = datetime.datetime.today() |
| | return today.date() |
| |
|
| |
|
| | demo = gr.Interface( |
| | fn=predict, |
| | title="Bitcoin Closing Price Prediction", |
| | description="Daily Bitcoin closing price prediction", |
| | allow_flagging="never", |
| | inputs=[], |
| | outputs=[ |
| | gr.Textbox(label="Date"), |
| | gr.Textbox(label="Predicted Closing price"), |
| | ] |
| | ) |
| |
|
| | demo.launch() |
| |
|