{"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 glob\n\ntrain = pd.read_csv('../input/train.csv', iterator=True, chunksize=150_000, dtype={'acoustic_data': np.int16, 'time_to_failure': np.float64})\nstrain = []\nfor df in train:\n    if len(df)==150_000:\n        fullmean = df['acoustic_data'].mean()\n        fullstd = df['acoustic_data'].std()\n        fullmax = df['acoustic_data'].max()\n        fullmin = df['acoustic_data'].min()\n        lastmean = df['acoustic_data'][140_000:].mean()\n        laststd = df['acoustic_data'][140_000:].std()\n        lastmax = df['acoustic_data'][140_000:].max()\n        lastmin = df['acoustic_data'][140_000:].min()\n        lastTTF = df['time_to_failure'].values[-1]\n        strain.append([fullmean, fullstd, fullmax, fullmin, lastmean, laststd, lastmax, lastmin, lastTTF])\n\nstrain = pd.DataFrame(strain, columns=['fullmean', 'fullstd', 'fullmax', 'fullmin', 'lastmean', 'laststd', 'lastmax', 'lastmin', 'time_to_failure'])\ntest = glob.glob('../input/test/**')\nstest = []\nfor path in test:\n    df = pd.read_csv(path, dtype={'acoustic_data': np.int16})\n    seg_id = path.split('/')[-1].split('.')[0]\n    fullmean = df['acoustic_data'].mean()\n    fullstd = df['acoustic_data'].std()\n    fullmax = df['acoustic_data'].max()\n    fullmin = df['acoustic_data'].min()\n    lastmean = df['acoustic_data'][140_000:].mean()\n    laststd = df['acoustic_data'][140_000:].std()\n    lastmax = df['acoustic_data'][140_000:].max()\n    lastmin = df['acoustic_data'][140_000:].min()\n    stest.append([seg_id, fullmean, fullstd, fullmax, fullmin, lastmean, laststd, lastmax, lastmin])\nstest = pd.DataFrame(stest, columns=['seg_id', 'fullmean', 'fullstd', 'fullmax', 'fullmin', 'lastmean', 'laststd', 'lastmax', 'lastmin'])\n\nsub = pd.read_csv('../input/sample_submission.csv')\nstrain.shape, stest.shape, sub.shape","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"scrolled":true,"_uuid":"743d4920be8b863e12a0fd0db56b43e8d05712bd"},"cell_type":"code","source":"col = [c for c in strain.columns if c not in ['time_to_failure']]\n\n#https://www.kaggle.com/inversion/basic-feature-benchmark\nfrom sklearn import *\n\nscaler = preprocessing.StandardScaler()\nscaled_train = scaler.fit_transform(strain[col])\nscaled_test = scaler.transform(stest[col])\n\nsvm2 = svm.NuSVR(nu=0.6, C=1.3, kernel='rbf', gamma=10, tol=0.01)\nsvm2.fit(scaled_train, strain['time_to_failure'])\nprint(metrics.mean_absolute_error(strain['time_to_failure'], svm2.predict(scaled_train)))\nstest['time_to_failure'] = svm2.predict(scaled_test)\nstest[['seg_id','time_to_failure']].to_csv('submission.csv', index=False)","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}