├── Housing Price data set.csv
├── Housing_price_prediction_using_Regularised_linear_regression_.ipynb
├── README.md
├── download (1).png
└── download.png
/Housing Price data set.csv:
--------------------------------------------------------------------------------
1 | "","price","lotsize","bedrooms","bathrms","stories","driveway","recroom","fullbase","gashw","airco","garagepl","prefarea"
2 | "1",42000,5850,3,1,2,"yes","no","yes","no","no",1,"no"
3 | "2",38500,4000,2,1,1,"yes","no","no","no","no",0,"no"
4 | "3",49500,3060,3,1,1,"yes","no","no","no","no",0,"no"
5 | "4",60500,6650,3,1,2,"yes","yes","no","no","no",0,"no"
6 | "5",61000,6360,2,1,1,"yes","no","no","no","no",0,"no"
7 | "6",66000,4160,3,1,1,"yes","yes","yes","no","yes",0,"no"
8 | "7",66000,3880,3,2,2,"yes","no","yes","no","no",2,"no"
9 | "8",69000,4160,3,1,3,"yes","no","no","no","no",0,"no"
10 | "9",83800,4800,3,1,1,"yes","yes","yes","no","no",0,"no"
11 | "10",88500,5500,3,2,4,"yes","yes","no","no","yes",1,"no"
12 | "11",90000,7200,3,2,1,"yes","no","yes","no","yes",3,"no"
13 | "12",30500,3000,2,1,1,"no","no","no","no","no",0,"no"
14 | "13",27000,1700,3,1,2,"yes","no","no","no","no",0,"no"
15 | "14",36000,2880,3,1,1,"no","no","no","no","no",0,"no"
16 | "15",37000,3600,2,1,1,"yes","no","no","no","no",0,"no"
17 | "16",37900,3185,2,1,1,"yes","no","no","no","yes",0,"no"
18 | "17",40500,3300,3,1,2,"no","no","no","no","no",1,"no"
19 | "18",40750,5200,4,1,3,"yes","no","no","no","no",0,"no"
20 | "19",45000,3450,1,1,1,"yes","no","no","no","no",0,"no"
21 | "20",45000,3986,2,2,1,"no","yes","yes","no","no",1,"no"
22 | "21",48500,4785,3,1,2,"yes","yes","yes","no","yes",1,"no"
23 | "22",65900,4510,4,2,2,"yes","no","yes","no","no",0,"no"
24 | "23",37900,4000,3,1,2,"yes","no","no","no","yes",0,"no"
25 | "24",38000,3934,2,1,1,"yes","no","no","no","no",0,"no"
26 | "25",42000,4960,2,1,1,"yes","no","no","no","no",0,"no"
27 | "26",42300,3000,2,1,2,"yes","no","no","no","no",0,"no"
28 | "27",43500,3800,2,1,1,"yes","no","no","no","no",0,"no"
29 | "28",44000,4960,2,1,1,"yes","no","yes","no","yes",0,"no"
30 | "29",44500,3000,3,1,1,"no","no","no","no","yes",0,"no"
31 | "30",44900,4500,3,1,2,"yes","no","no","no","yes",0,"no"
32 | "31",45000,3500,2,1,1,"no","no","yes","no","no",0,"no"
33 | "32",48000,3500,4,1,2,"yes","no","no","no","yes",2,"no"
34 | "33",49000,4000,2,1,1,"yes","no","no","no","no",0,"no"
35 | "34",51500,4500,2,1,1,"yes","no","no","no","no",0,"no"
36 | "35",61000,6360,2,1,2,"yes","no","no","no","no",0,"no"
37 | "36",61000,4500,2,1,1,"yes","no","no","no","yes",2,"no"
38 | "37",61700,4032,2,1,1,"yes","no","yes","no","no",0,"no"
39 | "38",67000,5170,3,1,4,"yes","no","no","no","yes",0,"no"
40 | "39",82000,5400,4,2,2,"yes","no","no","no","yes",2,"no"
41 | "40",54500,3150,2,2,1,"no","no","yes","no","no",0,"no"
42 | "41",66500,3745,3,1,2,"yes","no","yes","no","no",0,"no"
43 | "42",70000,4520,3,1,2,"yes","no","yes","no","yes",0,"no"
44 | "43",82000,4640,4,1,2,"yes","no","no","no","no",1,"no"
45 | "44",92000,8580,5,3,2,"yes","no","no","no","no",2,"no"
46 | "45",38000,2000,2,1,2,"yes","no","no","no","no",0,"no"
47 | "46",44000,2160,3,1,2,"no","no","yes","no","no",0,"no"
48 | "47",41000,3040,2,1,1,"no","no","no","no","no",0,"no"
49 | "48",43000,3090,3,1,2,"no","no","no","no","no",0,"no"
50 | "49",48000,4960,4,1,3,"no","no","no","no","no",0,"no"
51 | "50",54800,3350,3,1,2,"yes","no","no","no","no",0,"no"
52 | "51",55000,5300,5,2,2,"yes","no","no","no","no",0,"no"
53 | "52",57000,4100,4,1,1,"no","no","yes","no","no",0,"no"
54 | "53",68000,9166,2,1,1,"yes","no","yes","no","yes",2,"no"
55 | "54",95000,4040,3,1,2,"yes","no","yes","yes","no",1,"no"
56 | "55",38000,3630,3,3,2,"no","yes","no","no","no",0,"no"
57 | "56",25000,3620,2,1,1,"yes","no","no","no","no",0,"no"
58 | "57",25245,2400,3,1,1,"no","no","no","no","no",0,"no"
59 | "58",56000,7260,3,2,1,"yes","yes","yes","no","no",3,"no"
60 | "59",35500,4400,3,1,2,"yes","no","no","no","no",0,"no"
61 | "60",30000,2400,3,1,2,"yes","no","no","no","no",0,"no"
62 | "61",48000,4120,2,1,2,"yes","no","no","no","no",0,"no"
63 | "62",48000,4750,2,1,1,"yes","no","no","no","no",0,"no"
64 | "63",52000,4280,2,1,1,"yes","no","no","no","yes",2,"no"
65 | "64",54000,4820,3,1,2,"yes","no","no","no","no",0,"no"
66 | "65",56000,5500,4,1,2,"yes","yes","yes","no","no",0,"no"
67 | "66",60000,5500,3,1,2,"yes","no","no","no","yes",0,"no"
68 | "67",60000,5040,3,1,2,"yes","no","yes","no","yes",0,"no"
69 | "68",67000,6000,2,1,1,"yes","no","yes","no","yes",1,"no"
70 | "69",47000,2500,2,1,1,"no","no","no","no","yes",0,"no"
71 | "70",70000,4095,3,1,2,"no","yes","yes","no","yes",0,"no"
72 | "71",45000,4095,2,1,1,"yes","no","no","no","no",2,"no"
73 | "72",51000,3150,3,1,2,"yes","no","yes","no","no",0,"no"
74 | "73",32500,1836,2,1,1,"no","no","yes","no","no",0,"no"
75 | "74",34000,2475,3,1,2,"yes","no","no","no","no",0,"no"
76 | "75",35000,3210,3,1,2,"yes","no","yes","no","no",0,"no"
77 | "76",36000,3180,3,1,1,"no","no","no","no","no",0,"no"
78 | "77",45000,1650,3,1,2,"no","no","yes","no","no",0,"no"
79 | "78",47000,3180,4,1,2,"yes","no","yes","no","yes",0,"no"
80 | "79",55000,3180,2,2,1,"yes","no","yes","no","no",2,"no"
81 | "80",63900,6360,2,1,1,"yes","no","yes","no","yes",1,"no"
82 | "81",50000,4240,3,1,2,"yes","no","no","no","yes",0,"no"
83 | "82",35000,3240,2,1,1,"no","yes","no","no","no",1,"no"
84 | "83",50000,3650,3,1,2,"yes","no","no","no","no",0,"no"
85 | "84",43000,3240,3,1,2,"yes","no","no","no","no",2,"no"
86 | "85",55500,3780,2,1,2,"yes","yes","yes","no","no",0,"no"
87 | "86",57000,6480,3,1,2,"no","no","no","no","yes",1,"no"
88 | "87",60000,5850,2,1,1,"yes","yes","yes","no","no",2,"no"
89 | "88",78000,3150,3,2,1,"yes","yes","yes","no","yes",0,"no"
90 | "89",35000,3000,2,1,1,"yes","no","no","no","no",1,"no"
91 | "90",44000,3090,2,1,1,"yes","yes","yes","no","no",0,"no"
92 | "91",47000,6060,3,1,1,"yes","yes","yes","no","no",0,"no"
93 | "92",58000,5900,4,2,2,"no","no","yes","no","no",1,"no"
94 | "93",163000,7420,4,1,2,"yes","yes","yes","no","yes",2,"no"
95 | "94",128000,8500,3,2,4,"yes","no","no","no","yes",2,"no"
96 | "95",123500,8050,3,1,1,"yes","yes","yes","no","yes",1,"no"
97 | "96",39000,6800,2,1,1,"yes","no","no","no","no",0,"no"
98 | "97",53900,8250,3,1,1,"yes","no","no","no","no",2,"no"
99 | "98",59900,8250,3,1,1,"yes","no","yes","no","no",3,"no"
100 | "99",35000,3500,2,1,1,"yes","yes","no","no","no",0,"no"
101 | "100",43000,2835,2,1,1,"yes","no","no","no","no",0,"no"
102 | "101",57000,4500,3,2,2,"no","no","yes","no","yes",0,"no"
103 | "102",79000,3300,3,3,2,"yes","no","yes","no","no",0,"no"
104 | "103",125000,4320,3,1,2,"yes","no","yes","yes","no",2,"no"
105 | "104",132000,3500,4,2,2,"yes","no","no","yes","no",2,"no"
106 | "105",58000,4992,3,2,2,"yes","no","no","no","no",2,"no"
107 | "106",43000,4600,2,1,1,"yes","no","no","no","no",0,"no"
108 | "107",48000,3720,2,1,1,"no","no","no","no","yes",0,"no"
109 | "108",58500,3680,3,2,2,"yes","no","no","no","no",0,"no"
110 | "109",73000,3000,3,2,2,"yes","yes","yes","no","no",0,"no"
111 | "110",63500,3750,2,1,1,"yes","yes","yes","no","no",0,"no"
112 | "111",43000,5076,3,1,1,"no","no","no","no","no",0,"no"
113 | "112",46500,4500,2,1,1,"no","no","no","no","no",0,"no"
114 | "113",92000,5000,3,1,2,"yes","no","no","no","yes",0,"no"
115 | "114",75000,4260,4,1,2,"yes","no","yes","no","yes",0,"no"
116 | "115",75000,6540,4,2,2,"no","no","no","no","yes",0,"no"
117 | "116",85000,3700,4,1,2,"yes","yes","no","no","yes",0,"no"
118 | "117",93000,3760,3,1,2,"yes","no","no","yes","no",2,"no"
119 | "118",94500,4000,3,2,2,"yes","no","yes","no","yes",1,"no"
120 | "119",106500,4300,3,2,2,"yes","no","yes","no","no",1,"no"
121 | "120",116000,6840,5,1,2,"yes","yes","yes","no","yes",1,"no"
122 | "121",61500,4400,2,1,1,"yes","no","no","no","no",1,"no"
123 | "122",80000,10500,4,2,2,"yes","no","no","no","no",1,"no"
124 | "123",37000,4400,2,1,1,"yes","no","no","no","no",0,"no"
125 | "124",59500,4840,3,1,2,"yes","no","no","no","no",1,"no"
126 | "125",70000,4120,2,1,1,"yes","no","yes","no","no",1,"no"
127 | "126",95000,4260,4,2,2,"yes","no","no","yes","no",0,"no"
128 | "127",117000,5960,3,3,2,"yes","yes","yes","no","no",1,"no"
129 | "128",122500,8800,3,2,2,"yes","no","no","no","yes",2,"no"
130 | "129",123500,4560,3,2,2,"yes","yes","yes","no","yes",1,"no"
131 | "130",127000,4600,3,2,2,"yes","yes","no","no","yes",2,"no"
132 | "131",35000,4840,2,1,2,"yes","no","no","no","no",0,"no"
133 | "132",44500,3850,3,1,2,"yes","no","no","no","no",0,"no"
134 | "133",49900,4900,3,1,2,"no","no","no","no","no",0,"no"
135 | "134",50500,3850,3,1,1,"yes","no","no","no","no",2,"no"
136 | "135",65000,3760,3,1,1,"yes","no","no","no","no",2,"no"
137 | "136",90000,6000,4,2,4,"yes","no","no","no","no",1,"no"
138 | "137",46000,4370,3,1,2,"yes","no","no","no","no",0,"no"
139 | "138",35000,7700,2,1,1,"yes","no","no","no","no",0,"no"
140 | "139",26500,2990,2,1,1,"no","no","no","no","no",1,"no"
141 | "140",43000,3750,3,1,2,"yes","no","no","no","no",0,"no"
142 | "141",56000,3000,3,1,2,"yes","no","no","no","no",0,"no"
143 | "142",40000,2650,3,1,2,"yes","no","yes","no","no",1,"no"
144 | "143",51000,4500,4,2,2,"yes","no","yes","no","no",2,"no"
145 | "144",51000,4500,2,1,1,"no","no","no","no","no",0,"no"
146 | "145",57250,4500,3,1,2,"no","no","yes","no","yes",0,"no"
147 | "146",44000,4500,2,1,2,"yes","no","no","yes","no",1,"no"
148 | "147",61000,2175,3,1,2,"no","yes","yes","no","yes",0,"no"
149 | "148",62000,4500,3,2,3,"yes","no","no","yes","no",1,"no"
150 | "149",80000,4800,5,2,3,"no","no","yes","yes","no",0,"no"
151 | "150",50000,4600,4,1,2,"yes","no","no","no","no",0,"no"
152 | "151",59900,3450,3,1,2,"yes","no","no","no","no",1,"no"
153 | "152",35500,3000,3,1,2,"no","no","no","no","no",0,"no"
154 | "153",37000,3600,2,2,2,"yes","no","yes","no","no",1,"no"
155 | "154",42000,3600,3,1,2,"no","no","no","no","no",1,"no"
156 | "155",48000,3750,3,1,1,"yes","no","no","no","no",0,"no"
157 | "156",60000,2610,4,3,2,"no","no","no","no","no",0,"no"
158 | "157",60000,2953,3,1,2,"yes","no","yes","no","yes",0,"no"
159 | "158",60000,2747,4,2,2,"no","no","no","no","no",0,"no"
160 | "159",62000,1905,5,1,2,"no","no","yes","no","no",0,"no"
161 | "160",63000,3968,3,1,2,"no","no","no","no","no",0,"no"
162 | "161",63900,3162,3,1,2,"yes","no","no","no","yes",1,"no"
163 | "162",130000,6000,4,1,2,"yes","no","yes","no","no",2,"no"
164 | "163",25000,2910,3,1,1,"no","no","no","no","no",0,"no"
165 | "164",50000,2135,3,2,2,"no","no","no","no","no",0,"no"
166 | "165",52900,3120,3,1,2,"no","no","yes","yes","no",0,"no"
167 | "166",62000,4075,3,1,1,"yes","yes","yes","no","no",2,"no"
168 | "167",73500,3410,3,1,2,"no","no","no","no","yes",0,"no"
169 | "168",38000,2800,3,1,1,"yes","no","no","no","no",0,"no"
170 | "169",46000,2684,2,1,1,"yes","no","no","no","yes",1,"no"
171 | "170",48000,3100,3,1,2,"no","no","yes","no","no",0,"no"
172 | "171",52500,3630,2,1,1,"yes","no","yes","no","no",0,"no"
173 | "172",32000,1950,3,1,1,"no","no","no","yes","no",0,"no"
174 | "173",38000,2430,3,1,1,"no","no","no","no","no",0,"no"
175 | "174",46000,4320,3,1,1,"no","no","no","no","no",1,"no"
176 | "175",50000,3036,3,1,2,"yes","no","yes","no","no",0,"no"
177 | "176",57500,3630,3,2,2,"yes","no","no","yes","no",2,"no"
178 | "177",70000,5400,4,1,2,"yes","no","no","no","no",0,"no"
179 | "178",69900,3420,4,2,2,"yes","no","yes","no","yes",2,"no"
180 | "179",74500,3180,3,2,2,"yes","no","no","no","no",2,"no"
181 | "180",42000,3660,4,1,2,"no","no","no","no","no",0,"no"
182 | "181",60000,4410,2,1,1,"no","no","no","no","no",1,"no"
183 | "182",50000,3990,3,1,2,"yes","no","no","no","no",0,"no"
184 | "183",58000,4340,3,1,1,"yes","no","no","no","no",0,"no"
185 | "184",63900,3510,3,1,2,"yes","no","no","no","no",0,"no"
186 | "185",28000,3420,5,1,2,"no","no","no","no","no",0,"no"
187 | "186",54000,3420,2,1,2,"yes","no","no","yes","no",1,"no"
188 | "187",44700,5495,3,1,1,"yes","no","yes","no","no",0,"no"
189 | "188",47000,3480,4,1,2,"no","no","no","no","no",1,"no"
190 | "189",50000,7424,3,1,1,"no","no","no","no","no",0,"no"
191 | "190",57250,3460,4,1,2,"yes","no","no","no","yes",0,"no"
192 | "191",67000,3630,3,1,2,"yes","no","no","no","no",2,"no"
193 | "192",52500,3630,2,1,1,"yes","no","no","no","yes",0,"no"
194 | "193",42000,3480,3,1,2,"no","no","no","no","no",1,"no"
195 | "194",57500,3460,3,2,1,"yes","no","yes","no","yes",1,"no"
196 | "195",33000,3180,2,1,1,"yes","no","no","no","no",0,"no"
197 | "196",34400,3635,2,1,1,"no","no","no","no","no",0,"no"
198 | "197",40000,3960,3,1,1,"yes","no","no","no","no",0,"no"
199 | "198",40500,4350,3,1,2,"no","no","no","yes","no",1,"no"
200 | "199",46500,3930,2,1,1,"no","no","no","no","no",0,"no"
201 | "200",52000,3570,3,1,2,"yes","no","yes","no","no",0,"no"
202 | "201",53000,3600,3,1,1,"yes","no","no","no","no",1,"no"
203 | "202",53900,2520,5,2,1,"no","no","yes","no","yes",1,"no"
204 | "203",50000,3480,3,1,1,"no","no","no","no","yes",0,"no"
205 | "204",55500,3180,4,2,2,"yes","no","no","no","no",0,"no"
206 | "205",56000,3290,2,1,1,"yes","no","no","yes","no",1,"no"
207 | "206",60000,4000,4,2,2,"no","no","no","no","no",0,"no"
208 | "207",60000,2325,3,1,2,"no","no","no","no","no",0,"no"
209 | "208",69500,4350,2,1,1,"yes","no","yes","no","no",0,"no"
210 | "209",72000,3540,2,1,1,"no","yes","yes","no","no",0,"no"
211 | "210",92500,3960,3,1,1,"yes","no","yes","no","no",2,"no"
212 | "211",40500,2640,2,1,1,"no","no","no","no","no",1,"no"
213 | "212",42000,2700,2,1,1,"no","no","no","no","no",0,"no"
214 | "213",47900,2700,3,1,1,"no","no","no","no","no",0,"no"
215 | "214",52000,3180,3,1,2,"no","no","yes","no","no",0,"no"
216 | "215",62000,3500,4,1,2,"yes","no","no","no","no",2,"no"
217 | "216",41000,3630,2,1,1,"yes","no","no","no","no",0,"no"
218 | "217",138300,6000,4,3,2,"yes","yes","yes","yes","no",2,"no"
219 | "218",42000,3150,3,1,2,"no","no","no","no","no",0,"no"
220 | "219",47000,3792,4,1,2,"yes","no","no","no","no",0,"no"
221 | "220",64500,3510,3,1,3,"yes","no","no","no","no",0,"no"
222 | "221",46000,3120,3,1,2,"no","no","no","no","no",0,"no"
223 | "222",58000,3000,4,1,3,"yes","no","yes","no","yes",2,"no"
224 | "223",70100,4200,3,1,2,"yes","no","no","no","no",1,"no"
225 | "224",78500,2817,4,2,2,"no","yes","yes","no","no",1,"no"
226 | "225",87250,3240,4,1,3,"yes","no","no","no","no",1,"no"
227 | "226",70800,2800,3,2,2,"no","no","yes","no","yes",1,"no"
228 | "227",56000,3816,2,1,1,"yes","no","yes","no","yes",2,"no"
229 | "228",48000,3185,2,1,1,"yes","no","yes","no","no",2,"no"
230 | "229",68000,6321,3,1,2,"yes","no","yes","no","yes",1,"no"
231 | "230",79000,3650,3,2,2,"yes","no","no","no","no",2,"no"
232 | "231",80000,4700,4,1,2,"yes","yes","yes","no","yes",1,"no"
233 | "232",87000,6615,4,2,2,"yes","yes","no","yes","no",1,"no"
234 | "233",25000,3850,3,1,2,"yes","no","no","no","no",0,"no"
235 | "234",32500,3970,1,1,1,"no","no","no","no","no",0,"no"
236 | "235",36000,3000,2,1,2,"yes","no","no","no","no",0,"no"
237 | "236",42500,4352,4,1,2,"no","no","no","no","no",1,"no"
238 | "237",43000,3630,4,1,2,"yes","no","no","no","no",3,"no"
239 | "238",50000,3600,6,1,2,"yes","no","no","no","no",1,"no"
240 | "239",26000,3000,2,1,1,"yes","no","yes","no","no",2,"no"
241 | "240",30000,3000,4,1,2,"yes","no","no","no","no",0,"no"
242 | "241",34000,2787,4,2,2,"yes","no","no","no","no",0,"no"
243 | "242",52000,3000,2,1,2,"yes","no","no","no","yes",0,"no"
244 | "243",70000,4770,3,1,1,"yes","yes","yes","no","no",0,"no"
245 | "244",27000,3649,2,1,1,"yes","no","no","no","no",0,"no"
246 | "245",32500,3970,3,1,2,"yes","no","yes","no","no",0,"no"
247 | "246",37200,2910,2,1,1,"no","no","no","no","no",0,"no"
248 | "247",38000,3480,2,1,1,"yes","no","no","no","no",1,"no"
249 | "248",42000,6615,3,1,2,"yes","no","no","no","no",0,"no"
250 | "249",44500,3500,2,1,1,"yes","no","no","no","no",0,"no"
251 | "250",45000,3450,3,1,2,"yes","no","yes","no","no",0,"no"
252 | "251",48500,3450,3,1,1,"yes","no","yes","no","no",2,"no"
253 | "252",52000,3520,2,2,1,"yes","no","yes","no","no",0,"no"
254 | "253",53900,6930,4,1,2,"no","no","no","no","no",1,"no"
255 | "254",60000,4600,3,2,2,"yes","no","no","no","yes",1,"no"
256 | "255",61000,4360,4,1,2,"yes","no","no","no","no",0,"no"
257 | "256",64500,3450,3,1,2,"yes","no","yes","no","no",1,"no"
258 | "257",71000,4410,4,3,2,"yes","no","yes","no","no",2,"no"
259 | "258",75500,4600,2,2,1,"yes","no","no","no","yes",2,"no"
260 | "259",33500,3640,2,1,1,"yes","no","no","no","no",0,"no"
261 | "260",41000,6000,2,1,1,"yes","no","no","no","no",0,"no"
262 | "261",41000,5400,4,1,2,"yes","no","no","no","no",0,"no"
263 | "262",46200,3640,4,1,2,"yes","no","yes","no","no",0,"no"
264 | "263",48500,3640,2,1,1,"yes","no","no","no","no",0,"no"
265 | "264",48900,4040,2,1,1,"yes","no","no","no","no",0,"no"
266 | "265",50000,3640,2,1,1,"yes","no","no","no","no",1,"no"
267 | "266",51000,3640,2,1,1,"yes","no","no","no","no",0,"no"
268 | "267",52500,5640,2,1,1,"no","no","no","no","no",0,"no"
269 | "268",52500,3600,2,1,1,"yes","no","no","no","no",0,"no"
270 | "269",54000,3600,2,1,1,"yes","no","no","no","no",0,"no"
271 | "270",59000,4632,4,1,2,"yes","no","no","no","yes",0,"no"
272 | "271",60000,3640,3,2,2,"yes","no","yes","no","no",0,"no"
273 | "272",63000,4900,2,1,2,"yes","no","yes","no","no",0,"no"
274 | "273",64000,4510,4,1,2,"yes","no","no","no","yes",2,"no"
275 | "274",64900,4100,2,2,1,"yes","yes","yes","no","no",0,"no"
276 | "275",65000,3640,3,1,2,"yes","no","no","no","yes",0,"no"
277 | "276",66000,5680,3,1,2,"yes","yes","no","no","yes",1,"no"
278 | "277",70000,6300,3,1,1,"yes","no","no","no","yes",2,"no"
279 | "278",65500,4000,3,1,2,"yes","no","no","no","no",1,"no"
280 | "279",57000,3960,3,1,2,"yes","no","no","no","no",0,"no"
281 | "280",52000,5960,3,1,2,"yes","yes","yes","no","no",0,"no"
282 | "281",54000,5830,2,1,1,"yes","no","no","no","no",2,"no"
283 | "282",74500,4500,4,2,1,"no","no","yes","no","yes",2,"no"
284 | "283",90000,4100,3,2,3,"yes","no","no","no","yes",2,"no"
285 | "284",45000,6750,2,1,1,"yes","no","no","no","no",0,"no"
286 | "285",45000,9000,3,1,2,"yes","no","no","no","no",2,"no"
287 | "286",65000,2550,3,1,2,"yes","no","yes","no","no",0,"no"
288 | "287",55000,7152,3,1,2,"yes","no","no","no","yes",0,"no"
289 | "288",62000,6450,4,1,2,"yes","no","no","no","no",0,"no"
290 | "289",30000,3360,2,1,1,"yes","no","no","no","no",1,"no"
291 | "290",34000,3264,2,1,1,"yes","no","no","no","no",0,"no"
292 | "291",38000,4000,3,1,1,"yes","no","no","no","no",0,"no"
293 | "292",39000,4000,3,1,2,"yes","no","no","no","no",1,"no"
294 | "293",45000,3069,2,1,1,"yes","no","no","no","no",1,"no"
295 | "294",47000,4040,2,1,1,"yes","no","no","no","no",0,"no"
296 | "295",47500,4040,2,1,1,"yes","no","no","no","no",1,"no"
297 | "296",49000,3185,2,1,1,"yes","no","no","no","no",2,"no"
298 | "297",50000,5900,2,1,1,"yes","no","no","no","no",1,"no"
299 | "298",50000,3120,3,1,2,"yes","no","no","no","no",1,"no"
300 | "299",52900,5450,2,1,1,"yes","no","no","no","no",0,"no"
301 | "300",53000,4040,2,1,1,"yes","no","no","no","no",0,"no"
302 | "301",55000,4080,2,1,1,"yes","no","no","no","no",0,"no"
303 | "302",56000,8080,3,1,1,"yes","no","no","no","yes",2,"no"
304 | "303",58500,4040,2,1,2,"yes","no","no","no","no",1,"no"
305 | "304",59500,4080,3,1,2,"yes","no","no","no","no",2,"no"
306 | "305",60000,5800,3,1,1,"yes","no","no","yes","no",2,"no"
307 | "306",64000,5885,2,1,1,"yes","no","no","no","yes",1,"no"
308 | "307",67000,9667,4,2,2,"yes","yes","yes","no","no",1,"no"
309 | "308",68100,3420,4,2,2,"yes","no","no","no","no",0,"no"
310 | "309",70000,5800,2,1,1,"yes","yes","yes","no","yes",0,"no"
311 | "310",72000,7600,4,1,2,"yes","no","no","no","yes",2,"no"
312 | "311",57500,5400,3,1,1,"yes","no","no","no","no",3,"no"
313 | "312",69900,4995,4,2,1,"yes","no","yes","no","no",0,"no"
314 | "313",70000,3000,3,1,2,"yes","no","yes","no","yes",0,"no"
315 | "314",75000,5500,3,2,1,"yes","no","yes","no","no",0,"no"
316 | "315",76900,6450,3,2,1,"yes","yes","yes","yes","no",0,"no"
317 | "316",78000,6210,4,1,4,"yes","yes","no","no","yes",0,"no"
318 | "317",80000,5000,3,1,4,"yes","no","no","no","no",0,"no"
319 | "318",82000,5000,3,1,3,"yes","no","no","no","yes",0,"no"
320 | "319",83000,5828,4,1,4,"yes","yes","no","no","no",0,"no"
321 | "320",83000,5200,3,1,3,"yes","no","no","no","yes",0,"no"
322 | "321",83900,5500,3,1,3,"yes","yes","no","no","yes",1,"no"
323 | "322",88500,6350,3,2,3,"yes","yes","no","no","yes",0,"no"
324 | "323",93000,8250,3,2,3,"yes","no","no","no","yes",0,"no"
325 | "324",98000,6000,3,1,1,"yes","no","no","no","yes",1,"no"
326 | "325",98500,7700,3,2,1,"yes","no","no","no","no",2,"no"
327 | "326",99000,8880,3,2,2,"yes","no","yes","no","yes",1,"no"
328 | "327",101000,8880,2,1,1,"yes","no","no","no","yes",1,"no"
329 | "328",110000,6480,3,2,4,"yes","no","no","no","yes",2,"no"
330 | "329",115442,7000,3,2,4,"yes","no","no","no","yes",2,"no"
331 | "330",120000,8875,3,1,1,"yes","no","no","no","no",1,"no"
332 | "331",124000,7155,3,2,1,"yes","yes","yes","no","yes",2,"no"
333 | "332",175000,8960,4,4,4,"yes","no","no","no","yes",3,"no"
334 | "333",50000,7350,2,1,1,"yes","no","no","no","no",1,"no"
335 | "334",55000,3850,2,1,1,"yes","no","no","no","no",0,"no"
336 | "335",60000,7000,3,1,1,"yes","no","no","no","no",3,"no"
337 | "336",61000,7770,2,1,1,"yes","no","no","no","no",1,"no"
338 | "337",106000,7440,3,2,1,"yes","yes","yes","no","yes",0,"yes"
339 | "338",155000,7500,3,3,1,"yes","no","yes","no","yes",2,"yes"
340 | "339",141000,8100,4,1,2,"yes","yes","yes","no","yes",2,"yes"
341 | "340",62500,3900,3,1,2,"yes","no","no","no","no",0,"no"
342 | "341",70000,2970,3,1,3,"yes","no","no","no","no",0,"no"
343 | "342",73000,3000,3,1,2,"yes","no","yes","no","no",0,"no"
344 | "343",80000,10500,2,1,1,"yes","no","no","no","no",1,"no"
345 | "344",80000,5500,3,2,2,"yes","no","no","no","no",1,"no"
346 | "345",88000,4500,3,1,4,"yes","no","no","no","yes",0,"no"
347 | "346",49000,3850,3,1,1,"yes","no","no","no","no",0,"no"
348 | "347",52000,4130,3,2,2,"yes","no","no","no","no",2,"no"
349 | "348",59500,4046,3,1,2,"yes","no","yes","no","no",1,"no"
350 | "349",60000,4079,3,1,3,"yes","no","no","no","no",0,"no"
351 | "350",64000,4000,3,1,2,"yes","no","no","no","no",2,"no"
352 | "351",64500,9860,3,1,1,"yes","no","no","no","no",0,"no"
353 | "352",68500,7000,3,1,2,"yes","no","yes","no","no",0,"no"
354 | "353",78500,7980,3,1,1,"yes","no","no","no","no",2,"no"
355 | "354",86000,6800,2,1,1,"yes","yes","yes","no","no",2,"no"
356 | "355",86900,4300,6,2,2,"yes","no","no","no","no",0,"no"
357 | "356",75000,10269,3,1,1,"yes","no","no","no","no",1,"yes"
358 | "357",78000,6100,3,1,3,"yes","yes","no","no","yes",0,"yes"
359 | "358",95000,6420,3,2,3,"yes","no","no","no","yes",0,"yes"
360 | "359",97000,12090,4,2,2,"yes","no","no","no","no",2,"yes"
361 | "360",107000,6600,3,1,4,"yes","no","no","no","yes",3,"yes"
362 | "361",130000,6600,4,2,2,"yes","yes","yes","no","yes",1,"yes"
363 | "362",145000,8580,4,3,4,"yes","no","no","no","yes",2,"yes"
364 | "363",175000,9960,3,2,2,"yes","no","yes","no","no",2,"yes"
365 | "364",72000,10700,3,1,2,"yes","yes","yes","no","no",0,"no"
366 | "365",84900,15600,3,1,1,"yes","no","no","no","yes",2,"no"
367 | "366",99000,13200,2,1,1,"yes","no","yes","yes","no",1,"no"
368 | "367",114000,9000,4,2,4,"yes","no","no","no","yes",2,"no"
369 | "368",120000,7950,5,2,2,"yes","no","yes","yes","no",2,"no"
370 | "369",145000,16200,5,3,2,"yes","no","no","no","no",0,"no"
371 | "370",79000,6100,3,2,1,"yes","no","yes","no","no",2,"yes"
372 | "371",82000,6360,3,1,1,"yes","yes","yes","no","yes",2,"yes"
373 | "372",85000,6420,3,1,1,"yes","no","yes","no","yes",0,"yes"
374 | "373",100500,6360,4,2,3,"yes","no","no","no","yes",2,"yes"
375 | "374",122000,6540,4,2,2,"yes","yes","yes","no","yes",2,"yes"
376 | "375",126500,6420,3,2,2,"yes","no","no","no","yes",1,"yes"
377 | "376",133000,6550,4,2,2,"yes","no","no","no","yes",1,"yes"
378 | "377",140000,5750,3,2,4,"yes","yes","no","no","yes",1,"yes"
379 | "378",190000,7420,4,2,3,"yes","no","no","no","yes",2,"yes"
380 | "379",84000,7160,3,1,1,"yes","no","yes","no","no",2,"yes"
381 | "380",97000,4000,3,2,2,"yes","no","yes","no","yes",0,"yes"
382 | "381",103500,9000,4,2,4,"yes","yes","no","no","yes",1,"yes"
383 | "382",112500,6550,3,1,2,"yes","no","yes","no","yes",0,"yes"
384 | "383",140000,13200,3,1,2,"yes","no","yes","no","yes",2,"yes"
385 | "384",74700,7085,3,1,1,"yes","yes","yes","no","no",2,"yes"
386 | "385",78000,6600,4,2,2,"yes","yes","yes","no","no",0,"yes"
387 | "386",78900,6900,3,1,1,"yes","yes","yes","no","no",0,"yes"
388 | "387",83900,11460,3,1,3,"yes","no","no","no","no",2,"yes"
389 | "388",85000,7020,3,1,1,"yes","no","yes","no","yes",2,"yes"
390 | "389",85000,6540,3,1,1,"yes","yes","yes","no","no",2,"yes"
391 | "390",86000,8000,3,1,1,"yes","yes","yes","no","yes",2,"yes"
392 | "391",86900,9620,3,1,1,"yes","no","yes","no","no",2,"yes"
393 | "392",94500,10500,3,2,1,"yes","no","yes","no","yes",1,"yes"
394 | "393",96000,5020,3,1,4,"yes","no","no","no","yes",0,"yes"
395 | "394",106000,7440,3,2,4,"yes","no","no","no","no",1,"yes"
396 | "395",72000,6600,3,1,1,"yes","yes","yes","no","no",0,"yes"
397 | "396",74500,7200,3,1,2,"yes","yes","yes","no","no",1,"yes"
398 | "397",77000,6710,3,2,2,"yes","yes","yes","no","no",1,"yes"
399 | "398",80750,6660,4,2,2,"yes","yes","yes","no","no",1,"yes"
400 | "399",82900,7000,3,1,1,"yes","no","yes","no","no",2,"yes"
401 | "400",85000,7231,3,1,2,"yes","yes","yes","no","yes",0,"yes"
402 | "401",92500,7410,3,1,1,"yes","yes","yes","no","yes",2,"yes"
403 | "402",76000,7800,3,1,1,"yes","no","yes","no","yes",2,"yes"
404 | "403",77500,6825,3,1,1,"yes","yes","yes","no","yes",0,"yes"
405 | "404",80000,6360,3,1,3,"yes","no","no","no","no",0,"yes"
406 | "405",80000,6600,4,2,1,"yes","no","yes","no","no",0,"yes"
407 | "406",86000,6900,3,2,1,"yes","yes","yes","no","no",0,"yes"
408 | "407",87000,6600,3,1,1,"yes","yes","yes","no","no",2,"yes"
409 | "408",87500,6420,3,1,3,"yes","no","yes","no","no",0,"yes"
410 | "409",89000,6600,3,2,1,"yes","no","yes","no","yes",0,"yes"
411 | "410",89900,6600,3,2,3,"yes","no","no","no","yes",0,"yes"
412 | "411",90000,9000,3,1,1,"yes","no","yes","no","no",1,"yes"
413 | "412",95000,6500,3,2,3,"yes","no","no","no","yes",0,"yes"
414 | "413",112000,6360,3,2,4,"yes","no","no","no","yes",0,"yes"
415 | "414",31900,5300,3,1,1,"no","no","no","no","yes",0,"yes"
416 | "415",52000,2850,3,2,2,"no","no","yes","no","no",0,"yes"
417 | "416",90000,6400,3,1,1,"yes","yes","yes","no","yes",1,"yes"
418 | "417",1e+05,11175,3,1,1,"yes","no","yes","no","yes",1,"yes"
419 | "418",91700,6750,2,1,1,"yes","yes","yes","no","no",2,"yes"
420 | "419",174500,7500,4,2,2,"yes","no","yes","no","yes",3,"yes"
421 | "420",94700,6000,3,1,2,"yes","no","no","yes","no",1,"yes"
422 | "421",68000,10240,2,1,1,"yes","no","no","no","yes",2,"yes"
423 | "422",80000,5136,3,1,2,"yes","yes","yes","no","yes",0,"yes"
424 | "423",61100,3400,3,1,2,"yes","no","yes","no","no",2,"yes"
425 | "424",62900,2880,3,1,2,"yes","no","no","no","no",0,"yes"
426 | "425",65500,3840,3,1,2,"yes","no","no","no","no",1,"yes"
427 | "426",66000,2870,2,1,2,"yes","yes","yes","no","no",0,"yes"
428 | "427",49500,5320,2,1,1,"yes","no","no","no","no",1,"yes"
429 | "428",50000,3512,2,1,1,"yes","no","no","no","no",1,"yes"
430 | "429",53500,3480,2,1,1,"yes","no","no","no","no",0,"yes"
431 | "430",58550,3600,3,1,1,"yes","no","yes","no","yes",0,"yes"
432 | "431",64500,3520,2,1,2,"yes","no","no","no","no",0,"yes"
433 | "432",65000,5320,3,1,2,"yes","yes","yes","no","no",0,"yes"
434 | "433",69000,6040,3,1,1,"yes","no","no","no","no",2,"yes"
435 | "434",73000,11410,2,1,2,"yes","no","no","no","no",0,"yes"
436 | "435",75000,8400,3,1,2,"yes","yes","yes","no","yes",2,"yes"
437 | "436",75000,5300,4,2,1,"yes","no","no","no","yes",0,"yes"
438 | "437",132000,7800,3,2,2,"yes","no","no","no","no",0,"yes"
439 | "438",60000,3520,3,1,2,"yes","no","no","no","no",0,"yes"
440 | "439",65000,5360,3,1,2,"yes","no","no","no","no",2,"yes"
441 | "440",69000,6862,3,1,2,"yes","no","no","no","yes",2,"yes"
442 | "441",51900,3520,3,1,1,"yes","no","no","no","no",2,"yes"
443 | "442",57000,4050,2,1,2,"yes","yes","yes","no","no",0,"yes"
444 | "443",65000,3520,3,1,1,"yes","no","no","no","no",0,"yes"
445 | "444",79500,4400,4,1,2,"yes","no","no","no","yes",2,"yes"
446 | "445",72500,5720,2,1,2,"yes","no","no","no","yes",0,"yes"
447 | "446",104900,11440,4,1,2,"yes","no","yes","no","no",1,"yes"
448 | "447",114900,7482,3,2,3,"yes","no","no","yes","no",1,"yes"
449 | "448",120000,5500,4,2,2,"yes","no","yes","no","yes",1,"yes"
450 | "449",58000,4320,3,1,2,"yes","no","no","no","no",2,"yes"
451 | "450",67000,5400,2,1,2,"yes","no","no","no","no",0,"yes"
452 | "451",67000,4320,3,1,1,"yes","no","no","no","no",0,"yes"
453 | "452",69000,4815,2,1,1,"yes","no","no","no","yes",0,"yes"
454 | "453",73000,6100,3,1,1,"yes","no","yes","no","yes",0,"yes"
455 | "454",73500,7980,3,1,1,"yes","no","no","no","no",1,"yes"
456 | "455",74900,6050,3,1,1,"yes","no","yes","no","no",0,"yes"
457 | "456",75000,3800,3,1,2,"yes","yes","yes","no","no",1,"yes"
458 | "457",79500,5400,5,1,2,"yes","yes","yes","no","yes",0,"yes"
459 | "458",120900,6000,3,2,4,"yes","yes","yes","no","yes",0,"yes"
460 | "459",44555,2398,3,1,1,"yes","no","no","no","no",0,"yes"
461 | "460",47000,2145,3,1,2,"yes","no","yes","no","no",0,"yes"
462 | "461",47600,2145,3,1,2,"yes","no","yes","no","no",0,"yes"
463 | "462",49000,2145,3,1,3,"yes","no","no","no","no",0,"yes"
464 | "463",49000,2610,3,1,2,"yes","no","yes","no","no",0,"yes"
465 | "464",49000,1950,3,2,2,"yes","no","yes","no","no",0,"yes"
466 | "465",49500,2145,3,1,3,"yes","no","no","no","no",0,"yes"
467 | "466",52000,2275,3,1,3,"yes","no","no","yes","yes",0,"yes"
468 | "467",54000,2856,3,1,3,"yes","no","no","no","no",0,"yes"
469 | "468",55000,2015,3,1,2,"yes","no","yes","no","no",0,"yes"
470 | "469",55000,2176,2,1,2,"yes","yes","no","no","no",0,"yes"
471 | "470",56000,2145,4,2,1,"yes","no","yes","no","no",0,"yes"
472 | "471",60000,2145,3,1,3,"yes","no","no","no","no",1,"yes"
473 | "472",60500,2787,3,1,1,"yes","no","yes","no","no",0,"yes"
474 | "473",50000,9500,3,1,2,"yes","no","no","no","no",3,"yes"
475 | "474",64900,4990,4,2,2,"yes","yes","yes","no","no",0,"yes"
476 | "475",93000,6670,3,1,3,"yes","no","yes","no","no",0,"yes"
477 | "476",85000,6254,4,2,1,"yes","no","yes","no","no",1,"yes"
478 | "477",61500,10360,2,1,1,"yes","no","no","no","no",1,"yes"
479 | "478",88500,5500,3,2,1,"yes","yes","yes","no","no",2,"yes"
480 | "479",88000,5450,4,2,1,"yes","no","yes","no","yes",0,"yes"
481 | "480",89000,5500,3,1,3,"yes","no","no","no","no",1,"yes"
482 | "481",89500,6000,4,1,3,"yes","yes","yes","no","no",0,"yes"
483 | "482",95000,5700,3,1,1,"yes","yes","yes","no","yes",2,"yes"
484 | "483",95500,6600,2,2,4,"yes","no","yes","no","no",0,"yes"
485 | "484",51500,4000,2,1,1,"yes","no","no","no","no",0,"yes"
486 | "485",62900,4880,3,1,1,"yes","no","no","no","no",2,"yes"
487 | "486",118500,4880,4,2,2,"yes","no","no","no","yes",1,"yes"
488 | "487",42900,8050,2,1,1,"yes","no","no","no","no",0,"no"
489 | "488",44100,8100,2,1,1,"yes","no","no","no","no",1,"no"
490 | "489",47000,5880,3,1,1,"yes","no","no","no","no",1,"no"
491 | "490",50000,5880,2,1,1,"yes","no","no","no","no",0,"no"
492 | "491",50000,12944,3,1,1,"yes","no","no","no","no",0,"no"
493 | "492",53000,6020,3,1,1,"yes","no","no","no","no",0,"no"
494 | "493",53000,4050,2,1,1,"yes","no","no","no","no",0,"no"
495 | "494",54000,8400,2,1,1,"yes","no","no","no","no",1,"no"
496 | "495",58500,5600,2,1,1,"yes","no","no","no","yes",0,"no"
497 | "496",59000,5985,3,1,1,"yes","no","yes","no","no",0,"no"
498 | "497",60000,4500,3,1,1,"yes","no","yes","no","no",0,"no"
499 | "498",62900,4920,3,1,2,"yes","no","no","no","no",1,"no"
500 | "499",64000,8250,3,1,1,"yes","no","no","no","no",0,"no"
501 | "500",65000,8400,4,1,4,"yes","no","no","no","no",3,"no"
502 | "501",67900,6440,2,1,1,"yes","no","no","no","yes",3,"no"
503 | "502",68500,8100,4,1,4,"yes","no","yes","no","yes",2,"no"
504 | "503",70000,6720,3,1,1,"yes","no","no","no","no",0,"no"
505 | "504",70500,5948,3,1,2,"yes","no","no","no","yes",0,"no"
506 | "505",71500,8150,3,2,1,"yes","yes","yes","no","no",0,"no"
507 | "506",71900,4800,2,1,1,"yes","yes","yes","no","no",0,"no"
508 | "507",75000,9800,4,2,2,"yes","yes","no","no","no",2,"no"
509 | "508",75000,8520,3,1,1,"yes","no","no","no","yes",2,"no"
510 | "509",87000,8372,3,1,3,"yes","no","no","no","yes",2,"no"
511 | "510",64000,4040,3,1,2,"yes","no","no","no","no",1,"no"
512 | "511",70000,4646,3,1,2,"yes","yes","yes","no","no",2,"no"
513 | "512",47500,4775,4,1,2,"yes","no","no","no","no",0,"no"
514 | "513",62600,4950,4,1,2,"yes","no","no","no","yes",0,"no"
515 | "514",66000,5010,3,1,2,"yes","no","yes","no","no",0,"no"
516 | "515",58900,6060,2,1,1,"yes","no","yes","no","no",1,"no"
517 | "516",53000,3584,2,1,1,"yes","no","no","yes","no",0,"no"
518 | "517",95000,6000,3,2,3,"yes","yes","no","no","yes",0,"no"
519 | "518",96500,6000,4,2,4,"yes","no","no","no","yes",0,"no"
520 | "519",101000,6240,4,2,2,"yes","no","no","no","yes",1,"no"
521 | "520",102000,6000,3,2,2,"yes","yes","no","no","no",1,"no"
522 | "521",103000,7680,4,2,4,"yes","yes","no","no","yes",1,"no"
523 | "522",105000,6000,4,2,4,"yes","yes","no","no","yes",1,"no"
524 | "523",108000,6000,4,2,4,"yes","no","no","no","yes",1,"no"
525 | "524",110000,6000,4,2,4,"yes","no","no","no","no",2,"no"
526 | "525",113000,6000,4,2,4,"yes","no","no","no","yes",1,"no"
527 | "526",120000,7475,3,2,4,"yes","no","no","no","yes",2,"no"
528 | "527",105000,5150,3,2,4,"yes","no","no","no","yes",2,"no"
529 | "528",106000,6325,3,1,4,"yes","no","no","no","yes",1,"no"
530 | "529",107500,6000,3,2,4,"yes","no","no","no","yes",1,"no"
531 | "530",108000,6000,3,2,3,"yes","no","no","no","yes",0,"no"
532 | "531",113750,6000,3,1,4,"yes","yes","no","no","yes",2,"no"
533 | "532",120000,7000,3,1,4,"yes","no","no","no","yes",2,"no"
534 | "533",70000,12900,3,1,1,"yes","no","no","no","no",2,"no"
535 | "534",71000,7686,3,1,1,"yes","yes","yes","yes","no",0,"no"
536 | "535",82000,5000,3,1,3,"yes","no","no","no","yes",0,"no"
537 | "536",82000,5800,3,2,4,"yes","no","no","no","yes",0,"no"
538 | "537",82500,6000,3,2,4,"yes","no","no","no","yes",0,"no"
539 | "538",83000,4800,3,1,3,"yes","no","no","no","yes",0,"no"
540 | "539",84000,6500,3,2,3,"yes","no","no","no","yes",0,"no"
541 | "540",85000,7320,4,2,2,"yes","no","no","no","no",0,"no"
542 | "541",85000,6525,3,2,4,"yes","no","no","no","no",1,"no"
543 | "542",91500,4800,3,2,4,"yes","yes","no","no","yes",0,"no"
544 | "543",94000,6000,3,2,4,"yes","no","no","no","yes",0,"no"
545 | "544",103000,6000,3,2,4,"yes","yes","no","no","yes",1,"no"
546 | "545",105000,6000,3,2,2,"yes","yes","no","no","yes",1,"no"
547 | "546",105000,6000,3,1,2,"yes","no","no","no","yes",1,"no"
548 |
--------------------------------------------------------------------------------
/Housing_price_prediction_using_Regularised_linear_regression_.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "name": "Housing price prediction using Regularised linear regression .ipynb",
7 | "provenance": []
8 | },
9 | "kernelspec": {
10 | "name": "python3",
11 | "display_name": "Python 3"
12 | }
13 | },
14 | "cells": [
15 | {
16 | "cell_type": "markdown",
17 | "metadata": {
18 | "id": "3nppKaoi4Lr3",
19 | "colab_type": "text"
20 | },
21 | "source": [
22 | "# **Housing price prediction using linear regression** \n",
23 | "(*Regularised Gradient Descent and Regularised Normal equation*)\n",
24 | "\n",
25 | "---\n",
26 | "\n",
27 | "\n",
28 | "\n"
29 | ]
30 | },
31 | {
32 | "cell_type": "code",
33 | "metadata": {
34 | "id": "zDCzcBQ8Q1u4",
35 | "colab_type": "code",
36 | "colab": {}
37 | },
38 | "source": [
39 | "import numpy as np\n",
40 | "import pandas as pd\n",
41 | "import matplotlib.pyplot as plt"
42 | ],
43 | "execution_count": 0,
44 | "outputs": []
45 | },
46 | {
47 | "cell_type": "markdown",
48 | "metadata": {
49 | "id": "dHiaTyNZ5CMc",
50 | "colab_type": "text"
51 | },
52 | "source": [
53 | "\n",
54 | "1. *Delete unnecessary column*\n",
55 | "2. *Normalised the data with mean*\n",
56 | " "
57 | ]
58 | },
59 | {
60 | "cell_type": "code",
61 | "metadata": {
62 | "colab_type": "code",
63 | "outputId": "1d7588ca-1e3e-4cc9-9861-f1aa2fee86b6",
64 | "id": "Z_1MXqR2-08l",
65 | "colab": {
66 | "base_uri": "https://localhost:8080/",
67 | "height": 195
68 | }
69 | },
70 | "source": [
71 | "data = pd.read_csv('Housing Price data set.csv')\n",
72 | "data=data.drop(['Unnamed: 0','driveway','recroom','fullbase','airco','prefarea', 'gashw'],axis=1)\n",
73 | "mean = data.mean()[0]\n",
74 | "stddev = data.std()[0]\n",
75 | "data = (data - data.mean())/data.std()\n",
76 | "\n",
77 | "data.head()"
78 | ],
79 | "execution_count": 0,
80 | "outputs": [
81 | {
82 | "output_type": "execute_result",
83 | "data": {
84 | "text/html": [
85 | "
\n",
86 | "\n",
99 | "
\n",
100 | " \n",
101 | " \n",
102 | " | \n",
103 | " price | \n",
104 | " lotsize | \n",
105 | " bedrooms | \n",
106 | " bathrms | \n",
107 | " stories | \n",
108 | " garagepl | \n",
109 | "
\n",
110 | " \n",
111 | " \n",
112 | " \n",
113 | " 0 | \n",
114 | " -0.978239 | \n",
115 | " 0.322732 | \n",
116 | " 0.047192 | \n",
117 | " -0.568973 | \n",
118 | " 0.221501 | \n",
119 | " 0.357239 | \n",
120 | "
\n",
121 | " \n",
122 | " 1 | \n",
123 | " -1.109312 | \n",
124 | " -0.530526 | \n",
125 | " -1.308947 | \n",
126 | " -0.568973 | \n",
127 | " -0.930304 | \n",
128 | " -0.803788 | \n",
129 | "
\n",
130 | " \n",
131 | " 2 | \n",
132 | " -0.697368 | \n",
133 | " -0.964074 | \n",
134 | " 0.047192 | \n",
135 | " -0.568973 | \n",
136 | " -0.930304 | \n",
137 | " -0.803788 | \n",
138 | "
\n",
139 | " \n",
140 | " 3 | \n",
141 | " -0.285425 | \n",
142 | " 0.691709 | \n",
143 | " 0.047192 | \n",
144 | " -0.568973 | \n",
145 | " 0.221501 | \n",
146 | " -0.803788 | \n",
147 | "
\n",
148 | " \n",
149 | " 4 | \n",
150 | " -0.266700 | \n",
151 | " 0.557955 | \n",
152 | " -1.308947 | \n",
153 | " -0.568973 | \n",
154 | " -0.930304 | \n",
155 | " -0.803788 | \n",
156 | "
\n",
157 | " \n",
158 | "
\n",
159 | "
"
160 | ],
161 | "text/plain": [
162 | " price lotsize bedrooms bathrms stories garagepl\n",
163 | "0 -0.978239 0.322732 0.047192 -0.568973 0.221501 0.357239\n",
164 | "1 -1.109312 -0.530526 -1.308947 -0.568973 -0.930304 -0.803788\n",
165 | "2 -0.697368 -0.964074 0.047192 -0.568973 -0.930304 -0.803788\n",
166 | "3 -0.285425 0.691709 0.047192 -0.568973 0.221501 -0.803788\n",
167 | "4 -0.266700 0.557955 -1.308947 -0.568973 -0.930304 -0.803788"
168 | ]
169 | },
170 | "metadata": {
171 | "tags": []
172 | },
173 | "execution_count": 168
174 | }
175 | ]
176 | },
177 | {
178 | "cell_type": "markdown",
179 | "metadata": {
180 | "colab_type": "text",
181 | "id": "mPI-h9ER6Ah4"
182 | },
183 | "source": [
184 | "\n",
185 | "3. *Separate out the Feature and Target matrices\n",
186 | "and devide test and train data with 0.9 split ratio*\n",
187 | "\n",
188 | "\n",
189 | "\n",
190 | "\n",
191 | "\n"
192 | ]
193 | },
194 | {
195 | "cell_type": "code",
196 | "metadata": {
197 | "id": "hS6ya-6MWxha",
198 | "colab_type": "code",
199 | "colab": {}
200 | },
201 | "source": [
202 | " \n",
203 | "data=np.asarray(data)\n",
204 | "Y=data[:,0:1]\n",
205 | "X=data[:,1:]\n",
206 | "one = np.ones((len(X),1))\n",
207 | "X = np.concatenate((one,X),axis=1)\n",
208 | "split_ratio = 0.9\n",
209 | "split = int(split_ratio * X.shape[0])\n",
210 | "X_test = X[split+1:,:]\n",
211 | "X_train = X[:split+1, :]\n",
212 | "Y_test = Y[split+1:,:]\n",
213 | "Y_train = Y[:split+1, :]"
214 | ],
215 | "execution_count": 0,
216 | "outputs": []
217 | },
218 | {
219 | "cell_type": "markdown",
220 | "metadata": {
221 | "id": "16F95s136lq3",
222 | "colab_type": "text"
223 | },
224 | "source": [
225 | "4. *Compute cost function*\n",
226 | "5. *denormalise price funcion*\n",
227 | "6. *compute error function*\n",
228 | "7. *plot graph function* "
229 | ]
230 | },
231 | {
232 | "cell_type": "code",
233 | "metadata": {
234 | "id": "tc5dfKZXWxmK",
235 | "colab_type": "code",
236 | "colab": {}
237 | },
238 | "source": [
239 | "# helper Functions\n",
240 | "def computeCost(X,y,theta,lam):\n",
241 | " tobesummed = np.power(((X.dot(theta.T))-y),2)+lam*np.sum(np.power(theta,2))\n",
242 | " return np.sum(tobesummed)/(2 * len(X))\n",
243 | "\n",
244 | "def denormalise_price(price):\n",
245 | " global mean\n",
246 | " global stddev\n",
247 | " ret = price * stddev + mean\n",
248 | " return ret\n",
249 | "\n",
250 | "def computeError(predicted, actual):\n",
251 | " error = 0\n",
252 | " for i in range(len(predicted)):\n",
253 | " error += abs(actual[i] - predicted[i]) / actual[i]\n",
254 | " error /= len(actual)\n",
255 | " return error[0]\n",
256 | "\n",
257 | "def plotGraph(x,y,labelX='X',labelY='Y',title='X vs Y'):\n",
258 | " fig, ax = plt.subplots() \n",
259 | " ax.plot(x, y, 'r')\n",
260 | " ax.set_xlabel(labelX) \n",
261 | " ax.set_ylabel(labelY) \n",
262 | " ax.set_title(title)"
263 | ],
264 | "execution_count": 0,
265 | "outputs": []
266 | },
267 | {
268 | "cell_type": "markdown",
269 | "metadata": {
270 | "id": "oDkRDFBq7AD4",
271 | "colab_type": "text"
272 | },
273 | "source": [
274 | "7. *Gradient descent with regularisation to fint minimum theta*"
275 | ]
276 | },
277 | {
278 | "cell_type": "code",
279 | "metadata": {
280 | "id": "vA1kkGh7Wxss",
281 | "colab_type": "code",
282 | "colab": {}
283 | },
284 | "source": [
285 | "# Gradient Descent\n",
286 | "def gradientDescent(X,y,theta,iters,alpha, lam):\n",
287 | " lam_matrix = lam * np.ones(theta.shape)\n",
288 | " lam_matrix[0][0] = 0\n",
289 | " for i in range(iters):\n",
290 | " theta = theta*(1- lam_matrix / len(X)) - (alpha/len(X)) * np.sum(X * (X @ theta.T - y), axis=0)\n",
291 | "\n",
292 | " return theta"
293 | ],
294 | "execution_count": 0,
295 | "outputs": []
296 | },
297 | {
298 | "cell_type": "markdown",
299 | "metadata": {
300 | "id": "p2VgY1kK7T8b",
301 | "colab_type": "text"
302 | },
303 | "source": [
304 | "7. *Normal eqution function with regularisation to find minimum theta*"
305 | ]
306 | },
307 | {
308 | "cell_type": "code",
309 | "metadata": {
310 | "id": "FdtX5XeoWxyE",
311 | "colab_type": "code",
312 | "colab": {}
313 | },
314 | "source": [
315 | "#Normal equation\n",
316 | "def normalEquation(X,Y,lam):\n",
317 | " lam_matrix = lam * np.identity(X.shape[1])\n",
318 | " lam_matrix[0][0] = 0\n",
319 | " theta = np.linalg.inv(X.T.dot(X) + lam_matrix).dot(X.T).dot(Y)\n",
320 | " return theta\n",
321 | " "
322 | ],
323 | "execution_count": 0,
324 | "outputs": []
325 | },
326 | {
327 | "cell_type": "markdown",
328 | "metadata": {
329 | "id": "lB5CnXQJ7h-k",
330 | "colab_type": "text"
331 | },
332 | "source": [
333 | "8. *Train the model with train data and predict the test data using gradient descent*\n",
334 | "9. *compute the minimum error and lambda* \n",
335 | "10. *plot error vs lambda graph*"
336 | ]
337 | },
338 | {
339 | "cell_type": "code",
340 | "metadata": {
341 | "id": "IPet8YbFWx3G",
342 | "colab_type": "code",
343 | "outputId": "6be04329-cae3-45b8-d9de-ab6f60613ef9",
344 | "colab": {
345 | "base_uri": "https://localhost:8080/",
346 | "height": 329
347 | }
348 | },
349 | "source": [
350 | "theta = np.zeros([1,X.shape[1]])\n",
351 | "alpha = .1 #learning rate\n",
352 | "iters = 500 #epoch\n",
353 | "error_matrix = []\n",
354 | "lam_range = 600 #maximam lamda\n",
355 | "for lam in range(lam_range):\n",
356 | " g = gradientDescent(X_train,Y_train,theta,iters,alpha, lam)\n",
357 | " Cost = computeCost(X_train,Y_train,g,lam)\n",
358 | "\n",
359 | " Y_pred = X_test.dot(g.T)\n",
360 | " error = computeError(denormalise_price(Y_pred),denormalise_price(Y_test))\n",
361 | " error_matrix.append(error*100)\n",
362 | "optimal_lambda = 0\n",
363 | "min_error = 9999\n",
364 | "for i in range(len(error_matrix)):\n",
365 | " if error_matrix[i] < min_error:\n",
366 | " optimal_lambda = i\n",
367 | " min_error = error_matrix[i]\n",
368 | "\n",
369 | "print(\"min Error : \", (min_error),'%')\n",
370 | "print(\"Optimal Lambda : \", optimal_lambda)\n",
371 | "plotGraph(np.arange(lam_range),error_matrix,'lambda','error','lambda vs error')"
372 | ],
373 | "execution_count": 173,
374 | "outputs": [
375 | {
376 | "output_type": "stream",
377 | "text": [
378 | "min Error : 13.960611355440056 %\n",
379 | "Optimal Lambda : 24\n"
380 | ],
381 | "name": "stdout"
382 | },
383 | {
384 | "output_type": "display_data",
385 | "data": {
386 | "image/png": "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\n4hcRyTP/D0jT5M49YrU1AAAAAElFTkSuQmCC\n",
387 | "text/plain": [
388 | ""
389 | ]
390 | },
391 | "metadata": {
392 | "tags": []
393 | }
394 | }
395 | ]
396 | },
397 | {
398 | "cell_type": "code",
399 | "metadata": {
400 | "id": "u9VrkVqe1PXM",
401 | "colab_type": "code",
402 | "colab": {
403 | "base_uri": "https://localhost:8080/",
404 | "height": 34
405 | },
406 | "outputId": "767df818-abfa-4227-ea63-7b72de7e39ef"
407 | },
408 | "source": [
409 | "print('pred price =',denormalise_price(Y_pred[2][0]),'actual price =',denormalise_price(Y_test[2][0]))"
410 | ],
411 | "execution_count": 174,
412 | "outputs": [
413 | {
414 | "output_type": "stream",
415 | "text": [
416 | "pred price = 64257.57664950318 actual price = 58500.0\n"
417 | ],
418 | "name": "stdout"
419 | }
420 | ]
421 | },
422 | {
423 | "cell_type": "markdown",
424 | "metadata": {
425 | "id": "M0LcIvFo8QLt",
426 | "colab_type": "text"
427 | },
428 | "source": [
429 | "11. *Train the model with train data and predict the test data using Normal Equation*\n",
430 | "12. *compute the minimum error and lambda* \n",
431 | "13. *plot error vs lambda graph*"
432 | ]
433 | },
434 | {
435 | "cell_type": "code",
436 | "metadata": {
437 | "id": "e4DsK_VOWx5x",
438 | "colab_type": "code",
439 | "colab": {
440 | "base_uri": "https://localhost:8080/",
441 | "height": 329
442 | },
443 | "outputId": "8755fe2d-8471-431d-94c4-f8a9d73d248f"
444 | },
445 | "source": [
446 | "error_mat = []\n",
447 | "lam_range = 600\n",
448 | "\n",
449 | "for lam in range(lam_range):\n",
450 | " theta = normalEquation(X,Y,lam)\n",
451 | " Cost = computeCost(X_train,Y_train,theta.T,lam)\n",
452 | " Y_pred = X_test.dot(theta)\n",
453 | " error = computeError(denormalise_price(Y_pred),denormalise_price(Y_test))\n",
454 | " error_mat.append(error*100)\n",
455 | "\n",
456 | "optimal_lambda = 0\n",
457 | "min_error = 9999\n",
458 | "for i in range(len(error_mat)):\n",
459 | " if error_mat[i] < min_error:\n",
460 | " optimal_lambda = i\n",
461 | " min_error = error_mat[i]\n",
462 | "print(\"min Error : \", min_error)\n",
463 | "print(\"Optimal Lambda : \", optimal_lambda)\n",
464 | "plotGraph(np.arange(lam_range),error_mat,'lambda','error','lambda vs error')"
465 | ],
466 | "execution_count": 175,
467 | "outputs": [
468 | {
469 | "output_type": "stream",
470 | "text": [
471 | "min Error : 13.432288061521582\n",
472 | "Optimal Lambda : 311\n"
473 | ],
474 | "name": "stdout"
475 | },
476 | {
477 | "output_type": "display_data",
478 | "data": {
479 | "image/png": "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\nEbzumLeqAAAAAElFTkSuQmCC\n",
480 | "text/plain": [
481 | ""
482 | ]
483 | },
484 | "metadata": {
485 | "tags": []
486 | }
487 | }
488 | ]
489 | },
490 | {
491 | "cell_type": "code",
492 | "metadata": {
493 | "id": "Jvnh2FTgdjBR",
494 | "colab_type": "code",
495 | "colab": {
496 | "base_uri": "https://localhost:8080/",
497 | "height": 34
498 | },
499 | "outputId": "56d36f4e-dead-4f71-ee2c-e62ef1741b2d"
500 | },
501 | "source": [
502 | "print('pred price =',denormalise_price(Y_pred[2][0]),'actual price =',denormalise_price(Y_test[2])[0])"
503 | ],
504 | "execution_count": 176,
505 | "outputs": [
506 | {
507 | "output_type": "stream",
508 | "text": [
509 | "pred price = 57100.426317244695 actual price = 58500.0\n"
510 | ],
511 | "name": "stdout"
512 | }
513 | ]
514 | }
515 | ]
516 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Housing-price-prediction-using-Regularised-linear-regression
2 | ###### config
3 | 1. upload the ipynb file to Google colab
4 |
5 | 2. upload the csv file to Google colab
6 |
7 | 3. run all cells
8 |
9 |
10 |
11 |
12 |
13 | ###### graph of error vs lambda in gradient descent
14 | .png)
15 |
16 |
17 | ###### graph of error vs lambda in Normal equation
18 | 
19 |
--------------------------------------------------------------------------------
/download (1).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SouravG/Housing-price-prediction-using-Regularised-linear-regression/3f6405b8504462b56c4fc67156c02dc8d9be9e3e/download (1).png
--------------------------------------------------------------------------------
/download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SouravG/Housing-price-prediction-using-Regularised-linear-regression/3f6405b8504462b56c4fc67156c02dc8d9be9e3e/download.png
--------------------------------------------------------------------------------