Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
@@ -1,89 +1,90 @@
|
|
1 |
-
import pandas as pd
|
2 |
-
import streamlit as st
|
3 |
-
import numpy as np
|
4 |
-
import matplotlib.pyplot as plt
|
5 |
-
from sklearn.metrics import r2_score
|
6 |
-
from sklearn.linear_model import LinearRegression
|
7 |
-
from sklearn.model_selection import train_test_split
|
8 |
-
import seaborn as sns
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
# loading the data
|
13 |
-
df = pd.read_csv('
|
14 |
-
|
15 |
-
|
16 |
-
# Renaming columns
|
17 |
-
df.rename(columns = {'
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
# HEADINGS
|
22 |
-
st.title('House Price Prediction')
|
23 |
-
st.sidebar.header('Housing Data')
|
24 |
-
st.subheader('Training Data Stats')
|
25 |
-
st.write(df.describe())
|
26 |
-
|
27 |
-
|
28 |
-
# X AND Y DATA
|
29 |
-
x = df.drop(['Price'], axis = 1)
|
30 |
-
y = df.iloc[:, -1]
|
31 |
-
x_train, x_test, y_train, y_test = train_test_split(x,y, test_size = 0.2, random_state = 0)
|
32 |
-
|
33 |
-
|
34 |
-
# FUNCTION
|
35 |
-
def user_report():
|
36 |
-
Income = st.sidebar.slider('Income', 17795,107702, 18000 )
|
37 |
-
House_age = st.sidebar.slider('House_age', 2,10, 4 )
|
38 |
-
No_rooms = st.sidebar.slider('No_rooms', 3,11, 5 )
|
39 |
-
No_bedrooms = st.sidebar.slider('No_bedrooms', 2,7, 3 )
|
40 |
-
population = st.sidebar.slider('population', 170,70000, 5000 )
|
41 |
-
|
42 |
-
|
43 |
-
user_report_data = {
|
44 |
-
'Income':Income,
|
45 |
-
'House_age':House_age,
|
46 |
-
'No_rooms':No_rooms,
|
47 |
-
'No_bedrooms':No_bedrooms,
|
48 |
-
'population':population
|
49 |
-
}
|
50 |
-
report_data = pd.DataFrame(user_report_data, index=[0])
|
51 |
-
return report_data
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
# Housing Data
|
57 |
-
user_data = user_report()
|
58 |
-
st.subheader('Housing Data')
|
59 |
-
st.write(user_data)
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
# MODEL
|
65 |
-
lr = LinearRegression()
|
66 |
-
lr.fit(x_train, y_train)
|
67 |
-
user_result = lr.predict(user_data)
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
# VISUALISATIONS
|
72 |
-
st.title('Visualised Housing Data')
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
# COLOR FUNCTION
|
77 |
-
if user_result[0]==0:
|
78 |
-
color = 'blue'
|
79 |
-
else:
|
80 |
-
color = 'red'
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
# OUTPUT
|
85 |
-
st.subheader('Price of House is : ')
|
86 |
-
st.write(str(user_result))
|
87 |
-
st.title('output')
|
88 |
-
st.subheader('r2_score: ')
|
89 |
-
st.write(str(r2_score(y_test, lr.predict(x_test))*100)+'%')
|
|
|
|
1 |
+
import pandas as pd
|
2 |
+
import streamlit as st
|
3 |
+
import numpy as np
|
4 |
+
import matplotlib.pyplot as plt
|
5 |
+
from sklearn.metrics import r2_score
|
6 |
+
from sklearn.linear_model import LinearRegression
|
7 |
+
from sklearn.model_selection import train_test_split
|
8 |
+
import seaborn as sns
|
9 |
+
|
10 |
+
|
11 |
+
|
12 |
+
# loading the data
|
13 |
+
df = pd.read_csv('test2.csv')
|
14 |
+
|
15 |
+
|
16 |
+
# Renaming columns
|
17 |
+
#df.rename(columns = {'MSSubClass':'Income','LotFrontage':'House_age', 'Avg. Area Number of Rooms':'No_rooms',
|
18 |
+
# 'Avg. Area Number of Bedrooms':'No_bedrooms', 'Area Population':'population'},inplace = True)
|
19 |
+
|
20 |
+
|
21 |
+
# HEADINGS
|
22 |
+
st.title('House Price Prediction')
|
23 |
+
st.sidebar.header('Housing Data')
|
24 |
+
st.subheader('Training Data Stats')
|
25 |
+
st.write(df.describe())
|
26 |
+
|
27 |
+
|
28 |
+
# X AND Y DATA
|
29 |
+
x = df.drop(['Price'], axis = 1)
|
30 |
+
y = df.iloc[:, -1]
|
31 |
+
x_train, x_test, y_train, y_test = train_test_split(x,y, test_size = 0.2, random_state = 0)
|
32 |
+
|
33 |
+
|
34 |
+
# FUNCTION
|
35 |
+
def user_report():
|
36 |
+
Income = st.sidebar.slider('Income', 17795,107702, 18000 )
|
37 |
+
House_age = st.sidebar.slider('House_age', 2,10, 4 )
|
38 |
+
No_rooms = st.sidebar.slider('No_rooms', 3,11, 5 )
|
39 |
+
No_bedrooms = st.sidebar.slider('No_bedrooms', 2,7, 3 )
|
40 |
+
population = st.sidebar.slider('population', 170,70000, 5000 )
|
41 |
+
|
42 |
+
|
43 |
+
user_report_data = {
|
44 |
+
'Income':Income,
|
45 |
+
'House_age':House_age,
|
46 |
+
'No_rooms':No_rooms,
|
47 |
+
'No_bedrooms':No_bedrooms,
|
48 |
+
'population':population
|
49 |
+
}
|
50 |
+
report_data = pd.DataFrame(user_report_data, index=[0])
|
51 |
+
return report_data
|
52 |
+
|
53 |
+
|
54 |
+
|
55 |
+
|
56 |
+
# Housing Data
|
57 |
+
user_data = user_report()
|
58 |
+
st.subheader('Housing Data')
|
59 |
+
st.write(user_data)
|
60 |
+
|
61 |
+
|
62 |
+
|
63 |
+
|
64 |
+
# MODEL
|
65 |
+
lr = LinearRegression()
|
66 |
+
lr.fit(x_train, y_train)
|
67 |
+
user_result = lr.predict(user_data)
|
68 |
+
|
69 |
+
|
70 |
+
|
71 |
+
# VISUALISATIONS
|
72 |
+
st.title('Visualised Housing Data')
|
73 |
+
|
74 |
+
|
75 |
+
|
76 |
+
# COLOR FUNCTION
|
77 |
+
if user_result[0]==0:
|
78 |
+
color = 'blue'
|
79 |
+
else:
|
80 |
+
color = 'red'
|
81 |
+
|
82 |
+
|
83 |
+
|
84 |
+
# OUTPUT
|
85 |
+
st.subheader('Price of House is : ')
|
86 |
+
st.write(str(user_result))
|
87 |
+
st.title('output')
|
88 |
+
st.subheader('r2_score: ')
|
89 |
+
st.write(str(r2_score(y_test, lr.predict(x_test))*100)+'%')
|
90 |
+
|