Leo2394824849's picture
Create app.py
7b7e7f3 verified
import streamlit as st
import numpy as np
import pandas as pd
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing.sequence import pad_sequences
import pickle
# Load the model
model = load_model("model.h5")
# Load the tokenizer
with open("tokenizer.pkl", "rb") as handle:
tokenizer = pickle.load(handle)
# Streamlit app
st.title("Sentiment Analysis of Reviews")
st.write("Enter a review to predict if it's good or bad.")
# Input text box
text = st.text_area("Write a review here", "")
# Adjust threshold
threshold = st.slider("Adjust prediction threshold", min_value=0.0, max_value=1.0, value=0.5)
# Predict button
if st.button("Predict"):
if text:
TokenText = tokenizer.texts_to_sequences([text])
PadText = pad_sequences(TokenText, maxlen=100)
Pred = model.predict(PadText)
Pred_float = Pred[0][0] # Extract the single float value
binary_pred = (Pred_float > threshold).astype(int)
if binary_pred == 0:
st.write("Bad review")
else:
st.write("Good review")
st.write(f"Prediction score: {Pred_float}")
else:
st.write("Please enter a review to predict.")
# To run the app, save this script and run `streamlit run your_script_name.py` in the terminal.