File size: 2,579 Bytes
cf5dd5c
 
 
 
 
 
 
 
 
 
1041f5d
4b9b283
aa7428d
 
 
2726493
8960813
aa7428d
cf5dd5c
 
 
386d509
cf5dd5c
 
 
 
 
 
d1ed6db
cf5dd5c
 
 
 
 
 
0627a0d
bd68159
 
 
 
 
 
 
 
 
6983588
cf5dd5c
 
aa7428d
 
7560521
a9ce1d9
7560521
e03ac5b
7560521
a305603
7560521
56d893f
6983588
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
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('train5.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)+'%')