{"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":"code","source":"#### import pandas as pd\nimport numpy as np\nfrom matplotlib.pyplot import figure\nfrom sklearn import tree\nfrom matplotlib import pyplot as plt\nfrom sklearn.preprocessing import LabelEncoder\nfrom numpy.random import RandomState\nimport pandas as pd\nimport math\nrng = RandomState()\nfrom scipy.optimize import minimize\nimport time\n\n\ndf = pd.read_csv(\"../input/house-prices-advanced-regression-techniques/train.csv\" ,usecols=['MSSubClass','LotArea','Neighborhood','OverallQual','OverallCond','GrLivArea','SalePrice'])\ndf2 = pd.read_csv(\"../input/house-prices-advanced-regression-techniques/train.csv\" )\ndf3 = pd.read_csv(\"../input/house-prices-advanced-regression-techniques/test.csv\" ,usecols=['MSSubClass','LotArea','Neighborhood','OverallQual','OverallCond','GrLivArea'])\ndf33 = pd.read_csv(\"../input/house-prices-advanced-regression-techniques/test.csv\" )\ndf['TotalArea']=df2[['ScreenPorch','3SsnPorch','EnclosedPorch','OpenPorchSF','WoodDeckSF','BsmtUnfSF','TotalBsmtSF','GarageArea','2ndFlrSF','1stFlrSF']].sum(axis=1)\ndf=df.replace(\"ClearCr\",0)\ndf=df.replace(\"Timber\",1)\ndf=df.replace(\"IDOTRR\",2)\ndf=df.replace(\"Edwards\",3)\ndf=df.replace(\"Sawyer\",4)\ndf=df.replace(\"Mitchel\",5)\ndf=df.replace(\"NAmes\",6)\ndf=df.replace(\"Veenker\",7)\ndf=df.fillna(0)\ndf=df.replace(\"OldTown\",8)\ndf=df.replace(\"NWAmes\",9)\ndf=df.replace(\"Gilbert\",10)\ndf=df.replace(\"BrkSide\",11)\ndf=df.replace(\"SWISU\",12)\ndf=df.replace(\"Crawfor\",13)\ndf=df.replace(\"SawyerW\",14)\ndf=df.replace(\"CollgCr\",15)\ndf=df.replace(\"NoRidge\",16)\ndf=df.replace(\"Somerst\",17)\ndf=df.replace(\"NridgHt\",18)\ndf=df.replace(\"StoneBr\",19)\ndf=df.replace(\"MeadowV\",20)\ndf=df.replace(\"NPkVill\",21)\ndf=df.replace(\"Blmngtn\",22)\ndf=df.replace(\"BrDale\",23)\ndf=df.replace(\"Blueste\",24)\n\ndf3['TotalArea']=df33[['ScreenPorch','3SsnPorch','EnclosedPorch','OpenPorchSF','WoodDeckSF','BsmtUnfSF','TotalBsmtSF','GarageArea','2ndFlrSF','1stFlrSF']].sum(axis=1)\ndf3=df3.replace(\"ClearCr\",0)\ndf3=df3.replace(\"Timber\",1)\ndf3=df3.replace(\"IDOTRR\",2)\ndf3=df3.replace(\"Edwards\",3)\ndf3=df3.replace(\"Sawyer\",4)\ndf3=df3.replace(\"Mitchel\",5)\ndf3=df3.replace(\"NAmes\",6)\ndf3=df3.replace(\"Veenker\",7)\ndf3=df3.fillna(0)\ndf3=df3.replace(\"OldTown\",8)\ndf3=df3.replace(\"NWAmes\",9)\ndf3=df3.replace(\"Gilbert\",10)\ndf3=df3.replace(\"BrkSide\",11)\ndf3=df3.replace(\"SWISU\",12)\ndf3=df3.replace(\"Crawfor\",13)\ndf3=df3.replace(\"SawyerW\",14)\ndf3=df3.replace(\"CollgCr\",15)\ndf3=df3.replace(\"NoRidge\",16)\ndf3=df3.replace(\"Somerst\",17)\ndf3=df3.replace(\"NridgHt\",18)\ndf3=df3.replace(\"StoneBr\",19)\ndf3=df3.replace(\"MeadowV\",20)\ndf3=df3.replace(\"NPkVill\",21)\ndf3=df3.replace(\"Blmngtn\",22)\ndf3=df3.replace(\"BrDale\",23)\ndf3=df3.replace(\"Blueste\",24)\ntrain = df\ntest = df3\n\ntraintarget= pd.DataFrame({'SalePrice':train['SalePrice']})\ntraintarget2= pd.DataFrame({'SalePrice':train['SalePrice']})\nY= pd.DataFrame({'SalePrice':train['SalePrice']})\n\ntrain = train.drop('SalePrice',axis=1)\n\nlist1=[]\nfor i in range(1,1461):\n    list1.append(180000)\nF =pd.DataFrame({'SalePrice':list1})\nlist1=[]\nfor i in range(1,1460):\n    list1.append(180000)\ndf_new3 = pd.DataFrame({'SalePrice':list1})\nfor M in range(1,500):\n    model2 = tree.DecisionTreeRegressor(max_depth=5,splitter=\"random\")\n    model2.fit(train,traintarget)\n    H = pd.DataFrame({'SalePrice':model2.predict(train)})\n    df_newal = pd.DataFrame({'SalePrice':model2.predict(test)})\n\n    kau=0.1\n    F+=kau*H\n    df_new3+=kau*df_newal\n    traintarget=-2/5*(F-Y)\nlist1=[]\nfor i in range(1,1460):\n    list1.append(i+1460)\ndf_new3['Id'] = list1\n\ndf_new3.to_csv('submission.csv',index=False)","metadata":{"execution":{"iopub.status.busy":"2022-01-30T13:03:36.030528Z","iopub.execute_input":"2022-01-30T13:03:36.031618Z","iopub.status.idle":"2022-01-30T13:03:39.956732Z","shell.execute_reply.started":"2022-01-30T13:03:36.031567Z","shell.execute_reply":"2022-01-30T13:03:39.95551Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"score ~ 0.14, following wikipedia pseudocode https://en.wikipedia.org/wiki/Gradient_boosting with custom loss functions and step size\n\nactually really surprised how such a simple algorithm can achieve such good results","metadata":{}}]}