{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"Importing the Dependencies","metadata":{"id":"prK5bNUInshd"}},{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nfrom sklearn.linear_model import LinearRegression\nfrom xgboost import XGBRegressor\nfrom sklearn import metrics\nfrom sklearn import preprocessing","metadata":{"id":"63Y-KJD3nNFk","execution":{"iopub.status.busy":"2022-08-06T12:27:12.162697Z","iopub.execute_input":"2022-08-06T12:27:12.163620Z","iopub.status.idle":"2022-08-06T12:27:12.915826Z","shell.execute_reply.started":"2022-08-06T12:27:12.163494Z","shell.execute_reply":"2022-08-06T12:27:12.914776Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Loading Datasets","metadata":{"id":"iBkrbP-np3wy"}},{"cell_type":"code","source":"test = pd.read_csv(\"https://raw.githubusercontent.com/Abdur-Raffay/House-Price-Prediction/main/test.csv\")\ntrain = pd.read_csv(\"https://raw.githubusercontent.com/Abdur-Raffay/House-Price-Prediction/main/train.csv\")\n\n","metadata":{"id":"cVEi6tTJpy_T","execution":{"iopub.status.busy":"2022-08-06T12:27:12.918322Z","iopub.execute_input":"2022-08-06T12:27:12.918912Z","iopub.status.idle":"2022-08-06T12:27:13.255987Z","shell.execute_reply.started":"2022-08-06T12:27:12.918867Z","shell.execute_reply":"2022-08-06T12:27:13.254804Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Let's Check Datatypes of Train","metadata":{"id":"6fDLkjL3Z4wC"}},{"cell_type":"markdown","source":"Checking for columns with huge missing data in train","metadata":{"id":"V6Ic0lPjnMLt"}},{"cell_type":"code","source":"train.info()\nmissing_list = []\n#Checking for missiong values\nfor row in train:\n  if train.isnull().sum()[row]>400:\n    missing_list.append(row)\nprint(missing_list)\ntrain = train.drop(missing_list,axis = 'columns')\n","metadata":{"id":"rrpEu2erpzXS","execution":{"iopub.status.busy":"2022-08-06T12:27:13.257785Z","iopub.execute_input":"2022-08-06T12:27:13.258254Z","iopub.status.idle":"2022-08-06T12:27:13.631693Z","shell.execute_reply.started":"2022-08-06T12:27:13.258208Z","shell.execute_reply":"2022-08-06T12:27:13.630457Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Checking Datatypes of Test","metadata":{"id":"MBaESXY_ZLg1"}},{"cell_type":"markdown","source":"Checking for Columns with Huge Missing Data in Test","metadata":{"id":"JBAGIcBpMFxU"}},{"cell_type":"code","source":"test.info()\nmissing_list_test = []\nfor row in test:\n  if test.isnull().sum()[row]>400:\n    missing_list_test.append(row)\n\nprint(missing_list_test)\ntest = test.drop(missing_list_test,axis = 'columns')\n\n\n","metadata":{"id":"BTeFg_kcZbn1","outputId":"a301a1d8-433e-4fe3-e560-9927493d1cf0","execution":{"iopub.status.busy":"2022-08-06T12:27:13.634916Z","iopub.execute_input":"2022-08-06T12:27:13.635639Z","iopub.status.idle":"2022-08-06T12:27:13.991766Z","shell.execute_reply.started":"2022-08-06T12:27:13.635593Z","shell.execute_reply":"2022-08-06T12:27:13.990577Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Statistical Measures of Datasets","metadata":{"id":"6A2Fh8gCilel"}},{"cell_type":"code","source":"train.describe()\n","metadata":{"id":"ncv56jfuiqr_","execution":{"iopub.status.busy":"2022-08-06T12:27:13.993193Z","iopub.execute_input":"2022-08-06T12:27:13.993655Z","iopub.status.idle":"2022-08-06T12:27:14.109179Z","shell.execute_reply.started":"2022-08-06T12:27:13.993610Z","shell.execute_reply":"2022-08-06T12:27:14.107959Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test.describe()","metadata":{"id":"JJccAzn8jYhK","execution":{"iopub.status.busy":"2022-08-06T12:27:14.110491Z","iopub.execute_input":"2022-08-06T12:27:14.110838Z","iopub.status.idle":"2022-08-06T12:27:14.212513Z","shell.execute_reply.started":"2022-08-06T12:27:14.110784Z","shell.execute_reply":"2022-08-06T12:27:14.211299Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Data Preprocessing","metadata":{"id":"pgjk1tIzzE0q"}},{"cell_type":"markdown","source":"Changing Dtype of Trains & Test Columns from object to int64","metadata":{"id":"CXNBpGUrkOcg"}},{"cell_type":"code","source":"lbl = preprocessing.LabelEncoder()\nfor col in train:\n  if train[col].dtype == 'object':\n    train[col] = lbl.fit_transform(train[col].astype(str))\n\nfor co in test:\n  if test[co].dtype == 'object':\n    test[co] = lbl.fit_transform(test[co].astype(str))\n  \ntrain.info()\ntest.info()\n  \n\n","metadata":{"id":"TmOJIQVwzEQ7","execution":{"iopub.status.busy":"2022-08-06T12:27:14.213942Z","iopub.execute_input":"2022-08-06T12:27:14.214372Z","iopub.status.idle":"2022-08-06T12:27:14.335498Z","shell.execute_reply.started":"2022-08-06T12:27:14.214339Z","shell.execute_reply":"2022-08-06T12:27:14.334541Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"","metadata":{"id":"vUwgBsqop-YI"}},{"cell_type":"markdown","source":"XGBoost Regressor","metadata":{"id":"9uILKmMktgbc"}},{"cell_type":"code","source":"train_X = train.drop(['Id','SalePrice'],axis = 'columns')\ntrain_Y = train['SalePrice']\ntest_X = test.drop(['Id'],axis = 'columns')\nmodel = XGBRegressor()\nmodel.fit(train_X, train_Y)\n\n","metadata":{"id":"c4_FvSv-tl82","outputId":"6f171045-a95e-4f5f-b241-30bfa37e27d9","execution":{"iopub.status.busy":"2022-08-06T12:27:14.336617Z","iopub.execute_input":"2022-08-06T12:27:14.337133Z","iopub.status.idle":"2022-08-06T12:27:15.046632Z","shell.execute_reply.started":"2022-08-06T12:27:14.337098Z","shell.execute_reply":"2022-08-06T12:27:15.045760Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Evaluation","metadata":{"id":"5MXVsyL5ld55"}},{"cell_type":"markdown","source":"Comparing the Y_Train Prices(Original Prices) with Prices Predicted from X_Train By Model","metadata":{"id":"d-jXkV_Ql51p"}},{"cell_type":"code","source":"training_data_prediction = model.predict(train_X) \nprint(training_data_prediction) \n\n#Mean Absolute Error\nm_ab_error = np.mean(np.abs((train_Y - training_data_prediction) / train_Y))*100\n\nprint(\"Mean Absolute Error: \",m_ab_error)","metadata":{"id":"0_yYYxiGlgpZ","outputId":"4cd03682-0d01-4b03-9909-257c19782797","execution":{"iopub.status.busy":"2022-08-06T12:27:15.047811Z","iopub.execute_input":"2022-08-06T12:27:15.048604Z","iopub.status.idle":"2022-08-06T12:27:15.067780Z","shell.execute_reply.started":"2022-08-06T12:27:15.048568Z","shell.execute_reply":"2022-08-06T12:27:15.066683Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Submission","metadata":{"id":"fHoAX4ivuEM9"}},{"cell_type":"code","source":"prediction = model.predict(test_X)\n\noutput = pd.DataFrame({'Id':test.Id,'SalePrice':prediction})\n\noutput.to_csv('Submission.csv')\n","metadata":{"id":"9rkmZAy3uFiz","outputId":"b28f9c47-5201-4c64-ab62-cce9ae5ad952","execution":{"iopub.status.busy":"2022-08-06T12:27:15.070446Z","iopub.execute_input":"2022-08-06T12:27:15.071040Z","iopub.status.idle":"2022-08-06T12:27:15.095522Z","shell.execute_reply.started":"2022-08-06T12:27:15.071004Z","shell.execute_reply":"2022-08-06T12:27:15.094537Z"},"trusted":true},"execution_count":null,"outputs":[]}]}