Spaces:
Runtime error
Runtime error
import streamlit as st | |
import pandas as pd | |
import numpy as np | |
import pickle | |
import json | |
from datetime import datetime | |
# Load model dan scaler | |
with open('model_lin_reg.pkl', 'rb') as file: | |
loaded_model = pickle.load(file) | |
with open('model_scaler.pkl', 'rb') as file: | |
model_scaler = pickle.load(file) | |
# Daftar kolom numerik | |
list_num_cols = ['open', 'low', 'high', 'volume'] | |
# Daftar kolom kategorik | |
list_cat_cols = [] | |
# Daftar kolom numerik dan kategorik | |
list_cat_num_cols = ['Tahun', 'Bulan', 'Hari'] | |
def run(): | |
with st.form(key='from_harga_saham_BBCA'): | |
timestamp = st.date_input("Masukkan tanggal", datetime(2023, 5, 1)) | |
open_price = st.number_input('open', min_value=0, max_value=100000) | |
low = st.number_input('low', min_value=0, max_value=100000) | |
high = st.number_input('high', min_value=0, max_value=100000) | |
volume = st.number_input('volume', min_value=0, max_value=800000000) | |
st.markdown('---') | |
Tahun = st.number_input('Tahun', min_value=2020, max_value=2023) | |
Bulan = st.number_input('Bulan', min_value=1, max_value=12) | |
Hari = st.number_input('Hari', min_value=1, max_value=31) | |
submitted = st.form_submit_button('Prediksi Harga Penutupan') | |
data_inf = { | |
'timestamp': [timestamp], | |
'open': [open_price], | |
'low': [low], | |
'high': [high], | |
'volume': [volume], | |
'Tahun': [Tahun], | |
'Bulan': [Bulan], | |
'Hari': [Hari], | |
} | |
data_inf = pd.DataFrame(data_inf) | |
st.dataframe(data_inf) | |
if submitted: | |
if open_price == 0: | |
st.warning('open harus diisi') | |
else: | |
# Feature Scaling | |
data_inf_scaled = model_scaler.transform(data_inf[list_num_cols]) | |
# Combine numerical and categorical data | |
data_inf_final = np.concatenate([data_inf_scaled, data_inf[list_cat_num_cols]], axis=1) | |
# Predict using Linear Regression | |
y_pred_inf = loaded_model.predict(data_inf_final) | |
# Harga Saham | |
harga_saham = int(y_pred_inf[0]) | |
# Hasil Prediksi Harga | |
st.write('Harga Saham: Rp', harga_saham) | |
if __name__== '__main__': | |
run() |