File size: 4,288 Bytes
fd7e04e
9ae8083
6676090
842df92
fd7e04e
5250b05
08625ae
fd7e04e
9ae8083
fd7e04e
5a66be2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9ae8083
842df92
08625ae
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
842df92
08625ae
 
3afbcb4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import streamlit as st
import pandas as pd
import pickle
from utils import create_new_features, normalize, init_new_pred

with open('./trained_model.pkl', 'rb') as file:
    model = pickle.load(file)

new_pred = st.text_area('Enter text')

# Define min and max values from the dictionaries
min_dict = {
    'bedrooms': 0,
    'bathrooms': 0,
    'sqft_living': 370,
    'sqft_lot': 638,
    'floors': 1,
    'waterfront': 0,
    'view': 0,
    'condition': 1,
    'sqft_above': 370,
    'sqft_basement': 0,
    'yr_built': 1900,
    'yr_renovated': 0,
    'house_age': 0,
    'years_since_renovation': 0
}

max_dict = {
    'bedrooms': 9,
    'bathrooms': 8,
    'sqft_living': 13540,
    'sqft_lot': 1074218,
    'floors': 3,
    'waterfront': 1,
    'view': 4,
    'condition': 5,
    'sqft_above': 9410,
    'sqft_basement': 4820,
    'yr_built': 2014,
    'yr_renovated': 2014,
    'house_age': 114,
    'years_since_renovation': 2014
}

# Create sliders for each item in the dictionaries
bedrooms = st.slider('Bedrooms', min_value=min_dict['bedrooms'], max_value=max_dict['bedrooms'], value=min_dict['bedrooms'])
bathrooms = st.slider('Bathrooms', min_value=min_dict['bathrooms'], max_value=max_dict['bathrooms'], value=min_dict['bathrooms'])
sqft_living = st.slider('Square Feet (Living)', min_value=min_dict['sqft_living'], max_value=max_dict['sqft_living'], value=min_dict['sqft_living'])
sqft_lot = st.slider('Square Feet (Lot)', min_value=min_dict['sqft_lot'], max_value=max_dict['sqft_lot'], value=min_dict['sqft_lot'])
floors = st.slider('Floors', min_value=min_dict['floors'], max_value=max_dict['floors'], value=min_dict['floors'])
waterfront = st.slider('Waterfront', min_value=min_dict['waterfront'], max_value=max_dict['waterfront'], value=min_dict['waterfront'])
view = st.slider('View', min_value=min_dict['view'], max_value=max_dict['view'], value=min_dict['view'])
condition = st.slider('Condition', min_value=min_dict['condition'], max_value=max_dict['condition'], value=min_dict['condition'])
sqft_above = st.slider('Square Feet (Above)', min_value=min_dict['sqft_above'], max_value=max_dict['sqft_above'], value=min_dict['sqft_above'])
sqft_basement = st.slider('Square Feet (Basement)', min_value=min_dict['sqft_basement'], max_value=max_dict['sqft_basement'], value=min_dict['sqft_basement'])
yr_built = st.slider('Year Built', min_value=min_dict['yr_built'], max_value=max_dict['yr_built'], value=min_dict['yr_built'])
yr_renovated = st.slider('Year Renovated', min_value=min_dict['yr_renovated'], max_value=max_dict['yr_renovated'], value=min_dict['yr_renovated'])
house_age = st.slider('House Age', min_value=min_dict['house_age'], max_value=max_dict['house_age'], value=min_dict['house_age'])
years_since_renovation = st.slider('Years Since Renovation', min_value=min_dict['years_since_renovation'], max_value=max_dict['years_since_renovation'], value=min_dict['years_since_renovation'])

# Display the selected values (optional)
st.write(f"Selected Bedrooms: {bedrooms}")
st.write(f"Selected Bathrooms: {bathrooms}")
st.write(f"Selected Sqft Living: {sqft_living}")
st.write(f"Selected Sqft Lot: {sqft_lot}")
st.write(f"Selected Floors: {floors}")
st.write(f"Selected Waterfront: {waterfront}")
st.write(f"Selected View: {view}")
st.write(f"Selected Condition: {condition}")
st.write(f"Selected Sqft Above: {sqft_above}")
st.write(f"Selected Sqft Basement: {sqft_basement}")
st.write(f"Selected Year Built: {yr_built}")
st.write(f"Selected Year Renovated: {yr_renovated}")
st.write(f"Selected House Age: {house_age}")
st.write(f"Selected Years Since Renovation: {years_since_renovation}")

if new_pred:
    new_pred = init_new_pred()
    new_pred['bedrooms'] = 5
    new_pred['bathrooms'] = 3
    new_pred['sqft_living'] = 10000
    new_pred['sqft_lot'] = 1000
    new_pred['floors'] = 2
    new_pred['waterfront'] = 1
    new_pred['view'] = 3
    new_pred['condition'] = 5
    new_pred['sqft_above'] = 500
    new_pred['sqft_basement'] = 500
    new_pred['yr_built'] = 2012
    new_pred['yr_renovated'] = 2013
    new_pred['city_Bellevue'] = 1
    new_pred = pd.DataFrame([new_pred])
    
    new_pred = create_new_features(new_pred)
    new_pred = normalize(new_pred)
    
    predicted_price = model.predict(new_pred)
    st.write(predicted_price[0][0])