chaphoto commited on
Commit
aa7428d
1 Parent(s): d1ed6db

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +118 -13
app.py CHANGED
@@ -14,8 +14,26 @@ df = pd.read_csv('train2.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
@@ -33,20 +51,30 @@ x_train, x_test, y_train, y_test = train_test_split(x,y, test_size = 0.2, random
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
 
@@ -84,6 +112,83 @@ st.subheader('Price of House is : ')
84
  st.write(str(user_result))
85
  st.title('output')
86
  st.subheader('r2_score: ')
87
- st.write(str(r2_score(y_test, lr.predict(x_test))*100)+'%')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
 
89
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
 
16
  # Renaming columns
17
+ #df.rename(columns = {'MSSubClass':'import pandas as pd
18
+ import streamlit as st
19
+ import numpy as np
20
+ import matplotlib.pyplot as plt
21
+ from sklearn.metrics import r2_score
22
+ from sklearn.linear_model import LinearRegression
23
+ from sklearn.model_selection import train_test_split
24
+ import seaborn as sns
25
+
26
+
27
+
28
+ # loading the data
29
+ df = pd.read_csv('train2.csv')
30
+
31
+
32
+ # Renaming columns
33
+ #df.rename(columns = {'MSSubClass':'MSSubClass','LotArea':'LotArea', 'OverallQual':'OverallQual',
34
+ 'OverallCond':'OverallCond', 'YearBuilt':'YearBuilt',
35
+ 'MasVnrArea':'MasVnrArea', 'BsmtFinSF1':'BsmtFinSF1', 'BsmtFinSF2':'BsmtFinSF2',
36
+ 'BsmtUnfSF':'BsmtUnfSF','TotalBsmtSF':'TotalBsmtSF'},inplace = True)
37
 
38
 
39
  # HEADINGS
 
51
 
52
  # FUNCTION
53
  def user_report():
54
+ MSSubClass = st.sidebar.slider('MSSubClass', 17795,107702, 18000 )
55
+ LotArea = st.sidebar.slider('LotArea', 2,10, 4 )
56
+ OverallQual = st.sidebar.slider('OverallQual', 3,11, 5 )
57
+ OverallCond = st.sidebar.slider('OverallCond', 2,7, 3 )
58
+ YearBuilt = st.sidebar.slider('YearBuilt', 170,70000, 5000 )
59
+ MasVnrArea = st.sidebar.slider('MasVnrArea', 170,70000, 5000 )
60
+ BsmtFinSF1 = st.sidebar.slider('BsmtFinSF1', 170,70000, 5000 )
61
+ BsmtUnfSF = st.sidebar.slider('BsmtUnfSF', 170,70000, 5000 )
62
+ BsmtFinSF2 = st.sidebar.slider('BsmtFinSF2', 170,70000, 5000 )
63
+ TotalBsmtSF = st.sidebar.slider('TotalBsmtSF', 170,70000, 5000 )
64
 
65
 
66
  user_report_data = {
67
+ 'MSSubClass':MSSubClass,
68
+ 'LotArea':LotArea,
69
+ 'OverallQual':OverallQual
70
+ 'YearBuilt':YearBuilt,
71
+ 'MasVnrArea':MasVnrArea
72
+ 'BsmtFinSF1': BsmtFinSF1
73
+ 'BsmtFinSF': BsmtFinSF
74
+ 'BsmtFinSF2': BsmtFinSF2
75
+ 'TotalBsmtSF': TotalBsmtSF
76
  }
77
+
78
  report_data = pd.DataFrame(user_report_data, index=[0])
79
  return report_data
80
 
 
112
  st.write(str(user_result))
113
  st.title('output')
114
  st.subheader('r2_score: ')
115
+ st.write(str(r2_score(y_test, lr.predict(x_test))*100)+'%')','LotFrontage':'House_age', 'Avg. Area Number of Rooms':'No_rooms',
116
+ # 'Avg. Area Number of Bedrooms':'No_bedrooms', 'Area Population':'population'},inplace = True)
117
+
118
+
119
+ # HEADINGS
120
+ st.title('House Price Prediction')
121
+ st.sidebar.header('Housing Data')
122
+ st.subheader('Training Data Stats')
123
+ st.write(df.describe())
124
+
125
+
126
+ # X AND Y DATA
127
+ x = df.drop(['SalePrice'], axis = 1)
128
+ y = df.iloc[:, -1]
129
+ x_train, x_test, y_train, y_test = train_test_split(x,y, test_size = 0.2, random_state = 0)
130
+
131
+
132
+ # FUNCTION
133
+ def user_report():
134
+ MSSubClass = st.sidebar.slider('MSSubClass', 17795,107702, 18000 )
135
+ LotArea = st.sidebar.slider('LotArea', 2,10, 4 )
136
+ OverallQual = st.sidebar.slider('OverallQual', 3,11, 5 )
137
+ OverallCond = st.sidebar.slider('OverallCond', 2,7, 3 )
138
+ YearBuilt = st.sidebar.slider('YearBuilt', 170,70000, 5000 )
139
+ MasVnrArea = st.sidebar.slider('MasVnrArea', 170,70000, 5000 )
140
+ BsmtFinSF1 = st.sidebar.slider('BsmtFinSF1', 170,70000, 5000 )
141
+ BsmtUnfSF = st.sidebar.slider('BsmtUnfSF', 170,70000, 5000 )
142
+ BsmtFinSF2 = st.sidebar.slider('BsmtFinSF2', 170,70000, 5000 )
143
+ TotalBsmtSF = st.sidebar.slider('TotalBsmtSF', 170,70000, 5000 )
144
+
145
+
146
+ user_report_data = {
147
+ 'MSSubClass':MSSubClass,
148
+ 'LotArea':LotArea,
149
+ 'OverallQual':OverallQual
150
+ 'YearBuilt':YearBuilt,
151
+ 'MasVnrArea':MasVnrArea
152
+ 'BsmtFinSF1': BsmtFinSF1
153
+ 'BsmtFinSF': BsmtFinSF
154
+ 'BsmtFinSF2': BsmtFinSF2
155
+ 'TotalBsmtSF': TotalBsmtSF
156
+ }
157
+ report_data = pd.DataFrame(user_report_data, index=[0])
158
+ return report_data
159
+
160
+
161
+
162
+
163
+ # Housing Data
164
+ user_data = user_report()
165
+ st.subheader('Housing Data')
166
+ st.write(user_data)
167
+
168
+
169
+ # MODEL
170
+ lr = LinearRegression()
171
+ lr.fit(x_train, y_train)
172
+ user_result = lr.predict(user_data)
173
+
174
 
175
 
176
+ # VISUALISATIONS
177
+ st.title('Visualised Housing Data')
178
+
179
+
180
+
181
+ # COLOR FUNCTION
182
+ if user_result[0]==0:
183
+ color = 'blue'
184
+ else:
185
+ color = 'red'
186
+
187
+
188
+
189
+ # OUTPUT
190
+ st.subheader('Price of House is : ')
191
+ st.write(str(user_result))
192
+ st.title('output')
193
+ st.subheader('r2_score: ')
194
+ st.write(str(r2_score(y_test, lr.predict(x_test))*100)+'%')