├── 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 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | "
pricelotsizebedroomsbathrmsstoriesgaragepl
0-0.9782390.3227320.047192-0.5689730.2215010.357239
1-1.109312-0.530526-1.308947-0.568973-0.930304-0.803788
2-0.697368-0.9640740.047192-0.568973-0.930304-0.803788
3-0.2854250.6917090.047192-0.5689730.221501-0.803788
4-0.2667000.557955-1.308947-0.568973-0.930304-0.803788
\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 | ![g](https://raw.githubusercontent.com/SouravG/Housing-price-prediction-using-Regularised-linear-regression/master/download%20(1).png) 15 | 16 | 17 | ###### graph of error vs lambda in Normal equation 18 | ![g](https://raw.githubusercontent.com/SouravG/Housing-price-prediction-using-Regularised-linear-regression/master/download.png) 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 --------------------------------------------------------------------------------