yxmauw's picture
add app files
d25dee5
# https://www.analyticsvidhya.com/blog/2021/07/streamlit-quickly-turn-your-ml-models-into-web-apps/
import streamlit as st
import pandas as pd
import numpy as np
from model_methods import predict
# configuration of the page
st.set_page_config(
layout="centered",
page_icon="🏠",
page_title="Are you planning to sell your house?",
initial_sidebar_state='auto',
)
st.title("🏠Ames Housing Sale Price recommendation tool")
st.markdown('''
The algorithm driving this app is built on
historical housing sale price data to generate
recommended Sale Price! Please enter your house details
to get a Sale Price suggestion πŸ™‚
''')
###########################################################
st.info('Only Enter Numeric Values in the Following Fields')
gr_liv_area = st.text_input('Enter house ground living area in square feet. Accept values 334 to 3395 inclusive', '')
overall_qual = np.nan
total_bsmt_sf = st.text_input('Enter house total basement area in square feet. Accept values 0 to 3206 inclusive', '')
garage_area = st.text_input('Enter house garage area in square feet. Accept values 0 to 1356 inclusive', '')
year_built = st.text_input('Enter the year your house was built. Accept values 1872 to 2010 inclusive', '')
mas_vnr_area = st.text_input('Enter house masonry veneer area in square feet. Accept values 0 to 1129 inclusive', '')
def predict_price():
data = list(map(float, [gr_liv_area,
(float(gr_liv_area))**2,
(float(gr_liv_area))**3,
overall_qual,
total_bsmt_sf,
garage_area,
year_built,
mas_vnr_area]))
result = np.format_float_positional((predict(data)[0]), unique=False, precision=0)
st.info(f'# Our SalePrice suggestion is ${result}')
st.write('with an estimated uncertainty of Β± \$11K')
if st.button('Recommend Saleprice'):
if gr_liv_area and overall_qual and total_bsmt_sf and garage_area and year_built and mas_vnr_area:
with st.sidebar:
try:
predict_price()
except:
st.warning('''Oops, looks like you missed a spot.
Please complete all fields to get a quote estimate
for property Sale Price πŸ™.
\n\n Thank you. πŸ™‚''')