AjiNiktech's picture
Update app.py
131aba4 verified
raw
history blame contribute delete
No virus
2.02 kB
import streamlit as st
import numpy as np
import pickle
import streamlit.components.v1 as components
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
# Load the pickled model
def load_model():
return pickle.load(open('Diamond_Price_Prediction_LinearRegression.pkl', 'rb'))
# Function for model prediction
def model_prediction(model, features):
predicted = str(model.predict(features)[0])
return predicted
def transform(text):
text = le.fit_transform(text)
return text[0]
def app_design():
# Add input fields for High, Open, and Low values
image = ''
st.image(image, use_column_width=True)
st.subheader("Enter the following values:")
Carat = st.number_input("Carat(Weight of Daimond)")
Cut = st.text_input("Cut(Quality) ('Ideal','Premium','Good','Very Good','Fair')")
Cut = transform([Cut])
Color = st.text_input("Color ('E','I','J','H','F','G','D')")
Color=transform([Color])
Clarity = st.text_input("Clarity ('SI2','SI1','VS1','VS2','VVS2','VVS1','I1','IF')")
Clarity=transform([Clarity])
Depth = st.number_input("Depth")
Table = st.number_input("Table")
X_length = st.number_input("X length")
Y_width = st.number_input("Y width")
Z_depth = st.number_input("Z depth")
# Create a feature list from the user inputs
features = [[Carat,Cut,Color,Clarity,Depth,Table,X_length,Y_width,Z_depth]]
# Load the model
model = load_model()
# Make a prediction when the user clicks the "Predict" button
if st.button('Predict Price'):
predicted_value = model_prediction(model, features)
st.success(f"The Price is: {predicted_value}")
def main():
# Set the app title and add your website name and logo
st.set_page_config(
page_title="Diamond Price Prediction",
page_icon=":chart_with_upwards_trend:",
)
st.title("Welcome to our Diamond Price Prediction App!")
if __name__ == '__main__':
main()