File size: 2,946 Bytes
cf5dd5c
 
 
 
 
 
 
 
 
 
 
 
acb5d1a
cf5dd5c
 
 
aa7428d
 
 
 
 
 
 
 
 
 
 
 
62ca47e
aa7428d
 
 
2726493
8960813
aa7428d
cf5dd5c
 
 
386d509
cf5dd5c
 
 
 
 
 
d1ed6db
cf5dd5c
 
 
 
 
 
0627a0d
bd68159
 
 
 
 
 
 
 
 
 
cf5dd5c
 
aa7428d
 
7560521
a9ce1d9
7560521
e03ac5b
7560521
a305603
7560521
 
cfbdc51
cf5dd5c
aa7428d
cf5dd5c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c7ddfd2
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
import pandas as pd
import streamlit as st
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import r2_score
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
import seaborn as sns



# loading the data
df = pd.read_csv('train4.csv')


# Renaming columns
#df.rename(columns = {'MSSubClass':'import pandas as pd
import streamlit as st
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import r2_score
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
import seaborn as sns



# loading the data
df = pd.read_csv('train4.csv')


# Renaming columns
df.rename(columns = {'MSSubClass':'MSSubClass','LotArea':'LotArea', 'OverallQual':'OverallQual','OverallCond':'OverallCond', 'YearBuilt':'YearBuilt', 
	 'BsmtFinSF1':'BsmtFinSF1', 'BsmtFinSF2':'BsmtFinSF2',
	'BsmtUnfSF':'BsmtUnfSF','TotalBsmtSF':'TotalBsmtSF'},inplace = True)


# HEADINGS
st.title('House Price Prediction')
st.sidebar.header('Housing Data')
st.subheader('Training Data Stats')
st.write(df.describe())


# X AND Y DATA
x = df.drop(['SalePrice'], axis = 1)
y = df.iloc[:, -1]
x_train, x_test, y_train, y_test = train_test_split(x,y, test_size = 0.2, random_state = 0)


# FUNCTION
def user_report():
  MSSubClass = st.sidebar.slider('MSSubClass', 0,60, 200 )
  LotArea = st.sidebar.slider('LotArea', 1300,10000,22000 )
  OverallQual = st.sidebar.slider('OverallQual', 1,5, 10 )
  OverallCond = st.sidebar.slider('OverallCond', 1,5, 9 )
  YearBuilt = st.sidebar.slider('YearBuilt', 1872,1975, 2010 )
  YearRemodAdd = st.sidebar.slider('YearRemodAdd', 1950,1975, 2010 )
  BsmtFinSF1 = st.sidebar.slider('BsmtFinSF1', 0,2500, 5000 )
  BsmtUnfSF = st.sidebar.slider('BsmtUnfSF', 0,2500, 5000 )
  BsmtFinSF2 = st.sidebar.slider('BsmtFinSF2', 0,2500, 5000 )
  TotalBsmtSF = st.sidebar.slider('TotalBsmtSF', 0,2500, 6000 )
  SalePrice = st.sidebar.slider('SalePrice', 0,300000, 800000 )  

  user_report_data = {
      'MSSubClass':MSSubClass,
      'LotArea':LotArea,
      'OverallQual':OverallQual,
      'OverallCond': OverallCond,
      'YearBuilt':YearBuilt,
      'YearRemodAdd': YearRemodAdd,
	  'BsmtFinSF1': BsmtFinSF1,
	  'BsmtUnfSF': BsmtUnfSF,
	  'BsmtFinSF2': BsmtFinSF2,
	  'TotalBsmtSF': TotalBsmtSF,
      'SalePrice': SalePrice,
  }
  
  report_data = pd.DataFrame(user_report_data, index=[0])
  return report_data




# Housing Data
user_data = user_report()
st.subheader('Housing Data')
st.write(user_data)


# MODEL
lr  = LinearRegression()
lr.fit(x_train, y_train)
user_result = lr.predict(user_data)



# VISUALISATIONS
st.title('Visualised Housing Data')



# COLOR FUNCTION
if user_result[0]==0:
  color = 'blue'
else:
  color = 'red'



# OUTPUT
st.subheader('Price of House is : ')
st.write(str(user_result))
st.title('output')
st.subheader('r2_score: ')
st.write(str(r2_score(y_test, lr.predict(x_test))*100)+'%')