{"cells":[{"metadata":{"trusted":true,"_uuid":"9a126a5689138c7d2d459aeae55730a70f8c681d"},"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nimport gc\nfrom sklearn.metrics import mean_absolute_error\nfrom sklearn.svm import SVR","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"6f669b86687238373d29139f7fde38a865faa08f"},"cell_type":"code","source":"def gen_features(X):\n    strain = []\n    strain.append(X.values[0])\n    strain.append(X.values[-1])\n    strain.append(X.mean())\n    strain.append(X.count())\n    strain.append(X.sum())\n    strain.append(X.mad())\n    strain.append(X.std())\n    strain.append(X.median())\n    strain.append(X.min())\n    strain.append(X.max())\n    strain.append(X.kurtosis())\n    strain.append(X.skew())\n    strain.append(X.nunique())\n    strain.append(X.sem())\n    strain.append(np.quantile(X,0.01))\n    strain.append(np.quantile(X,0.05))\n    strain.append(np.quantile(X,0.95))\n    strain.append(np.quantile(X,0.99))\n    strain.append(np.abs(X).max())\n    strain.append(np.abs(X).mean())\n    strain.append(np.abs(X).std())\n    return pd.Series(strain)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"4b0d258116d20883ec302d81560a986df0014f06"},"cell_type":"code","source":"train = pd.read_csv(\"../input/train.csv\", iterator=True, chunksize=150_000, dtype={'acoustic_data': np.int16, 'time_to_failure': np.float64})\nx_train = pd.DataFrame()\ny_train = pd.Series()\nfor df in train:\n    ch = gen_features(df['acoustic_data'])\n    x_train = x_train.append(ch, ignore_index=True)\n    y_train = y_train.append(pd.Series(df['time_to_failure'].values[-1]))\n    \ndel train\ngc.collect()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"4fb2b6fdbb915a35af6dea543ae070626f6b07de"},"cell_type":"code","source":"m = SVR()\nm.fit(x_train,y_train) \nmean_absolute_error(y_train,m.predict(x_train))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"8e47fb3095351463a726cda0097b3deb24161d5e"},"cell_type":"code","source":"submission = pd.read_csv('../input/sample_submission.csv', index_col='seg_id')\nx_test = pd.DataFrame(columns=x_train.columns, dtype=np.float64, index=submission.index)\nfor seg_id in x_test.index:\n    seg = pd.read_csv('../input/test/' + seg_id + '.csv')\n    \n    ch = gen_features(seg['acoustic_data'])\n    x_test.loc[seg_id]= ch    \n    \nsubmission['time_to_failure'] = m.predict(x_test)\nsubmission.to_csv('submission.csv')","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}