{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport os\nimport gc\nimport matplotlib.pyplot as plt\nfrom tqdm import tqdm\nfrom sklearn.preprocessing import StandardScaler\nfrom keras.models import Sequential\nfrom keras.layers import Dense","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true},"cell_type":"code","source":"os.listdir('../input/')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"0006281dec0480da67cf5fd7bc40b8fc9f683b36"},"cell_type":"code","source":"train_data = pd.read_csv('../input/train.csv',dtype = {'acoustic_data':np.int16,'time_to_failure':np.float32})","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"a2150a33b630fc4cf493082161af75de287b85b7"},"cell_type":"code","source":"\nrows = 150000\nsegments = int(np.floor(train_data.shape[0] / rows))\n\nX_train = pd.DataFrame(index = range(segments),dtype = np.float32,columns = ['mean','std','99quat','50quat','25quat','1quat'])\ny_train = pd.DataFrame(index = range(segments),dtype = np.float32,columns = ['time_to_failure'])\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"5a5f61042ec21dfe5a9c2f53aa25d768c6c56729"},"cell_type":"code","source":"for segment in tqdm(range(segments)):\n    x = train_data.iloc[segment*rows:segment*rows+rows]\n    y = x['time_to_failure'].values[-1]\n    x = x['acoustic_data'].values\n    X_train.loc[segment,'mean'] = np.mean(x)\n    X_train.loc[segment,'std']  = np.std(x)\n    X_train.loc[segment,'99quat'] = np.quantile(x,0.99)\n    X_train.loc[segment,'50quat'] = np.quantile(x,0.5)\n    X_train.loc[segment,'25quat'] = np.quantile(x,0.25)\n    X_train.loc[segment,'1quat'] =  np.quantile(x,0.01)\n    y_train.loc[segment,'time_to_failure'] = y\n    ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"c758477bbf5d2b880e0ded5415d1fba6bf8767f1"},"cell_type":"code","source":"scaler = StandardScaler()\nX_scaler = scaler.fit_transform(X_train)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"e6d4a810b348285a0592b2f751528e213098b8ae"},"cell_type":"code","source":"gc.collect()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"3b31efd8538fd9f0c91bda87e0d31deac6fa691c"},"cell_type":"code","source":"model = Sequential()\nmodel.add(Dense(32,input_shape = (6,),activation = 'relu'))\nmodel.add(Dense(32,activation = 'relu'))\nmodel.add(Dense(32,activation = 'relu'))\nmodel.add(Dense(1))\nmodel.compile(loss = 'mae',optimizer = 'adam')\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"13153d22f5662b78c0194d735be43dfb904dd253"},"cell_type":"code","source":"model.fit(X_scaler,y_train.values.flatten(),epochs = 50)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"1335e0a9c2996fc34a0d55bbe7018520e15d2507"},"cell_type":"code","source":"sub_data = pd.read_csv('../input/sample_submission.csv',index_col = 'seg_id')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"ec1c042f9382b7323c916aebbccf8f9889713d94"},"cell_type":"code","source":"X_test = pd.DataFrame(columns = X_train.columns,dtype = np.float32,index = sub_data.index)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"38b544fa99e67f8cc92a3d78100bf620436b9104"},"cell_type":"code","source":"for seq in tqdm(X_test.index):\n    test_data = pd.read_csv('../input/test/'+seq+'.csv')\n    x = test_data['acoustic_data'].values\n    X_test.loc[seq,'mean'] = np.mean(x)\n    X_test.loc[seq,'std']  = np.std(x)\n    X_test.loc[seq,'99quat'] = np.quantile(x,0.99)\n    X_test.loc[seq,'50quat'] = np.quantile(x,0.5)\n    X_test.loc[seq,'25quat'] = np.quantile(x,0.25)\n    X_test.loc[seq,'1quat'] =  np.quantile(x,0.01)\n    ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"40b3b44fe311b3de16b8ee0ed8bc77b7c067f831"},"cell_type":"code","source":"X_test_scaler = scaler.transform(X_test)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"5eda215bd339839c4cdadfca500be16b6d0e98a8"},"cell_type":"code","source":"\npred = model.predict(X_test_scaler)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"dea908c4b132570fc934f27d1ac0284e0ea841f6"},"cell_type":"code","source":"sub_data.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"0153e8b5bece9552e6f2ea1af2e207f44e30066f"},"cell_type":"code","source":"sub_data['time_to_failure'] = pred\nsub_data['seg_id'] = sub_data.index","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"116a93b175ff20af5f04048081f12ec945ed4c6d"},"cell_type":"code","source":"sub_data.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"d749f6ee0bde0f7f5c4d097c0b90e252e86e66ca"},"cell_type":"code","source":"sub_data.to_csv('sub_earthquake.csv',index = False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"c6fa537c7e3e843b5d9f115022eb6c88547b93fd"},"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.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}