{"cells":[{"metadata":{"_uuid":"3f33a73d-afe1-407e-8eec-6ff43e1ec56a","_cell_guid":"e8f47db4-ad5e-4311-8876-421dbfdfd5b5","trusted":true},"cell_type":"code","source":"\"\"\" Encoding techniques :\"\"\"\n\"\"\"caution: i didnt uploded Datsets \"\"\"\n# -*- coding: utf-8 -*-\nimport pandas as pd\nimport seaborn as sns\ntrain=pd.read_csv(\"train.csv\")\ntest=pd.read_csv(\"test.csv\")\n#target=train['target']\n#Id_train=train['id']\nId_test=test['id']\nDf=pd.concat([train,test])\n\"\" \"Data Preprocessing \"\"\"                                 \nprint(pd.DataFrame({'percentage null:':train.isnull().sum() / len(train)*100}))\n#Df=pd.DataFrame({'percentage null:':Df.isnull().sum() /len(Df)*100})\n\n\"\"\"****************************************************************************\"\"\"\n\nD_new=Df\n\n\"\"\" Filling nan values\"\"\"\nprint(D_new['bin_3'].isnull().value_counts())\n\"\"\"************************Nan values****************************************************\"\"\"\ndef encode(k):\n    for i in k:\n        D_new[i].fillna(D_new[i].mode().values[0],inplace=True)\nprint(D_new['day'].describe())\nprint(D_new['day'].value_counts())\nprint(D_new['day'].isnull().sum())\nsns.countplot(D_new['day'])\nD_new['day'].fillna(value=3,inplace=True)\nprint(D_new['month'].describe())\nprint(D_new['month'].value_counts())\nprint(D_new['month'].isnull().sum())\n\nsns.countplot(D_new['month'])\nD_new['month'].fillna(value=8,inplace=True)\n\ncol_n=['bin_4','bin_0','bin_1','bin_2','nom_0','nom_2','nom_3','nom_4','nom_5','nom_6','nom_7','nom_8','nom_9','nom_1','bin_3','ord_0','ord_1','ord_2','ord_3','ord_4','ord_5']\nencode(col_n)\n\n\"\"\" ***********************Encoding binary features********************* \"\"\"\n\n\nD_new['bin_3'] = D_new['bin_3'].apply(lambda x: 1 if x=='T' else (0 if x=='F' else None))\nD_new[\"bin_4\"] = D_new[\"bin_4\"].apply(lambda x: 1 if x=='Y' else (0 if x=='N' else None))\n\n\"\"\" ****************ordinal features***************\"\"\"\n\"\"\" Mapping of ordinal features \"\"\"\n\n\nord_2_mapp=dict(zip(Df.ord_2.dropna().unique(),range(len(Df.ord_2.dropna().unique()))))\nord_1_mapp=dict(zip(Df.ord_1.dropna().unique(),range(len(Df.ord_1.dropna().unique()))))\nord_3_mapp=dict(zip(Df.ord_3.dropna().unique(),range(len(Df.ord_3.dropna().unique()))))\nord_4_mapp=dict(zip(Df.ord_4.dropna().unique(),range(len(Df.ord_4.dropna().unique()))))\nord_5_mapp=dict(zip(Df.ord_5.dropna().unique(),range(len(Df.ord_5.dropna().unique()))))\nD_new['ord_1']=D_new['ord_1'].map(ord_1_mapp)\nD_new['ord_2']=D_new['ord_2'].map(ord_2_mapp)\nD_new['ord_3']=D_new['ord_3'].map(ord_3_mapp)\nD_new['ord_4']=D_new['ord_4'].map(ord_4_mapp)\nD_new['ord_5']=D_new['ord_5'].map(ord_5_mapp)\n\n\"\"\"*********************************CONVERTING Time and Date*******************\"\"\"\nimport math\nkeyD=[]\nkeyM=[]\ndef calD(t):\n    value=math.sin(2*math.pi *t/7)\n    return value\nfor i in range(1,8):\n    keyD.append((calD(i)))\nDate_mapp=dict(zip(Df.day.dropna().unique(),keyD))\nD_new['day']=D_new['day'].map(Date_mapp)  \ndef calM(m):\n    val=math.sin(2*math.pi*m/12)\n    return val\n\nfor i in range(1,13):\n    keyM.append((calM(i)))                                                                          \nMon_mapp=dict(zip(Df.month.dropna().unique(),keyM))\nD_new['month']=D_new['month'].map(Mon_mapp)\n\n\"\"\"***************************NOMINAL FEATURES**************************\"\"\"\n\n\ndef freq_encode(col):\n    fe = D_new.groupby(col).size()/len(D_new)\n    D_new.loc[:, \"{}_freq_encode\".format(col)] = D_new[col].map(fe)                                 \n                                       \n\nfreq_encode('nom_0')\nfreq_encode('nom_1')\nfreq_encode('nom_2')\nfreq_encode('nom_3')\nfreq_encode('nom_4')\nfreq_encode('nom_5')\nfreq_encode('nom_6')\nfreq_encode('nom_7')\nfreq_encode('nom_8')\nfreq_encode('nom_9')\n\nD_new = D_new.drop(['nom_0','nom_1','nom_2','nom_3','nom_4','nom_5','nom_6','nom_7','nom_8','nom_9'],axis=1)\n\n\n\n\"\"\"****************thanks you********************\"\"\"","execution_count":0,"outputs":[]}],"metadata":{"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"}},"nbformat":4,"nbformat_minor":4}