{"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":"# Import_Libraries\n\n","metadata":{}},{"cell_type":"code","source":"\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport numpy as np\nfrom sklearn.impute import SimpleImputer\nfrom sklearn import preprocessing\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.preprocessing import LabelEncoder\nfrom sklearn.decomposition import PCA\n\nimport seaborn as sns\nimport warnings\nwarnings.filterwarnings('ignore')\n%matplotlib inline","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:12.728204Z","iopub.execute_input":"2022-07-21T17:32:12.728644Z","iopub.status.idle":"2022-07-21T17:32:14.096580Z","shell.execute_reply.started":"2022-07-21T17:32:12.728548Z","shell.execute_reply":"2022-07-21T17:32:14.095408Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Loading Data ","metadata":{}},{"cell_type":"code","source":"\nData = pd.read_csv(r'../input/house-prices-advanced-regression-techniques/train.csv')\nData.head(5)\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:14.098923Z","iopub.execute_input":"2022-07-21T17:32:14.099327Z","iopub.status.idle":"2022-07-21T17:32:14.165495Z","shell.execute_reply.started":"2022-07-21T17:32:14.099287Z","shell.execute_reply":"2022-07-21T17:32:14.164301Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Data Visualization","metadata":{}},{"cell_type":"markdown","source":"### Obtaining a Graph showing the path of our Data and where the Data Concentration sites are located to get the Results(SalePrice)","metadata":{}},{"cell_type":"code","source":"import plotly.graph_objects as go\nimport plotly.express as px\nTaa=Data\ncols=Data.select_dtypes(exclude ='object').columns\ncols=cols.drop(['HalfBath','BsmtFullBath','BsmtHalfBath','BedroomAbvGr','KitchenAbvGr','TotRmsAbvGrd','EnclosedPorch'])\nfig = go.Figure(data=\n    go.Parcoords(line = dict(color = Taa['SalePrice'], colorscale =px.colors.sequential.Reds),\n        dimensions = [dict(label=col, values=Taa[col]) for col in cols]))\n\nfig.update_layout(\n    title=\"Dates\")\nfig.update_layout(\n    autosize=False,\n    width=2100,\n    height=800,)\nfig.show()","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:14.167439Z","iopub.execute_input":"2022-07-21T17:32:14.168208Z","iopub.status.idle":"2022-07-21T17:32:15.402334Z","shell.execute_reply.started":"2022-07-21T17:32:14.168164Z","shell.execute_reply":"2022-07-21T17:32:15.401434Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Graphs Show  Which Type in object Columns Have Large Effect in Output (Sale Price) And which Types Of  Every Object Columns That Has The Maximum Sum of Sale Price \n\n\n##### For Example First Graph  show that sum of sale price in type 3 in column ('MSZoning') is The Largest and Consequently The Houses in type 3 in column ('MSZoning') is Very Expensive or The large part of the data we have is of type 3 ... ETC ","metadata":{}},{"cell_type":"code","source":"L=[]\nfor i in Data.columns:\n    if(len(list(Data[i].drop_duplicates()))<8):\n        L.append(i)\nL=L[:42] \nfig, ax = plt.subplots(6,3,figsize=(20,20))\nz=1\nL1=L[:18]\nfor i in L1:\n    plt.subplot(6,3,z)\n    Data[['SalePrice',i]].groupby([i],as_index=False).sum().sort_values(by='SalePrice',ascending=False)\n    sns.barplot(x =i, y ='SalePrice', data = Data,\n            palette ='plasma')\n    z=z+1\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:15.405009Z","iopub.execute_input":"2022-07-21T17:32:15.405812Z","iopub.status.idle":"2022-07-21T17:32:19.835555Z","shell.execute_reply.started":"2022-07-21T17:32:15.405778Z","shell.execute_reply":"2022-07-21T17:32:19.834214Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"L2=L[18:]    \nfig, ax = plt.subplots(6,4,figsize=(26,27))\nz=1\nfor i in L2:\n    plt.subplot(6,4,z)\n    Data[['SalePrice',i]].groupby([i],as_index=False).sum().sort_values(by='SalePrice',ascending=False)\n    sns.barplot(x =i, y ='SalePrice', data = Data,\n            palette ='plasma')\n    z=z+1","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:19.836964Z","iopub.execute_input":"2022-07-21T17:32:19.837420Z","iopub.status.idle":"2022-07-21T17:32:25.150881Z","shell.execute_reply.started":"2022-07-21T17:32:19.837383Z","shell.execute_reply":"2022-07-21T17:32:25.149671Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# This Graph Show The Relation BetWeen 4 Columns \n\n\n##### For Example The Below Graph Show That the Relation OF Columns(GarageFinish,Fireplaces,SalePrice,KitchenQual) the First Graph Upper Left is Show That The House which GarageFinish = 'RFn' And  Fireplaces = '0' and KitchenQual = 'TA' The Price of These Types Is in range (150000 : 200000) and the House which GarageFinish = 'RFn' And  Fireplaces = '0' and KitchenQual = 'Ex' The Price of These Types Is in range (100000 : 120000)","metadata":{}},{"cell_type":"code","source":"grid = sns.FacetGrid(Data, row='GarageFinish', col='Fireplaces', size=2.2, aspect=1.6)\ngrid.map(sns.barplot ,'SalePrice', 'KitchenQual',alpha=.9).add_legend()","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:25.152468Z","iopub.execute_input":"2022-07-21T17:32:25.153115Z","iopub.status.idle":"2022-07-21T17:32:27.578203Z","shell.execute_reply.started":"2022-07-21T17:32:25.153083Z","shell.execute_reply":"2022-07-21T17:32:27.576881Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"grid = sns.FacetGrid(Data, row='FullBath', col='HalfBath', size=2.2, aspect=1.6)\ngrid.map(sns.barplot ,'KitchenAbvGr', 'SalePrice',alpha=.9).add_legend()","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:27.579669Z","iopub.execute_input":"2022-07-21T17:32:27.580035Z","iopub.status.idle":"2022-07-21T17:32:29.595300Z","shell.execute_reply.started":"2022-07-21T17:32:27.580006Z","shell.execute_reply":"2022-07-21T17:32:29.594203Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"grid = sns.FacetGrid(Data, row='Utilities', col='LandContour', size=2.2, aspect=1.6)\ngrid.map(sns.barplot ,'SalePrice', 'LandSlope',alpha=.9).add_legend()","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:29.596648Z","iopub.execute_input":"2022-07-21T17:32:29.597047Z","iopub.status.idle":"2022-07-21T17:32:31.009546Z","shell.execute_reply.started":"2022-07-21T17:32:29.597015Z","shell.execute_reply":"2022-07-21T17:32:31.008396Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"grid = sns.FacetGrid(Data, row='Alley', col='LotShape', size=2.2, aspect=1.6)\ngrid.map(sns.barplot ,'SalePrice', 'LandContour',alpha=.9).add_legend()","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:31.011406Z","iopub.execute_input":"2022-07-21T17:32:31.012115Z","iopub.status.idle":"2022-07-21T17:32:32.265931Z","shell.execute_reply.started":"2022-07-21T17:32:31.012082Z","shell.execute_reply":"2022-07-21T17:32:32.264716Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Here We Know That Data Has Nulls in Many columns and It Has A String Columns","metadata":{}},{"cell_type":"code","source":"Data.info()","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:32.269536Z","iopub.execute_input":"2022-07-21T17:32:32.269986Z","iopub.status.idle":"2022-07-21T17:32:32.288787Z","shell.execute_reply.started":"2022-07-21T17:32:32.269952Z","shell.execute_reply":"2022-07-21T17:32:32.287591Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Data.describe()","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:32.290070Z","iopub.execute_input":"2022-07-21T17:32:32.290419Z","iopub.status.idle":"2022-07-21T17:32:32.386343Z","shell.execute_reply.started":"2022-07-21T17:32:32.290383Z","shell.execute_reply":"2022-07-21T17:32:32.385253Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Here we found That there Are Columns have A litte or nothing Relation With SalePrice (Output)","metadata":{}},{"cell_type":"code","source":"fig, ax = plt.subplots(figsize=(25, 25))\nsns.heatmap(Data.corr(), annot = True,cmap= 'Blues')#, fmt='.6g'","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:32.387771Z","iopub.execute_input":"2022-07-21T17:32:32.388091Z","iopub.status.idle":"2022-07-21T17:32:37.936540Z","shell.execute_reply.started":"2022-07-21T17:32:32.388062Z","shell.execute_reply":"2022-07-21T17:32:37.935224Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"","metadata":{}},{"cell_type":"code","source":"print('Data Shape = ',Data.shape)\nencode_columns = list(Data.select_dtypes(exclude ='object').columns)\nData_coorr=[]\nfor i in encode_columns:\n    if((Data[i].corr(Data['SalePrice']) >= 0.3) or (Data[i].corr(Data['SalePrice'])<= -0.3)):\n         Data_coorr.append([Data['SalePrice'].corr(Data[i]),i])","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:37.938148Z","iopub.execute_input":"2022-07-21T17:32:37.938654Z","iopub.status.idle":"2022-07-21T17:32:37.972322Z","shell.execute_reply.started":"2022-07-21T17:32:37.938615Z","shell.execute_reply":"2022-07-21T17:32:37.971224Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Data_coorr","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:37.973815Z","iopub.execute_input":"2022-07-21T17:32:37.974395Z","iopub.status.idle":"2022-07-21T17:32:37.981900Z","shell.execute_reply.started":"2022-07-21T17:32:37.974340Z","shell.execute_reply":"2022-07-21T17:32:37.980927Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Data_coorr= np.reshape(Data_coorr,(len(Data_coorr),len(Data_coorr[0])))\nData_coorr = pd.DataFrame(Data_coorr)\nData_coorr=Data_coorr.set_index(Data_coorr[0])\nData_coorr=Data_coorr.iloc[:, 1]\n\nData_coorr=Data_coorr.sort_index(ascending=False)","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:37.983223Z","iopub.execute_input":"2022-07-21T17:32:37.983553Z","iopub.status.idle":"2022-07-21T17:32:37.996700Z","shell.execute_reply.started":"2022-07-21T17:32:37.983526Z","shell.execute_reply":"2022-07-21T17:32:37.995427Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(Data_coorr)\n\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:38.000453Z","iopub.execute_input":"2022-07-21T17:32:38.000779Z","iopub.status.idle":"2022-07-21T17:32:38.007269Z","shell.execute_reply.started":"2022-07-21T17:32:38.000743Z","shell.execute_reply":"2022-07-21T17:32:38.006124Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"var = 'OverallQual'\ndata = pd.concat([Data['SalePrice'], Data[var]], axis=1)\ndata.plot.scatter(x=var, y='SalePrice', ylim=(0,800000));","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:38.009170Z","iopub.execute_input":"2022-07-21T17:32:38.010021Z","iopub.status.idle":"2022-07-21T17:32:38.211663Z","shell.execute_reply.started":"2022-07-21T17:32:38.009979Z","shell.execute_reply":"2022-07-21T17:32:38.210848Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Data = pd.DataFrame(Data)\n\nencodde_columns = list(Data.select_dtypes(exclude ='object').columns)\n#Data=Data.set_index(Data['Id'])\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:38.213419Z","iopub.execute_input":"2022-07-21T17:32:38.214156Z","iopub.status.idle":"2022-07-21T17:32:38.221853Z","shell.execute_reply.started":"2022-07-21T17:32:38.214113Z","shell.execute_reply":"2022-07-21T17:32:38.220783Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Remove Outliers Rows From Columns That Has A Strong Realtion With Output  As It Will Make Miss Leading","metadata":{}},{"cell_type":"code","source":"Data_corr=Data_coorr[:8]\nfor i in  Data_corr:\n    if i =='SalePrice' or i=='Id':\n        continue\n    Q1=Data[i].quantile(0.25)\n    Q3=Data[i].quantile(0.75)    \n    IQR = Q3 - Q1\n    lowqe_bound=Q1 - 1.5 * IQR\n    upper_bound=Q3 + 1.5 * IQR\n    print(lowqe_bound)\n    price_df=Data[i]\n    Data[i] = Data[i][~((Data[i] < lowqe_bound) |(Data[i] > upper_bound))]\n    print('********')\n    \n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:38.223399Z","iopub.execute_input":"2022-07-21T17:32:38.223746Z","iopub.status.idle":"2022-07-21T17:32:38.256824Z","shell.execute_reply.started":"2022-07-21T17:32:38.223713Z","shell.execute_reply":"2022-07-21T17:32:38.255946Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Get The Relation Graphs ","metadata":{}},{"cell_type":"code","source":"for i in Data_coorr[:10]:\n    var = i\n    data = pd.concat([Data['SalePrice'], Data[var]], axis=1)\n    data.plot.scatter(x=var, y='SalePrice', ylim=(0,800000));","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:38.258004Z","iopub.execute_input":"2022-07-21T17:32:38.258635Z","iopub.status.idle":"2022-07-21T17:32:39.866618Z","shell.execute_reply.started":"2022-07-21T17:32:38.258601Z","shell.execute_reply":"2022-07-21T17:32:39.865471Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### We Found That The Denity of {'SalePrice','GarageCars','GarageArea','TotalBsmtSF','1stFlrSF','FullBath','YearBuilt'} Have A BAD Density \nWe Can Solve Some Of Them like (SalePrice) By Log AS It postive Skewed But I didn't As I Remove A Outliers Data So\n\ndidn't Make Large Change in Data Set As we have (sample_submission & Test Data) we Want To fit and Predict it ","metadata":{}},{"cell_type":"code","source":"from scipy.stats import norm\nfrom scipy import stats\nfor i in Data_coorr[:10]:\n    sns.distplot(Data[i], fit=norm);\n    fig = plt.figure()\n    ","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:39.867879Z","iopub.execute_input":"2022-07-21T17:32:39.868275Z","iopub.status.idle":"2022-07-21T17:32:42.032942Z","shell.execute_reply.started":"2022-07-21T17:32:39.868240Z","shell.execute_reply":"2022-07-21T17:32:42.031976Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#sns.pairplot(Data[encode_columns], hue=\"species\", diag_kind=\"hist\")#, hue=\"species\", diag_kind=\"hist\"\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.034430Z","iopub.execute_input":"2022-07-21T17:32:42.034719Z","iopub.status.idle":"2022-07-21T17:32:42.039251Z","shell.execute_reply.started":"2022-07-21T17:32:42.034693Z","shell.execute_reply":"2022-07-21T17:32:42.038163Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Nulls=Data.isnull().sum()","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.040445Z","iopub.execute_input":"2022-07-21T17:32:42.040726Z","iopub.status.idle":"2022-07-21T17:32:42.057255Z","shell.execute_reply.started":"2022-07-21T17:32:42.040700Z","shell.execute_reply":"2022-07-21T17:32:42.056432Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Choice large Than 0.15 % Null Columns And Drop Them And Also The Have Not Strong Relation  ","metadata":{}},{"cell_type":"code","source":"Nulls = Data.isnull().sum().sort_values(ascending=False)\npercent = (Data.isnull().sum()/Data.isnull().count()).sort_values(ascending=False)\nmissing_data = pd.concat([Nulls, percent], axis=1, keys=['Nulls', 'Percent'])\nprint(missing_data[:40])\nmissing_data=missing_data[missing_data['Nulls']>=100]\nprint(missing_data)","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.058221Z","iopub.execute_input":"2022-07-21T17:32:42.058513Z","iopub.status.idle":"2022-07-21T17:32:42.091235Z","shell.execute_reply.started":"2022-07-21T17:32:42.058487Z","shell.execute_reply":"2022-07-21T17:32:42.090439Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Data = Data.drop((missing_data).index,1)\n\n#Data = Data.drop(Data.loc[Data['Electrical'].isnull()].index)\n\nNul=Data.isnull().sum().sort_values(ascending=False)\nprint(Nul[:20])","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.092885Z","iopub.execute_input":"2022-07-21T17:32:42.093627Z","iopub.status.idle":"2022-07-21T17:32:42.107454Z","shell.execute_reply.started":"2022-07-21T17:32:42.093585Z","shell.execute_reply":"2022-07-21T17:32:42.106345Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Data.shape","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.108794Z","iopub.execute_input":"2022-07-21T17:32:42.109099Z","iopub.status.idle":"2022-07-21T17:32:42.116066Z","shell.execute_reply.started":"2022-07-21T17:32:42.109072Z","shell.execute_reply":"2022-07-21T17:32:42.114956Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Doing LabelEncoder To Solve String Columns And Convert Them To Int Columns","metadata":{}},{"cell_type":"code","source":"def label_encode_columns(df, columns):\n    encoders = {}\n    for col in columns:\n        le = LabelEncoder().fit(df[col])\n        df[col] = le.transform(df[col])\n        encoders[col] = le\n    return df, encoders\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.117872Z","iopub.execute_input":"2022-07-21T17:32:42.118602Z","iopub.status.idle":"2022-07-21T17:32:42.127197Z","shell.execute_reply.started":"2022-07-21T17:32:42.118560Z","shell.execute_reply":"2022-07-21T17:32:42.126410Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\n\nencode_columns = list(Data.select_dtypes(['object']).columns)\nNew_Data, encoders = label_encode_columns(df=Data, columns=encode_columns)\n\n\nprint('Updates dataframe is : \\n' ,New_Data )\n \ncol=list(New_Data.columns)\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.133950Z","iopub.execute_input":"2022-07-21T17:32:42.134578Z","iopub.status.idle":"2022-07-21T17:32:42.178558Z","shell.execute_reply.started":"2022-07-21T17:32:42.134546Z","shell.execute_reply":"2022-07-21T17:32:42.177592Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"col=New_Data.columns\nimp = SimpleImputer(missing_values=np.NAN, strategy='mean')\nimp = imp.fit(New_Data)\nNew_Data = imp.transform(New_Data)\nNew_Data= np.reshape(New_Data,(len(New_Data),len(New_Data[0])))\nNew_Data = pd.DataFrame(New_Data,columns=col)","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.179636Z","iopub.execute_input":"2022-07-21T17:32:42.179922Z","iopub.status.idle":"2022-07-21T17:32:42.194764Z","shell.execute_reply.started":"2022-07-21T17:32:42.179897Z","shell.execute_reply":"2022-07-21T17:32:42.193741Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"New_Data.info()","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.196412Z","iopub.execute_input":"2022-07-21T17:32:42.197021Z","iopub.status.idle":"2022-07-21T17:32:42.213872Z","shell.execute_reply.started":"2022-07-21T17:32:42.196978Z","shell.execute_reply":"2022-07-21T17:32:42.212425Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Get Correlation Between Target Column And Train Data\n\n## Replace Columns That Has Bad (Small) Correlation With Target as they Made Miss Leading ","metadata":{}},{"cell_type":"code","source":"print('Data Shape = ',New_Data.shape)\nencode_columns = list(New_Data.columns)\nData_coorr=[]\nDrop_col=[]\nfor i in encode_columns:\n    if((New_Data[i].corr(New_Data['SalePrice']) <= 0.07) and (New_Data[i].corr(New_Data['SalePrice'])>= -0.07)):\n        #New_Data.drop(i, axis=1, inplace=True)\n        Drop_col.append(i)\n        print(i)\n    elif((New_Data[i].corr(New_Data['SalePrice']) >= 0.3) or (New_Data[i].corr(Data['SalePrice'])<= -0.3)):\n         Data_coorr.append([New_Data['SalePrice'].corr(New_Data[i]),i])","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.215232Z","iopub.execute_input":"2022-07-21T17:32:42.216209Z","iopub.status.idle":"2022-07-21T17:32:42.278525Z","shell.execute_reply.started":"2022-07-21T17:32:42.216164Z","shell.execute_reply":"2022-07-21T17:32:42.277432Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Using PCA To Make 4 New Columns By Combination Of Bad Correlation Columns\n","metadata":{}},{"cell_type":"code","source":"Drop_col\nD=New_Data\nx=D.loc[:,Drop_col]\n\nmodel = PCA(n_components= 4, svd_solver='full')#it can be full,arpack,randomized\nmodel.fit(x)\n\ndata = model.transform(x)\ndata = pd.DataFrame(data)\n\nNew_Data = pd.concat([New_Data, data], axis=1)\nNew_Data.drop(Drop_col, axis=1, inplace=True)","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.279963Z","iopub.execute_input":"2022-07-21T17:32:42.280687Z","iopub.status.idle":"2022-07-21T17:32:42.333527Z","shell.execute_reply.started":"2022-07-21T17:32:42.280644Z","shell.execute_reply":"2022-07-21T17:32:42.331895Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"New_Data.head()","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.335380Z","iopub.execute_input":"2022-07-21T17:32:42.339866Z","iopub.status.idle":"2022-07-21T17:32:42.421861Z","shell.execute_reply.started":"2022-07-21T17:32:42.339801Z","shell.execute_reply":"2022-07-21T17:32:42.420618Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Spliting Data And Doing Standard Scaler","metadata":{}},{"cell_type":"code","source":"y=New_Data.loc[:,'SalePrice']\nX=New_Data.drop(['SalePrice'], axis=1)\n\n\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.424131Z","iopub.execute_input":"2022-07-21T17:32:42.425592Z","iopub.status.idle":"2022-07-21T17:32:42.436891Z","shell.execute_reply.started":"2022-07-21T17:32:42.425548Z","shell.execute_reply":"2022-07-21T17:32:42.435551Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\nTest_Data = pd.read_csv(r'../input/house-prices-advanced-regression-techniques/test.csv')\n\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.438652Z","iopub.execute_input":"2022-07-21T17:32:42.439073Z","iopub.status.idle":"2022-07-21T17:32:42.468966Z","shell.execute_reply.started":"2022-07-21T17:32:42.439032Z","shell.execute_reply":"2022-07-21T17:32:42.468082Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Nulls = Test_Data.isnull().sum().sort_values(ascending=False)\npercent = (Test_Data.isnull().sum()/Test_Data.isnull().count()).sort_values(ascending=False)\nmissing_data = pd.concat([Nulls, percent], axis=1, keys=['Nulls', 'Percent'])\nprint(missing_data[:40])\nmissing_data=missing_data[missing_data['Nulls']>=100]\nprint(missing_data)\nTest_Data = Test_Data.drop((missing_data).index,1)\n\n#Data = Data.drop(Data.loc[Data['Electrical'].isnull()].index)\n\n\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.470675Z","iopub.execute_input":"2022-07-21T17:32:42.471084Z","iopub.status.idle":"2022-07-21T17:32:42.502032Z","shell.execute_reply.started":"2022-07-21T17:32:42.471043Z","shell.execute_reply":"2022-07-21T17:32:42.500875Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Nuls = Test_Data.isnull().sum().sort_values(ascending=False)\nprint(Nuls[:20])","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.503408Z","iopub.execute_input":"2022-07-21T17:32:42.504326Z","iopub.status.idle":"2022-07-21T17:32:42.517075Z","shell.execute_reply.started":"2022-07-21T17:32:42.504282Z","shell.execute_reply":"2022-07-21T17:32:42.515860Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cools=Test_Data.columns\nencodee_columns = list(Test_Data.select_dtypes(['object']).columns)\nTest_Data, encoderss = label_encode_columns(df=Test_Data, columns=encodee_columns)\n\nimp = SimpleImputer(missing_values=np.NAN, strategy='mean')\nimp = imp.fit(Test_Data)\n\n\nTest_Data = imp.transform(Test_Data)\nTest_Data= np.reshape(Test_Data,(len(Test_Data),len(Test_Data[0])))\n\nTest_Data = pd.DataFrame(Test_Data,columns=cools)\n\nDrop_col\nD=Test_Data\nx=D.loc[:,Drop_col]\n\nmodel = PCA(n_components= 4, svd_solver='full')#it can be full,arpack,randomized\nmodel.fit(x)\n\ndata = model.transform(x)\ndata = pd.DataFrame(data)\n\nTest_Data = pd.concat([Test_Data, data], axis=1)\nTest_Data.drop(Drop_col, axis=1, inplace=True)\n\nNuls = Test_Data.isnull().sum().sort_values(ascending=False)\nprint(Nuls[:20])\n#sc_X = StandardScaler()\n#X_Test = sc_X.fit_transform(Test_Data)\n#X_Test=Test_Data\n#print(X_Test)\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.518582Z","iopub.execute_input":"2022-07-21T17:32:42.519145Z","iopub.status.idle":"2022-07-21T17:32:42.584272Z","shell.execute_reply.started":"2022-07-21T17:32:42.519102Z","shell.execute_reply":"2022-07-21T17:32:42.583166Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.preprocessing import StandardScaler\n\nsc = StandardScaler()\nX = sc.fit_transform(X)\nX_Test = sc.transform(Test_Data)\ny=(y-y.min())/(y.std())","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.585645Z","iopub.execute_input":"2022-07-21T17:32:42.586300Z","iopub.status.idle":"2022-07-21T17:32:42.601099Z","shell.execute_reply.started":"2022-07-21T17:32:42.586257Z","shell.execute_reply":"2022-07-21T17:32:42.599832Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Test_Data = pd.read_csv(r'../input/house-prices-advanced-regression-techniques/sample_submission.csv',skiprows= 0)\nprint(Test_Data)\nVD=Test_Data.iloc[:,1]\n\nprint(VD.shape)\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.606614Z","iopub.execute_input":"2022-07-21T17:32:42.607629Z","iopub.status.idle":"2022-07-21T17:32:42.633318Z","shell.execute_reply.started":"2022-07-21T17:32:42.607585Z","shell.execute_reply":"2022-07-21T17:32:42.632113Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"VD=(VD-VD.min())/(VD.std())","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:32:42.639226Z","iopub.execute_input":"2022-07-21T17:32:42.642335Z","iopub.status.idle":"2022-07-21T17:32:42.652527Z","shell.execute_reply.started":"2022-07-21T17:32:42.642277Z","shell.execute_reply":"2022-07-21T17:32:42.651056Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Modeling","metadata":{}},{"cell_type":"code","source":"from sklearn.linear_model import LinearRegression\nfrom sklearn.svm import SVR\nfrom sklearn.tree import DecisionTreeRegressor\nfrom sklearn.ensemble import RandomForestRegressor\nfrom sklearn.pipeline import Pipeline\nfrom sklearn.linear_model import Ridge\nfrom sklearn.model_selection import GridSearchCV\nfrom sklearn.metrics import mean_squared_error \nfrom sklearn.metrics import accuracy_score","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:33:20.069761Z","iopub.execute_input":"2022-07-21T17:33:20.070216Z","iopub.status.idle":"2022-07-21T17:33:20.076781Z","shell.execute_reply.started":"2022-07-21T17:33:20.070179Z","shell.execute_reply":"2022-07-21T17:33:20.075596Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"DTR = DecisionTreeRegressor(random_state=True)\nDTR.fit(X,y)\nprint('DecisionTreeRegressor')\nprint('score = ',DTR.score(X,y))\nVD_predict2=DTR.predict(X_Test)\nMSEValue = mean_squared_error(VD, VD_predict2, multioutput='uniform_average')\nprint('Mean_squared_error = ',MSEValue)","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:33:20.411170Z","iopub.execute_input":"2022-07-21T17:33:20.412277Z","iopub.status.idle":"2022-07-21T17:33:20.458871Z","shell.execute_reply.started":"2022-07-21T17:33:20.412227Z","shell.execute_reply":"2022-07-21T17:33:20.457581Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\n\nRFR = RandomForestRegressor(random_state=True)\nRFR.fit(X,y)\nprint('RandomForestRegressor')\nprint('score = ',RFR.score(X,y))\nVD_predict1=RFR.predict(X_Test)\nMSEValue = mean_squared_error(VD, VD_predict1, multioutput='uniform_average')\nprint('Mean_squared_error = ',MSEValue)","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:33:21.834997Z","iopub.execute_input":"2022-07-21T17:33:21.835645Z","iopub.status.idle":"2022-07-21T17:33:24.017603Z","shell.execute_reply.started":"2022-07-21T17:33:21.835603Z","shell.execute_reply":"2022-07-21T17:33:24.016471Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"LR = LinearRegression(n_jobs=-1)\nLR.fit(X,y)\n\nprint('LinearRegression')\n\nprint('score = ',LR.score(X,y))\nVD_predict3=DTR.predict(X_Test)\nMSEValue = mean_squared_error(VD, VD_predict3, multioutput='uniform_average')\nprint('Mean_squared_error = ',MSEValue)","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:33:24.019534Z","iopub.execute_input":"2022-07-21T17:33:24.019855Z","iopub.status.idle":"2022-07-21T17:33:24.064979Z","shell.execute_reply.started":"2022-07-21T17:33:24.019827Z","shell.execute_reply":"2022-07-21T17:33:24.063564Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"LR = SVR()\nLR.fit(X,y)\nprint('SVR')\n\nprint('score = ',LR.score(X,y))\nVD_predict4=DTR.predict(X_Test)\nMSEValue = mean_squared_error(VD, VD_predict4, multioutput='uniform_average')\nprint('Mean_squared_error = ',MSEValue)","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:33:24.067810Z","iopub.execute_input":"2022-07-21T17:33:24.068251Z","iopub.status.idle":"2022-07-21T17:33:24.440957Z","shell.execute_reply.started":"2022-07-21T17:33:24.068208Z","shell.execute_reply":"2022-07-21T17:33:24.439925Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.linear_model import LinearRegression\nfrom sklearn.svm import SVR\nfrom sklearn.tree import DecisionTreeRegressor\nfrom sklearn.ensemble import RandomForestRegressor\nfrom sklearn.pipeline import Pipeline\nfrom sklearn.linear_model import Ridge\nfrom sklearn.model_selection import GridSearchCV\nfrom sklearn.metrics import mean_squared_error \nfrom sklearn.metrics import accuracy_score\n\nparams=[{'fit_intercept':(True,False)},\n            {'min_samples_split':[6,8,12],\n             'max_depth':[10,20,30]},\n             {'n_estimators':[100,300,200],\n             'max_depth':[6,10,15]},\n             {'alpha': [0.1,300,10,500,1000,200]},\n    {'kernel':('linear', 'poly'),\n             'C':[100,200,400],\n             'epsilon':[10,100],\n     'gamma':('scale', 'auto')}]\n#kernel{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’\nLR = LinearRegression(copy_X=True)\nSaVR = SVR()\nDTR = DecisionTreeRegressor(random_state=False)\nRFR = RandomForestRegressor(random_state=False)\nRM = Ridge(random_state=False)\n\nmodels=[LR,DTR,RFR,RM,SaVR]\n\nfor model,param in zip(models,params):\n    print('Model is ',model)\n    for i in range (5,15):\n        GridSearchModel = GridSearchCV(model,param, cv = i,return_train_score=True, n_jobs=-1)\n        GridSearchModel.fit(X, y)\n        VD_predict=GridSearchModel.predict(X_Test)\n        print(VD_predict.shape)\n        MSEValue = mean_squared_error(VD, VD_predict, multioutput='uniform_average') \n        \n        sorted(GridSearchModel.cv_results_.keys())\n        #accuracy = accuracy_score(ViD, CVS_prediction, normalize=False)\n        #GridSearchResults = pd.DataFrame(GridSearchModel.cv_results_)[['mean_test_score', 'std_test_score', 'params' , 'rank_test_score' , 'mean_fit_time']]\n        print('CV = ',i)\n# Showing Results\n        #print('All Results are :\\n', GridSearchResults )\n        print('Best Score is :', GridSearchModel.best_score_)\n        print('Best Parameters are :', GridSearchModel.best_params_)\n        print('Mean_squared_error = ',MSEValue)\n        print(VD_predict[:5])\n        #print('Best Estimator is :', GridSearchModel.best_estimator_)\n        print('---------------------------')\n    print('\\t\\t**********************************************************')\n\n","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:33:24.442954Z","iopub.execute_input":"2022-07-21T17:33:24.443270Z","iopub.status.idle":"2022-07-21T17:50:16.163497Z","shell.execute_reply.started":"2022-07-21T17:33:24.443242Z","shell.execute_reply":"2022-07-21T17:50:16.162298Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# We Can Also Use cross_val_score ","metadata":{}},{"cell_type":"code","source":"'''\nfrom sklearn.linear_model import LinearRegression\nfrom sklearn.svm import SVR\nfrom sklearn.tree import DecisionTreeRegressor\nfrom sklearn.ensemble import RandomForestRegressor\nfrom sklearn.model_selection import cross_val_score\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.metrics import mean_squared_error \n\n\n\nLR = LinearRegression()\nSV = SVR(gamma = 'auto')\nDTR = DecisionTreeRegressor()\nRFR = RandomForestRegressor(n_estimators = 100)\n\n\nmodels = [LR , SV , DTR , RFR]\n\nfor m in models:\n    for n in range(2,11):\n        ViD=VD\n        CVS=cross_val_score(m, X, y, cv=n,n_jobs=-1)   \n        print('Score of model ' ,m ,' = ',m.score(X, y))\n        print('result of model : ' , m ,' for cv value ',n,' is ' ,np.mean(CVS) )\n        print('-----------------------------------')\n    \n    print('=====================================')\n    print('=====================================')\n    \n'''","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:50:16.165700Z","iopub.execute_input":"2022-07-21T17:50:16.166021Z","iopub.status.idle":"2022-07-21T17:50:16.175559Z","shell.execute_reply.started":"2022-07-21T17:50:16.165991Z","shell.execute_reply":"2022-07-21T17:50:16.174743Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Test_Data = pd.read_csv(r'../input/house-prices-advanced-regression-techniques/sample_submission.csv',skiprows= 0)\nsub = {'Id': Test_Data.Id, 'SalePrice': VD_predict1}\nbasic_sub = pd.DataFrame(data=sub)\nbasic_sub.to_csv(\"submission.csv\", index=False)","metadata":{"execution":{"iopub.status.busy":"2022-07-21T17:50:36.093310Z","iopub.execute_input":"2022-07-21T17:50:36.093900Z","iopub.status.idle":"2022-07-21T17:50:36.112314Z","shell.execute_reply.started":"2022-07-21T17:50:36.093862Z","shell.execute_reply":"2022-07-21T17:50:36.110842Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\n","metadata":{},"execution_count":null,"outputs":[]}]}