[d8f241]: / Random / Random 5.ipynb

Download this file

614 lines (613 with data), 15.3 kB

{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# train 1(14=0.01) test 14 (.99)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "ename": "ModuleNotFoundError",
     "evalue": "No module named 'keras'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-1-068283ec6ed0>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mkeras\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackend\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mK\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0mcfg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mK\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mConfigProto\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0mcfg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgpu_options\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mallow_growth\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0mK\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_session\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mK\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSession\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mconfig\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcfg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'keras'"
     ]
    }
   ],
   "source": [
    "import keras.backend as K\n",
    "cfg = K.tf.ConfigProto()\n",
    "cfg.gpu_options.allow_growth = True\n",
    "K.set_session(K.tf.Session(config=cfg))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 1.19 s, sys: 617 ms, total: 1.81 s\n",
      "Wall time: 8.44 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.ensemble import ExtraTreesClassifier\n",
    "from sklearn.metrics import classification_report\n",
    "from sklearn.model_selection import train_test_split"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 1min 23s, sys: 13.8 s, total: 1min 37s\n",
      "Wall time: 2min 25s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "df = pd.read_csv(\"master_data.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['target', 'subject', 'chest_ACC_x', 'chest_ACC_y', 'chest_ACC_z',\n",
       "       'chest_ECG', 'chest_EMG', 'chest_EDA', 'chest_Temp', 'chest_Resp'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 666 ms, sys: 1.32 s, total: 1.99 s\n",
      "Wall time: 2.03 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "df=df[['chest_ACC_x','chest_ACC_y','chest_ACC_z','target','subject']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 516 ms, sys: 57 µs, total: 516 ms\n",
      "Wall time: 514 ms\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%time\n",
    "df['subject'].unique()\n",
    "list_of_subjects=list(df['subject'].unique())\n",
    "list_of_subjects.sort()\n",
    "list_of_subjects"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 85 µs, sys: 15 µs, total: 100 µs\n",
      "Wall time: 103 µs\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "['chest_ACC_x', 'chest_ACC_y', 'chest_ACC_z']"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%time\n",
    "features=df.columns.tolist()\n",
    "to_remove = [fea for fea in features if \"target\"  in fea or \"subject\"  in fea]\n",
    "feature = [x for x in features if x not in to_remove]\n",
    "feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2\n",
      "subject_2\n",
      "3\n",
      "subject_3\n",
      "4\n",
      "subject_4\n",
      "5\n",
      "subject_5\n",
      "6\n",
      "subject_6\n",
      "7\n",
      "subject_7\n",
      "8\n",
      "subject_8\n",
      "9\n",
      "subject_9\n",
      "10\n",
      "subject_10\n",
      "11\n",
      "subject_11\n",
      "13\n",
      "subject_13\n",
      "14\n",
      "subject_14\n",
      "15\n",
      "subject_15\n",
      "16\n",
      "subject_16\n",
      "17\n",
      "subject_17\n",
      "CPU times: user 15.5 s, sys: 3.94 s, total: 19.4 s\n",
      "Wall time: 19.5 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "for i in list_of_subjects:\n",
    "    print(i)\n",
    "    globals()['subject_%s' % i]=df[df['subject'] == i]\n",
    "    globals()['subject_%s_train' % i],globals()['subject_%s_test' % i]=train_test_split(globals()['subject_%s' % i], test_size=0.3)\n",
    "    print('subject_'+str(i))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(4165000, 5)\n",
      "(2915500, 5)\n",
      "(1249500, 5)\n"
     ]
    }
   ],
   "source": [
    "print(subject_2.shape)\n",
    "print(subject_2_train.shape)\n",
    "print(subject_2_test.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 571 ms, sys: 1.89 s, total: 2.46 s\n",
      "Wall time: 2.46 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "train=pd.concat([subject_2_train,subject_3_train,subject_4_train,subject_5_train,subject_6_train,subject_7_train,subject_8_train,subject_9_train,subject_10_train,subject_11_train,subject_13_train,subject_14_train,subject_15_train,subject_16_train,subject_17_train])\n",
    "test=pd.concat([subject_2_test,subject_3_test,subject_4_test,subject_5_test,subject_6_test,subject_7_test,subject_8_test,subject_9_test,subject_10_test,subject_11_test,subject_13_test,subject_14_test,subject_15_test,subject_16_test,subject_17_test])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(41387848, 5)\n",
      "(17737652, 5)\n"
     ]
    }
   ],
   "source": [
    "print(train.shape)\n",
    "print(test.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Index          331102784\n",
      "chest_ACC_x    331102784\n",
      "chest_ACC_y    331102784\n",
      "chest_ACC_z    331102784\n",
      "target         331102784\n",
      "subject        331102784\n",
      "dtype: int64\n",
      "Index          141901216\n",
      "chest_ACC_x    141901216\n",
      "chest_ACC_y    141901216\n",
      "chest_ACC_z    141901216\n",
      "target         141901216\n",
      "subject        141901216\n",
      "dtype: int64\n"
     ]
    }
   ],
   "source": [
    "print(train.memory_usage(index=True, deep=False))\n",
    "print(test.memory_usage(index=True, deep=False))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 41387848 entries, 28163906 to 51287127\n",
      "Data columns (total 5 columns):\n",
      "chest_ACC_x    float64\n",
      "chest_ACC_y    float64\n",
      "chest_ACC_z    float64\n",
      "target         int64\n",
      "subject        int64\n",
      "dtypes: float64(3), int64(2)\n",
      "memory usage: 1.9 GB\n",
      "None\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 17737652 entries, 27073284 to 48673791\n",
      "Data columns (total 5 columns):\n",
      "chest_ACC_x    float64\n",
      "chest_ACC_y    float64\n",
      "chest_ACC_z    float64\n",
      "target         int64\n",
      "subject        int64\n",
      "dtypes: float64(3), int64(2)\n",
      "memory usage: 812.0 MB\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "print(train.info(memory_usage='deep'))\n",
    "print(test.info(memory_usage='deep'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "features=['chest_ACC_x','chest_ACC_y','chest_ACC_z']\n",
    "target=['target']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['chest_ACC_x', 'chest_ACC_y', 'chest_ACC_z']\n",
      "CPU times: user 82 µs, sys: 17 µs, total: 99 µs\n",
      "Wall time: 103 µs\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "features=feature\n",
    "print(features)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['target']\n",
      "CPU times: user 149 µs, sys: 31 µs, total: 180 µs\n",
      "Wall time: 135 µs\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "target=['target']\n",
    "print(target)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2\n",
      "3\n",
      "4\n",
      "5\n",
      "6\n",
      "7\n",
      "8\n",
      "9\n",
      "10\n",
      "11\n",
      "13\n",
      "14\n",
      "15\n",
      "16\n",
      "17\n",
      "CPU times: user 15.9 ms, sys: 290 ms, total: 306 ms\n",
      "Wall time: 301 ms\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "for i in list_of_subjects[0:]:\n",
    "    print(i)\n",
    "    del(globals()['subject_%s' % i])\n",
    "    del(globals()['subject_%s_train' % i])\n",
    "    del(globals()['subject_%s_test' % i])\n",
    "del df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/sf/.local/lib/python3.6/site-packages/ipykernel_launcher.py:2: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n",
      "  \n",
      "[Parallel(n_jobs=10)]: Using backend ThreadingBackend with 10 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "building tree 1 of 20\n",
      "building tree 2 of 20\n",
      "building tree 3 of 20\n",
      "building tree 4 of 20\n",
      "building tree 5 of 20\n",
      "building tree 6 of 20\n",
      "building tree 7 of 20\n",
      "building tree 8 of 20\n",
      "building tree 9 of 20building tree 10 of 20\n",
      "\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "et = ExtraTreesClassifier(n_estimators=20, n_jobs=10, verbose=2)\n",
    "et.fit(train[features],train[target])\n",
    "y_pred=et.predict(test[features])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.86      0.87      0.87   8295722\n",
      "           1       0.85      0.83      0.84   3698748\n",
      "           2       0.74      0.73      0.74   2092335\n",
      "           3       0.82      0.80      0.81   1170648\n",
      "           4       0.88      0.88      0.88   2480199\n",
      "\n",
      "    accuracy                           0.84  17737652\n",
      "   macro avg       0.83      0.82      0.83  17737652\n",
      "weighted avg       0.84      0.84      0.84  17737652\n",
      "\n",
      "CPU times: user 34.9 s, sys: 6.72 s, total: 41.6 s\n",
      "Wall time: 41.6 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "print(classification_report(test[target],y_pred ))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "del train\n",
    "del test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Interactive namespace is empty.\n"
     ]
    }
   ],
   "source": [
    "who"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "11\n",
      "14\n",
      "8\n",
      "15\n",
      "9\n",
      "10\n",
      "16\n",
      "4\n",
      "13\n",
      "3\n",
      "17\n",
      "5\n",
      "7\n",
      "CPU times: user 19.1 ms, sys: 306 ms, total: 325 ms\n",
      "Wall time: 318 ms\n"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}