{"cells":[{"metadata":{"trusted":true},"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\nimport os\nprint(os.listdir(\"../input\"))","execution_count":5,"outputs":[{"output_type":"stream","text":"['test', 'train.csv', 'sample_submission.csv']\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"import matplotlib.pyplot as plt\nfrom tqdm import tqdm\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.svm import NuSVR\nfrom sklearn.kernel_ridge import KernelRidge\nfrom sklearn.metrics import mean_absolute_error, make_scorer\nfrom sklearn.model_selection import GridSearchCV","execution_count":6,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train = pd.read_csv('../input/train.csv', dtype={'acoustic_data': np.int16, 'time_to_failure': np.float64})","execution_count":7,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# pandas doesn't show us all the decimals\npd.options.display.precision = 15\n# much better!\ntrain.head()","execution_count":8,"outputs":[{"output_type":"execute_result","execution_count":8,"data":{"text/plain":"   acoustic_data  time_to_failure\n0             12     1.4690999832\n1              6     1.4690999821\n2              8     1.4690999810\n3              5     1.4690999799\n4              8     1.4690999788","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>acoustic_data</th>\n      <th>time_to_failure</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>12</td>\n      <td>1.4690999832</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>6</td>\n      <td>1.4690999821</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>8</td>\n      <td>1.4690999810</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>5</td>\n      <td>1.4690999799</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>8</td>\n      <td>1.4690999788</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.linear_model import LinearRegression\ndef add_trend_feature(arr, abs_values=False):\n    idx = np.array(range(len(arr)))\n    if abs_values:\n        arr = np.abs(arr)\n    lr = LinearRegression()\n    lr.fit(idx.reshape(-1, 1), arr)\n    return lr.coef_[0]\n\nfrom scipy import stats","execution_count":9,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"rows = 150_000\nsegments = int(np.floor(train.shape[0] / rows))\n\nX_train = pd.DataFrame(index=range(segments), dtype=np.float64,\n                       columns=['ave', 'std', 'max', 'min','q95','q99', 'q05','q01',\n                               'abs_max', 'abs_mean', 'abs_std', 'trend', 'abs_trend', 'iqr', \n                                'q999','q001','ave10'])\ny_train = pd.DataFrame(index=range(segments), dtype=np.float64,\n                       columns=['time_to_failure'])\n\nfor segment in tqdm(range(segments)):\n    seg = train.iloc[segment*rows:segment*rows+rows]\n    x = seg['acoustic_data'].values\n    y = seg['time_to_failure'].values[-1]\n    \n    y_train.loc[segment, 'time_to_failure'] = y\n    \n    X_train.loc[segment, 'ave'] = x.mean()\n    X_train.loc[segment, 'std'] = x.std()\n    X_train.loc[segment, 'max'] = x.max()\n    X_train.loc[segment, 'min'] = x.min()\n    X_train.loc[segment, 'q95'] = np.quantile(x,0.95)\n    X_train.loc[segment, 'q99'] = np.quantile(x,0.99)\n    X_train.loc[segment, 'q05'] = np.quantile(x,0.05)\n    X_train.loc[segment, 'q01'] = np.quantile(x,0.01)\n    \n    X_train.loc[segment, 'abs_max'] = np.abs(x).max()\n    X_train.loc[segment, 'abs_mean'] = np.abs(x).mean()\n    X_train.loc[segment, 'abs_std'] = np.abs(x).std()\n    X_train.loc[segment, 'trend'] = add_trend_feature(x)\n    X_train.loc[segment, 'abs_trend'] = add_trend_feature(x, abs_values=True)\n    \n    X_train.loc[segment, 'iqr'] = np.subtract(*np.percentile(x, [75, 25]))\n    X_train.loc[segment, 'q999'] = np.quantile(x,0.999)\n    X_train.loc[segment, 'q001'] = np.quantile(x,0.001)\n    X_train.loc[segment, 'ave10'] = stats.trim_mean(x, 0.1)","execution_count":10,"outputs":[{"output_type":"stream","text":"100%|██████████| 4194/4194 [06:45<00:00, 10.58it/s]\n","name":"stderr"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"X_train.head()","execution_count":11,"outputs":[{"output_type":"execute_result","execution_count":11,"data":{"text/plain":"                 ave        ...                      ave10\n0  4.884113333333334        ...          4.869341666666666\n1  4.725766666666667        ...          4.724200000000000\n2  4.906393333333333        ...          4.894825000000000\n3  4.902240000000000        ...          4.894383333333334\n4  4.908720000000000        ...          4.895833333333333\n\n[5 rows x 17 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>ave</th>\n      <th>std</th>\n      <th>max</th>\n      <th>min</th>\n      <th>q95</th>\n      <th>q99</th>\n      <th>q05</th>\n      <th>q01</th>\n      <th>abs_max</th>\n      <th>abs_mean</th>\n      <th>abs_std</th>\n      <th>trend</th>\n      <th>abs_trend</th>\n      <th>iqr</th>\n      <th>q999</th>\n      <th>q001</th>\n      <th>ave10</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>4.884113333333334</td>\n      <td>5.101089126891323</td>\n      <td>104.0</td>\n      <td>-98.0</td>\n      <td>11.0</td>\n      <td>18.0</td>\n      <td>-2.0</td>\n      <td>-8.0</td>\n      <td>104.0</td>\n      <td>5.576566666666666</td>\n      <td>4.333310229553795</td>\n      <td>-0.000003268299817</td>\n      <td>-0.000011278536937</td>\n      <td>4.0</td>\n      <td>40.00000000000000</td>\n      <td>-30.0</td>\n      <td>4.869341666666666</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>4.725766666666667</td>\n      <td>6.588801819164257</td>\n      <td>181.0</td>\n      <td>-154.0</td>\n      <td>12.0</td>\n      <td>21.0</td>\n      <td>-2.0</td>\n      <td>-11.0</td>\n      <td>181.0</td>\n      <td>5.734166666666667</td>\n      <td>5.732757856292980</td>\n      <td>0.000000909042448</td>\n      <td>-0.000005389409165</td>\n      <td>5.0</td>\n      <td>59.00000000000000</td>\n      <td>-47.0</td>\n      <td>4.724200000000000</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>4.906393333333333</td>\n      <td>6.967373808828945</td>\n      <td>140.0</td>\n      <td>-106.0</td>\n      <td>13.0</td>\n      <td>26.0</td>\n      <td>-3.0</td>\n      <td>-15.0</td>\n      <td>140.0</td>\n      <td>6.152646666666667</td>\n      <td>5.895925061301991</td>\n      <td>0.000003962181680</td>\n      <td>0.000009924271312</td>\n      <td>5.0</td>\n      <td>59.00000000000000</td>\n      <td>-47.0</td>\n      <td>4.894825000000000</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>4.902240000000000</td>\n      <td>6.922282112791032</td>\n      <td>197.0</td>\n      <td>-199.0</td>\n      <td>12.0</td>\n      <td>22.0</td>\n      <td>-2.0</td>\n      <td>-12.0</td>\n      <td>199.0</td>\n      <td>5.933960000000000</td>\n      <td>6.061193396111583</td>\n      <td>0.000001637207225</td>\n      <td>-0.000002255140491</td>\n      <td>5.0</td>\n      <td>60.00099999998929</td>\n      <td>-50.0</td>\n      <td>4.894383333333334</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>4.908720000000000</td>\n      <td>7.301085852684289</td>\n      <td>145.0</td>\n      <td>-126.0</td>\n      <td>12.0</td>\n      <td>26.0</td>\n      <td>-2.0</td>\n      <td>-15.0</td>\n      <td>145.0</td>\n      <td>6.110586666666666</td>\n      <td>6.329464215541647</td>\n      <td>-0.000000666839221</td>\n      <td>0.000004691516491</td>\n      <td>5.0</td>\n      <td>65.00000000000000</td>\n      <td>-56.0</td>\n      <td>4.895833333333333</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"\n\nscaler = StandardScaler()\nscaler.fit(X_train)\nX_train_scaled = scaler.transform(X_train)","execution_count":12,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"scorer = make_scorer(mean_absolute_error, greater_is_better=False)\nparameters = [{ 'gamma': [0.6, 0.7, 0.8],\n               'C': [2.35, 2.4, 2.45, 2.5],\n              'nu': [0.85, 0.9, 0.95]}]\n\nreg1 = GridSearchCV(NuSVR(kernel='rbf', tol=0.01), parameters, cv = 3, scoring=scorer)\nreg1.fit(X_train_scaled, y_train.values.flatten())\ny_pred1 = reg1.predict(X_train_scaled)\n\nprint(reg1.best_params_)\nprint(reg1.best_score_)","execution_count":13,"outputs":[{"output_type":"stream","text":"{'C': 2.35, 'gamma': 0.6, 'nu': 0.85}\n-2.3089424635941582\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"parameters = [{ 'gamma': [0.06, 0.1, 0.08, 0.09], #np.logspace(-2, 2, 5)\n               'alpha': [0.005, 0.01, 0.05]}]\n\nreg2 = GridSearchCV(KernelRidge(kernel='rbf'), parameters, cv = 3, scoring=scorer)\nreg2.fit(X_train_scaled, y_train.values.flatten())\ny_pred2 = reg2.predict(X_train_scaled)\n\nprint(reg2.best_params_)\nprint(reg2.best_score_)","execution_count":14,"outputs":[{"output_type":"stream","text":"{'alpha': 0.05, 'gamma': 0.06}\n-2.2657596625814826\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.tight_layout()\nf = plt.figure(figsize=(12, 6))\nf.add_subplot(1,2, 1)\nplt.scatter(y_train.values.flatten(), y_pred1)\nplt.title('reg1', fontsize=20)\nplt.xlim(0, 20)\nplt.ylim(0, 20)\nplt.xlabel('actual', fontsize=12)\nplt.ylabel('predicted', fontsize=12)\nplt.plot([(0, 0), (20, 20)], [(0, 0), (20, 20)])\nf.add_subplot(1,2, 2)\nplt.scatter(y_train.values.flatten(), y_pred2)\nplt.title('reg2', fontsize=20)\nplt.xlim(0, 20)\nplt.ylim(0, 20)\nplt.xlabel('actual', fontsize=12)\nplt.ylabel('predicted', fontsize=12)\nplt.plot([(0, 0), (20, 20)], [(0, 0), (20, 20)])\nplt.show(block=True)","execution_count":15,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 0 Axes>"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 864x432 with 2 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"score1 = mean_absolute_error(y_train.values.flatten(), y_pred1)\nprint(f'Score1: {score1:0.3f}')\nscore2 = mean_absolute_error(y_train.values.flatten(), y_pred2)\nprint(f'Score2: {score2:0.3f}')\nscore3 = mean_absolute_error(y_train.values.flatten(), y_pred1*0.5+y_pred2*0.5)\nprint(f'Score3: {score3:0.3f}')","execution_count":16,"outputs":[{"output_type":"stream","text":"Score1: 1.861\nScore2: 2.009\nScore3: 1.915\n","name":"stdout"}]},{"metadata":{"trusted":true},"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    x = seg['acoustic_data'].values\n    \n    X_test.loc[seg_id, 'ave'] = x.mean()\n    X_test.loc[seg_id, 'std'] = x.std()\n    X_test.loc[seg_id, 'max'] = x.max()\n    X_test.loc[seg_id, 'min'] = x.min()\n    X_test.loc[seg_id, 'q95'] = np.quantile(x,0.95)\n    X_test.loc[seg_id, 'q99'] = np.quantile(x,0.99)\n    X_test.loc[seg_id, 'q05'] = np.quantile(x,0.05)\n    X_test.loc[seg_id, 'q01'] = np.quantile(x,0.01)\n    \n    X_test.loc[seg_id, 'abs_max'] = np.abs(x).max()\n    X_test.loc[seg_id, 'abs_mean'] = np.abs(x).mean()\n    X_test.loc[seg_id, 'abs_std'] = np.abs(x).std()\n    X_test.loc[seg_id, 'trend'] = add_trend_feature(x)\n    X_test.loc[seg_id, 'abs_trend'] = add_trend_feature(x, abs_values=True)\n    \n    X_test.loc[seg_id, 'iqr'] = np.subtract(*np.percentile(x, [75, 25]))\n    X_test.loc[seg_id, 'q999'] = np.quantile(x,0.999)\n    X_test.loc[seg_id, 'q001'] = np.quantile(x,0.001)\n    X_test.loc[seg_id, 'ave10'] = stats.trim_mean(x, 0.1)","execution_count":18,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"X_test_scaled = scaler.transform(X_test)\nsubmission['time_to_failure'] = reg1.predict(X_test_scaled)*0.5 + reg2.predict(X_test_scaled)*0.5\nsubmission.to_csv('submission.csv')\nprint(os.getcwd())","execution_count":23,"outputs":[{"output_type":"stream","text":"/kaggle/working\n","name":"stdout"}]}],"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}