{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load in \n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the \"../input/\" directory.\n# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory\n\nimport os\nprint(os.listdir(\"../input\"))\n\n# Any results you write to the current directory are saved as output.","execution_count":2,"outputs":[{"output_type":"stream","text":"['test_numeric.csv', 'train_categorical.csv', 'sample_submission.csv', 'train_numeric.csv', 'train_date.csv', 'test_date.csv', 'test_categorical.csv']\n","name":"stdout"}]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true},"cell_type":"code","source":"#read the partial data from files\n#loading only part of the data\ntrain_num=pd.read_csv(\"../input/train_numeric.csv\",nrows=100000)\nprint(train_num.shape)\ntrain_num.head()","execution_count":6,"outputs":[{"output_type":"stream","text":"(100000, 970)\n","name":"stdout"},{"output_type":"execute_result","execution_count":6,"data":{"text/plain":"   Id  L0_S0_F0  L0_S0_F2    ...     L3_S51_F4260  L3_S51_F4262  Response\n0   4     0.030    -0.034    ...              NaN           NaN         0\n1   6       NaN       NaN    ...              NaN           NaN         0\n2   7     0.088     0.086    ...              NaN           NaN         0\n3   9    -0.036    -0.064    ...              NaN           NaN         0\n4  11    -0.055    -0.086    ...              NaN           NaN         0\n\n[5 rows x 970 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Id</th>\n      <th>L0_S0_F0</th>\n      <th>L0_S0_F2</th>\n      <th>L0_S0_F4</th>\n      <th>L0_S0_F6</th>\n      <th>L0_S0_F8</th>\n      <th>L0_S0_F10</th>\n      <th>L0_S0_F12</th>\n      <th>L0_S0_F14</th>\n      <th>L0_S0_F16</th>\n      <th>L0_S0_F18</th>\n      <th>L0_S0_F20</th>\n      <th>L0_S0_F22</th>\n      <th>L0_S1_F24</th>\n      <th>L0_S1_F28</th>\n      <th>L0_S2_F32</th>\n      <th>L0_S2_F36</th>\n      <th>L0_S2_F40</th>\n      <th>L0_S2_F44</th>\n      <th>L0_S2_F48</th>\n      <th>L0_S2_F52</th>\n      <th>L0_S2_F56</th>\n      <th>L0_S2_F60</th>\n      <th>L0_S2_F64</th>\n      <th>L0_S3_F68</th>\n      <th>L0_S3_F72</th>\n      <th>L0_S3_F76</th>\n      <th>L0_S3_F80</th>\n      <th>L0_S3_F84</th>\n      <th>L0_S3_F88</th>\n      <th>L0_S3_F92</th>\n      <th>L0_S3_F96</th>\n      <th>L0_S3_F100</th>\n      <th>L0_S4_F104</th>\n      <th>L0_S4_F109</th>\n      <th>L0_S5_F114</th>\n      <th>L0_S5_F116</th>\n      <th>L0_S6_F118</th>\n      <th>L0_S6_F122</th>\n      <th>L0_S6_F132</th>\n      <th>...</th>\n      <th>L3_S45_F4126</th>\n      <th>L3_S45_F4128</th>\n      <th>L3_S45_F4130</th>\n      <th>L3_S45_F4132</th>\n      <th>L3_S47_F4138</th>\n      <th>L3_S47_F4143</th>\n      <th>L3_S47_F4148</th>\n      <th>L3_S47_F4153</th>\n      <th>L3_S47_F4158</th>\n      <th>L3_S47_F4163</th>\n      <th>L3_S47_F4168</th>\n      <th>L3_S47_F4173</th>\n      <th>L3_S47_F4178</th>\n      <th>L3_S47_F4183</th>\n      <th>L3_S47_F4188</th>\n      <th>L3_S48_F4193</th>\n      <th>L3_S48_F4196</th>\n      <th>L3_S48_F4198</th>\n      <th>L3_S48_F4200</th>\n      <th>L3_S48_F4202</th>\n      <th>L3_S48_F4204</th>\n      <th>L3_S49_F4206</th>\n      <th>L3_S49_F4211</th>\n      <th>L3_S49_F4216</th>\n      <th>L3_S49_F4221</th>\n      <th>L3_S49_F4226</th>\n      <th>L3_S49_F4231</th>\n      <th>L3_S49_F4236</th>\n      <th>L3_S50_F4241</th>\n      <th>L3_S50_F4243</th>\n      <th>L3_S50_F4245</th>\n      <th>L3_S50_F4247</th>\n      <th>L3_S50_F4249</th>\n      <th>L3_S50_F4251</th>\n      <th>L3_S50_F4253</th>\n      <th>L3_S51_F4256</th>\n      <th>L3_S51_F4258</th>\n      <th>L3_S51_F4260</th>\n      <th>L3_S51_F4262</th>\n      <th>Response</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>4</td>\n      <td>0.030</td>\n      <td>-0.034</td>\n      <td>-0.197</td>\n      <td>-0.179</td>\n      <td>0.118</td>\n      <td>0.116</td>\n      <td>-0.015</td>\n      <td>-0.032</td>\n      <td>0.020</td>\n      <td>0.083</td>\n      <td>-0.273</td>\n      <td>-0.273</td>\n      <td>-0.271</td>\n      <td>0.167</td>\n      <td>-0.213</td>\n      <td>-0.023</td>\n      <td>-0.192</td>\n      <td>-0.088</td>\n      <td>0.001</td>\n      <td>0.0</td>\n      <td>0.01</td>\n      <td>-0.223</td>\n      <td>-0.030</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.001</td>\n      <td>-0.004</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>...</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>6</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>...</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>7</td>\n      <td>0.088</td>\n      <td>0.086</td>\n      <td>0.003</td>\n      <td>-0.052</td>\n      <td>0.161</td>\n      <td>0.025</td>\n      <td>-0.015</td>\n      <td>-0.072</td>\n      <td>-0.225</td>\n      <td>-0.147</td>\n      <td>0.250</td>\n      <td>0.250</td>\n      <td>0.057</td>\n      <td>-0.079</td>\n      <td>-0.013</td>\n      <td>0.011</td>\n      <td>0.008</td>\n      <td>-0.060</td>\n      <td>-0.005</td>\n      <td>0.0</td>\n      <td>0.01</td>\n      <td>-0.223</td>\n      <td>-0.077</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.073</td>\n      <td>0.138</td>\n      <td>-0.336</td>\n      <td>0.506</td>\n      <td>-0.13</td>\n      <td>...</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>9</td>\n      <td>-0.036</td>\n      <td>-0.064</td>\n      <td>0.294</td>\n      <td>0.330</td>\n      <td>0.074</td>\n      <td>0.161</td>\n      <td>0.022</td>\n      <td>0.128</td>\n      <td>-0.026</td>\n      <td>-0.046</td>\n      <td>-0.253</td>\n      <td>-0.253</td>\n      <td>0.147</td>\n      <td>-0.007</td>\n      <td>-0.013</td>\n      <td>0.120</td>\n      <td>0.008</td>\n      <td>-0.231</td>\n      <td>0.005</td>\n      <td>0.0</td>\n      <td>0.01</td>\n      <td>0.050</td>\n      <td>0.056</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>-0.038</td>\n      <td>-0.001</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>...</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>11</td>\n      <td>-0.055</td>\n      <td>-0.086</td>\n      <td>0.294</td>\n      <td>0.330</td>\n      <td>0.118</td>\n      <td>0.025</td>\n      <td>0.030</td>\n      <td>0.168</td>\n      <td>-0.169</td>\n      <td>-0.099</td>\n      <td>0.042</td>\n      <td>0.042</td>\n      <td>-0.012</td>\n      <td>-0.046</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0.009</td>\n      <td>-0.272</td>\n      <td>-0.051</td>\n      <td>0.037</td>\n      <td>0.004</td>\n      <td>0.0</td>\n      <td>-0.081</td>\n      <td>0.311</td>\n      <td>0.003</td>\n      <td>0.021</td>\n      <td>0.015</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>...</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_num=train_num.dropna(axis=1,thresh = int(len(train_data_num)*0.3)) #drop if a feature has NaN more than %\ntrain_num = train_num.fillna(0) #Kepping it simple by filling NaN with 0\nprint(train_num.shape)\ntrain_num.head() #features reduced","execution_count":14,"outputs":[{"output_type":"stream","text":"(100000, 174)\n","name":"stdout"},{"output_type":"execute_result","execution_count":14,"data":{"text/plain":"   Id  L0_S0_F0  L0_S0_F2    ...     L3_S37_F3948  L3_S37_F3950  Response\n0   4     0.030    -0.034    ...              0.0           0.0         0\n1   6     0.000     0.000    ...              0.0           0.0         0\n2   7     0.088     0.086    ...              0.0           0.0         0\n3   9    -0.036    -0.064    ...              0.0           0.0         0\n4  11    -0.055    -0.086    ...              0.0           0.0         0\n\n[5 rows x 174 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Id</th>\n      <th>L0_S0_F0</th>\n      <th>L0_S0_F2</th>\n      <th>L0_S0_F4</th>\n      <th>L0_S0_F6</th>\n      <th>L0_S0_F8</th>\n      <th>L0_S0_F10</th>\n      <th>L0_S0_F12</th>\n      <th>L0_S0_F14</th>\n      <th>L0_S0_F16</th>\n      <th>L0_S0_F18</th>\n      <th>L0_S0_F20</th>\n      <th>L0_S0_F22</th>\n      <th>L0_S1_F24</th>\n      <th>L0_S1_F28</th>\n      <th>L0_S8_F144</th>\n      <th>L0_S8_F146</th>\n      <th>L0_S8_F149</th>\n      <th>L3_S29_F3315</th>\n      <th>L3_S29_F3318</th>\n      <th>L3_S29_F3321</th>\n      <th>L3_S29_F3324</th>\n      <th>L3_S29_F3327</th>\n      <th>L3_S29_F3330</th>\n      <th>L3_S29_F3333</th>\n      <th>L3_S29_F3336</th>\n      <th>L3_S29_F3339</th>\n      <th>L3_S29_F3342</th>\n      <th>L3_S29_F3345</th>\n      <th>L3_S29_F3348</th>\n      <th>L3_S29_F3351</th>\n      <th>L3_S29_F3354</th>\n      <th>L3_S29_F3357</th>\n      <th>L3_S29_F3360</th>\n      <th>L3_S29_F3367</th>\n      <th>L3_S29_F3370</th>\n      <th>L3_S29_F3373</th>\n      <th>L3_S29_F3376</th>\n      <th>L3_S29_F3379</th>\n      <th>L3_S29_F3382</th>\n      <th>...</th>\n      <th>L3_S30_F3809</th>\n      <th>L3_S30_F3814</th>\n      <th>L3_S30_F3819</th>\n      <th>L3_S30_F3824</th>\n      <th>L3_S30_F3829</th>\n      <th>L3_S33_F3855</th>\n      <th>L3_S33_F3857</th>\n      <th>L3_S33_F3859</th>\n      <th>L3_S33_F3861</th>\n      <th>L3_S33_F3863</th>\n      <th>L3_S33_F3865</th>\n      <th>L3_S33_F3867</th>\n      <th>L3_S33_F3869</th>\n      <th>L3_S33_F3871</th>\n      <th>L3_S33_F3873</th>\n      <th>L3_S34_F3876</th>\n      <th>L3_S34_F3878</th>\n      <th>L3_S34_F3880</th>\n      <th>L3_S34_F3882</th>\n      <th>L3_S35_F3884</th>\n      <th>L3_S35_F3889</th>\n      <th>L3_S35_F3894</th>\n      <th>L3_S35_F3896</th>\n      <th>L3_S35_F3898</th>\n      <th>L3_S35_F3903</th>\n      <th>L3_S35_F3908</th>\n      <th>L3_S35_F3913</th>\n      <th>L3_S36_F3918</th>\n      <th>L3_S36_F3920</th>\n      <th>L3_S36_F3922</th>\n      <th>L3_S36_F3924</th>\n      <th>L3_S36_F3926</th>\n      <th>L3_S36_F3930</th>\n      <th>L3_S36_F3934</th>\n      <th>L3_S36_F3938</th>\n      <th>L3_S37_F3944</th>\n      <th>L3_S37_F3946</th>\n      <th>L3_S37_F3948</th>\n      <th>L3_S37_F3950</th>\n      <th>Response</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>4</td>\n      <td>0.030</td>\n      <td>-0.034</td>\n      <td>-0.197</td>\n      <td>-0.179</td>\n      <td>0.118</td>\n      <td>0.116</td>\n      <td>-0.015</td>\n      <td>-0.032</td>\n      <td>0.020</td>\n      <td>0.083</td>\n      <td>-0.273</td>\n      <td>-0.273</td>\n      <td>-0.271</td>\n      <td>0.167</td>\n      <td>-0.157</td>\n      <td>0.0</td>\n      <td>0.001</td>\n      <td>0.030</td>\n      <td>-0.047</td>\n      <td>-0.119</td>\n      <td>0.040</td>\n      <td>-0.067</td>\n      <td>-0.058</td>\n      <td>0.044</td>\n      <td>0.044</td>\n      <td>0.010</td>\n      <td>0.041</td>\n      <td>-0.072</td>\n      <td>-0.024</td>\n      <td>-0.026</td>\n      <td>-0.257</td>\n      <td>0.250</td>\n      <td>0.218</td>\n      <td>0.040</td>\n      <td>0.044</td>\n      <td>0.090</td>\n      <td>0.036</td>\n      <td>-0.117</td>\n      <td>0.054</td>\n      <td>...</td>\n      <td>-0.060</td>\n      <td>0.013</td>\n      <td>-0.027</td>\n      <td>0.013</td>\n      <td>0.005</td>\n      <td>-0.119</td>\n      <td>-0.102</td>\n      <td>-0.048</td>\n      <td>-0.119</td>\n      <td>-0.119</td>\n      <td>0.026</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>-0.009</td>\n      <td>-0.082</td>\n      <td>-0.022</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>6</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.0</td>\n      <td>0.000</td>\n      <td>-0.084</td>\n      <td>-0.030</td>\n      <td>-0.127</td>\n      <td>-0.174</td>\n      <td>0.145</td>\n      <td>0.152</td>\n      <td>-0.006</td>\n      <td>-0.059</td>\n      <td>-0.064</td>\n      <td>-0.031</td>\n      <td>0.023</td>\n      <td>-0.010</td>\n      <td>0.113</td>\n      <td>0.238</td>\n      <td>-0.050</td>\n      <td>0.218</td>\n      <td>-0.174</td>\n      <td>-0.059</td>\n      <td>0.085</td>\n      <td>-0.015</td>\n      <td>-0.244</td>\n      <td>-0.050</td>\n      <td>...</td>\n      <td>-0.041</td>\n      <td>0.013</td>\n      <td>-0.019</td>\n      <td>0.013</td>\n      <td>-0.049</td>\n      <td>-0.029</td>\n      <td>-0.026</td>\n      <td>-0.210</td>\n      <td>-0.029</td>\n      <td>-0.029</td>\n      <td>-0.047</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>-0.011</td>\n      <td>0.030</td>\n      <td>-0.028</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>7</td>\n      <td>0.088</td>\n      <td>0.086</td>\n      <td>0.003</td>\n      <td>-0.052</td>\n      <td>0.161</td>\n      <td>0.025</td>\n      <td>-0.015</td>\n      <td>-0.072</td>\n      <td>-0.225</td>\n      <td>-0.147</td>\n      <td>0.250</td>\n      <td>0.250</td>\n      <td>0.057</td>\n      <td>-0.079</td>\n      <td>-0.157</td>\n      <td>0.0</td>\n      <td>0.001</td>\n      <td>0.049</td>\n      <td>-0.030</td>\n      <td>-0.099</td>\n      <td>0.070</td>\n      <td>0.014</td>\n      <td>0.004</td>\n      <td>0.006</td>\n      <td>0.064</td>\n      <td>0.040</td>\n      <td>-0.005</td>\n      <td>-0.129</td>\n      <td>-0.138</td>\n      <td>0.101</td>\n      <td>0.238</td>\n      <td>-0.017</td>\n      <td>-0.115</td>\n      <td>0.070</td>\n      <td>0.064</td>\n      <td>-0.223</td>\n      <td>0.023</td>\n      <td>0.223</td>\n      <td>0.047</td>\n      <td>...</td>\n      <td>0.115</td>\n      <td>0.013</td>\n      <td>0.051</td>\n      <td>0.013</td>\n      <td>-0.069</td>\n      <td>0.199</td>\n      <td>0.191</td>\n      <td>0.236</td>\n      <td>0.199</td>\n      <td>0.199</td>\n      <td>0.108</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>-0.036</td>\n      <td>0.030</td>\n      <td>-0.091</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>9</td>\n      <td>-0.036</td>\n      <td>-0.064</td>\n      <td>0.294</td>\n      <td>0.330</td>\n      <td>0.074</td>\n      <td>0.161</td>\n      <td>0.022</td>\n      <td>0.128</td>\n      <td>-0.026</td>\n      <td>-0.046</td>\n      <td>-0.253</td>\n      <td>-0.253</td>\n      <td>0.147</td>\n      <td>-0.007</td>\n      <td>0.343</td>\n      <td>0.0</td>\n      <td>0.001</td>\n      <td>-0.084</td>\n      <td>-0.139</td>\n      <td>-0.039</td>\n      <td>-0.207</td>\n      <td>0.024</td>\n      <td>0.025</td>\n      <td>0.038</td>\n      <td>-0.033</td>\n      <td>0.014</td>\n      <td>0.020</td>\n      <td>-0.066</td>\n      <td>-0.038</td>\n      <td>0.078</td>\n      <td>-0.099</td>\n      <td>-0.017</td>\n      <td>0.218</td>\n      <td>-0.207</td>\n      <td>-0.033</td>\n      <td>0.137</td>\n      <td>0.030</td>\n      <td>-0.263</td>\n      <td>-0.024</td>\n      <td>...</td>\n      <td>0.057</td>\n      <td>0.013</td>\n      <td>0.025</td>\n      <td>0.013</td>\n      <td>-0.014</td>\n      <td>0.017</td>\n      <td>0.031</td>\n      <td>0.165</td>\n      <td>0.017</td>\n      <td>0.017</td>\n      <td>0.035</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>-0.192</td>\n      <td>-0.030</td>\n      <td>-0.192</td>\n      <td>-0.030</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>11</td>\n      <td>-0.055</td>\n      <td>-0.086</td>\n      <td>0.294</td>\n      <td>0.330</td>\n      <td>0.118</td>\n      <td>0.025</td>\n      <td>0.030</td>\n      <td>0.168</td>\n      <td>-0.169</td>\n      <td>-0.099</td>\n      <td>0.042</td>\n      <td>0.042</td>\n      <td>-0.012</td>\n      <td>-0.046</td>\n      <td>-0.157</td>\n      <td>0.0</td>\n      <td>0.001</td>\n      <td>-0.147</td>\n      <td>-0.082</td>\n      <td>-0.091</td>\n      <td>-0.137</td>\n      <td>-0.049</td>\n      <td>-0.063</td>\n      <td>-0.163</td>\n      <td>-0.111</td>\n      <td>0.053</td>\n      <td>0.033</td>\n      <td>0.127</td>\n      <td>0.089</td>\n      <td>-0.167</td>\n      <td>-0.257</td>\n      <td>-0.050</td>\n      <td>0.218</td>\n      <td>-0.137</td>\n      <td>-0.111</td>\n      <td>-0.347</td>\n      <td>-0.149</td>\n      <td>0.099</td>\n      <td>-0.128</td>\n      <td>...</td>\n      <td>0.004</td>\n      <td>0.013</td>\n      <td>0.001</td>\n      <td>0.013</td>\n      <td>-0.056</td>\n      <td>-0.074</td>\n      <td>-0.049</td>\n      <td>0.147</td>\n      <td>-0.074</td>\n      <td>-0.074</td>\n      <td>-0.006</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.000</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>-0.092</td>\n      <td>0.083</td>\n      <td>-0.092</td>\n      <td>0.083</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Check if data is imabalanced\npd.value_counts(train_num[\"Response\"].values, sort=False) #Highly unbalance dataset","execution_count":15,"outputs":[{"output_type":"execute_result","execution_count":15,"data":{"text/plain":"0    99432\n1      568\ndtype: int64"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"print('Proportion:', round(99432/ 568, 2), ': 1')","execution_count":16,"outputs":[{"output_type":"stream","text":"Proportion: 175.06 : 1\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"#A visual of unbalanced data\ntrain_num[\"Response\"].value_counts().plot(kind='bar', title='Count (target)');","execution_count":9,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Re-sampling data\n\n# Divide by class\ndf_class_0 = train_num[train_num[\"Response\"] == 0]\ndf_class_1 = train_num[train_num[\"Response\"] == 1]","execution_count":17,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#undersampling\ndf_class_0_under = df_class_0.sample(40000)\n\n#oversampling\ndf_class_1_over = df_class_1.sample(60000,replace=True)\n\ndf_test = pd.concat([df_class_0_under, df_class_1_over], axis=0)\n\nprint('Random under-sampling:')\nprint(df_test[\"Response\"].value_counts())\n\ndf_test[\"Response\"].value_counts().plot(kind='bar', title='Count (target)');\n","execution_count":26,"outputs":[{"output_type":"stream","text":"Random under-sampling:\n1    60000\n0    40000\nName: Response, dtype: int64\n","name":"stdout"},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Remove ID and Response\n\nX=df_test\ny=df_test[\"Response\"]\nX=X.iloc[:,1:-1] #remove I and Response\nprint(X.head(),y.head())","execution_count":27,"outputs":[{"output_type":"stream","text":"       L0_S0_F0  L0_S0_F2      ...       L3_S37_F3948  L3_S37_F3950\n54094     0.000     0.000      ...                0.0           0.0\n61026    -0.095    -0.071      ...                0.0           0.0\n90468     0.069     0.145      ...                0.0           0.0\n53255    -0.140    -0.131      ...                0.0           0.0\n71442     0.056     0.086      ...                0.0           0.0\n\n[5 rows x 172 columns] 54094    0\n61026    0\n90468    0\n53255    0\n71442    0\nName: Response, dtype: int64\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Import `RandomForestClassifier`\n#Feature Selection\nfrom sklearn.ensemble import RandomForestClassifier\nimport matplotlib.pyplot as plt\n%matplotlib inline\nnames = X.columns.values\n# Build the model\nrfc = RandomForestClassifier(random_state=0)\n# Fit the model\nrfc.fit(X, y)\n","execution_count":28,"outputs":[{"output_type":"stream","text":"/opt/conda/lib/python3.6/site-packages/sklearn/ensemble/forest.py:246: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n","name":"stderr"},{"output_type":"execute_result","execution_count":28,"data":{"text/plain":"RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n            max_depth=None, max_features='auto', max_leaf_nodes=None,\n            min_impurity_decrease=0.0, min_impurity_split=None,\n            min_samples_leaf=1, min_samples_split=2,\n            min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=None,\n            oob_score=False, random_state=0, verbose=0, warm_start=False)"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.feature_selection import SelectFromModel\nimportances = rfc.feature_importances_\nindices = np.argsort(importances)\n\n\nplt.figure(1)\nplt.title('Feature Importances')\nplt.barh(range(len(indices)), importances[indices])\nplt.xlabel('Relative Importance')\n\nsfm = SelectFromModel(rfc, threshold=0.01)\nsfm.fit(X,y)","execution_count":29,"outputs":[{"output_type":"execute_result","execution_count":29,"data":{"text/plain":"SelectFromModel(estimator=RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n            max_depth=None, max_features='auto', max_leaf_nodes=None,\n            min_impurity_decrease=0.0, min_impurity_split=None,\n            min_samples_leaf=1, min_samples_split=2,\n            min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=None,\n            oob_score=False, random_state=0, verbose=0, warm_start=False),\n        max_features=None, norm_order=1, prefit=False, threshold=0.01)"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"names = X.columns.values\nRF_col = []\nfor feature_list_index in sfm.get_support(indices=True): \n    #print(names[feature_list_index])\n    RF_col.append(names[feature_list_index])\nprint('\\n Columns chosen using Random Forest:\\n',RF_col)\n\n","execution_count":30,"outputs":[{"output_type":"stream","text":"\n Columns chosen using Random Forest:\n ['L0_S0_F0', 'L0_S0_F2', 'L0_S0_F18', 'L0_S0_F20', 'L0_S0_F22', 'L0_S1_F24', 'L0_S1_F28', 'L3_S29_F3336', 'L3_S29_F3351', 'L3_S29_F3367', 'L3_S29_F3373', 'L3_S29_F3379', 'L3_S29_F3430', 'L3_S29_F3458', 'L3_S29_F3479', 'L3_S30_F3519', 'L3_S30_F3629', 'L3_S30_F3709', 'L3_S30_F3744', 'L3_S30_F3749', 'L3_S30_F3754', 'L3_S30_F3759', 'L3_S30_F3769', 'L3_S30_F3809', 'L3_S33_F3857', 'L3_S33_F3859', 'L3_S33_F3861', 'L3_S33_F3865', 'L3_S36_F3920']\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"X=X[RF_col]\nprint('\\n Shape of data after choosing important features:',X.shape)","execution_count":31,"outputs":[{"output_type":"stream","text":"\n Shape of data after choosing important features: (100000, 29)\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.model_selection import train_test_split\nX_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.3, random_state=42)","execution_count":32,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#logistic Regression\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn import metrics\nlr = LogisticRegression(penalty='l2',random_state=42, solver='saga')\nlr.fit(X_train,y_train)\nprint('Logistic regression,with features extracted by RF')\nprint('Score for training data:',lr.score(X_train,y_train))\ny_val_pred=lr.predict(X_val)\nprint('Score for validation data:',lr.score(X_val,y_val))","execution_count":33,"outputs":[{"output_type":"stream","text":"Logistic regression,with features extracted by RF\nScore for training data: 0.6288\nScore for validation data: 0.6275666666666667\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.metrics import confusion_matrix\nconfusion_matrix = confusion_matrix(y_val, y_val_pred)\nprint(confusion_matrix)","execution_count":34,"outputs":[{"output_type":"stream","text":"[[ 2475  9563]\n [ 1610 16352]]\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.metrics import classification_report\nprint(classification_report(y_val, y_val_pred))","execution_count":35,"outputs":[{"output_type":"stream","text":"              precision    recall  f1-score   support\n\n           0       0.61      0.21      0.31     12038\n           1       0.63      0.91      0.75     17962\n\n   micro avg       0.63      0.63      0.63     30000\n   macro avg       0.62      0.56      0.53     30000\nweighted avg       0.62      0.63      0.57     30000\n\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.metrics import roc_auc_score\nfrom sklearn.metrics import roc_curve\nlogit_roc_auc = roc_auc_score(y_val, lr.predict(X_val))\nfpr, tpr, thresholds = roc_curve(y_val, lr.predict_proba(X_val)[:,1])\nplt.figure()\nplt.plot(fpr, tpr, label='Logistic Regression (area = %0.2f)' % logit_roc_auc)\nplt.plot([0, 1], [0, 1],'r--')\nplt.xlim([0.0, 1.0])\nplt.ylim([0.0, 1.05])\nplt.xlabel('False Positive Rate')\nplt.ylabel('True Positive Rate')\nplt.title('Receiver operating characteristic')\nplt.legend(loc=\"lower right\")\nplt.savefig('Log_ROC')\nplt.show()","execution_count":36,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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33//zZ49e/j888+ZMmUKcXFxNG3alPfffx9/f3+eeeYZNmzYwMWLF7n//vsZM2ZMqv8eXC1ZsoR27dpRqFAhANq1a8fixYt55JFH3Dp+6dKl1KlTh7p16wJQuHBh57a7776bli1b8sorr9xUjO7IdEVPUbEJNH1jBdFxiQB82KNhygcYA3Pn2gH8pk2Dfv2gYsV0iFRlFgMGDKBXr15s3bqV7t27M9DxBWPQoEEMGjSIbdu2UeYanTA//PBDBg0aREhICBs3bqRMmTK8+eabVKxYkZCQECZMmHDZ/jNmzODQoUOEhIQ4r5eSxYsXc8899wC2H8qAAQOYN28emzZtonfv3s4PmSeeeILp06cTEhKCv7//ZefYvHkz8+bNY9WqVSxdupS9e/eyfv16QkJC2LRpE6tXr2bx4sWUKlWKLVu2sH37djp06EBYWBjfffcdO3bsYOvWrYwYMeKq+B577DHeeusttm7dSu3atS/7YE5ISGD9+vVMmjQp2Q/sgwcPUrBgQXLkyAFAsWLFWLZsGZs3b+brr792/h4uvYbJkyezZ88edu3axddff83vv//ufL1ffPEFAOPGjWPjxo1s3bqVVatWsXXr1quuO2HCBGcRketjYDJfLI8ePUrZsmWdy2XKlLkscbuaOnUqderUoXfv3s4ipT179iAitG/fngYNGvD222879y9YsCCxsbGEhYUle760lKnuKI6cjabl278CkC8wG5tGtkt53mtjoFs3O5FQgwawYAE0apRO0aqbcSPf/D1l7dq1fPvttwD07NmTF1980bn++++/B+DRRx9lyJAhVx3bvHlzxo0bR2hoKN26daPydeYpWb58Of369SObYwyxS99UrzR06FBefvllQkNDWbt2LQC7d+9m+/bttGvXDoDExERKlixJeHg4kZGRNG/e3BnrwoULnedy/Ua8dOlSli5dSv369QGIiopi7969tGzZkhdeeIFhw4bRuXNnWrZsSUJCAoGBgfTp04fOnTtfVZcQERFBeHg4tznq/nr16sUDDzzg3N6tWzcAGjZsyKFDh656jcePH6do0aLO5fj4ePr37+/88N+z59+BP5s0aeLsV7BixQo2bdpE48aNAbh48SLFihUDYO7cucyYMYOEhASOHz/Ozp07qVOnzlXv7dChQ5N932/UM888w8iRIxERRo4cyQsvvMDMmTNJSEhg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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_num=pd.read_csv(\"../input/test_numeric.csv\",nrows=100000)\nX_test=test_num.iloc[:,1:] #remove Id and Response\nX_test= X_test.fillna(0) #Kepping it simple by filling NaN with 0\nX_test=X_test[RF_col]\nX_test.head()\n\n\nprediction=lr.predict(X_test)\n\n","execution_count":37,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"my_submission = pd.DataFrame({'Id': test_num.Id, 'Pass/Fail': prediction})\nmy_submission.to_csv('submission.csv', index=False)","execution_count":45,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.4","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}