{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"nvidiaTeslaT4","dataSources":[{"sourceId":59093,"databundleVersionId":7469972,"sourceType":"competition"}],"dockerImageVersionId":30761,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import pandas as pd\nfrom sklearn.preprocessing import OneHotEncoder,LabelEncoder\nfrom sklearn.model_selection import train_test_split","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-08-26T15:55:13.287284Z","iopub.execute_input":"2024-08-26T15:55:13.287643Z","iopub.status.idle":"2024-08-26T15:55:14.173866Z","shell.execute_reply.started":"2024-08-26T15:55:13.287606Z","shell.execute_reply":"2024-08-26T15:55:14.172891Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df=\"/kaggle/input/hms-harmful-brain-activity-classification/train_eegs\"","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:14.176154Z","iopub.execute_input":"2024-08-26T15:55:14.177098Z","iopub.status.idle":"2024-08-26T15:55:14.181254Z","shell.execute_reply.started":"2024-08-26T15:55:14.177048Z","shell.execute_reply":"2024-08-26T15:55:14.180299Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_train=pd.read_csv(\"/kaggle/input/hms-harmful-brain-activity-classification/train.csv\")","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:14.182354Z","iopub.execute_input":"2024-08-26T15:55:14.182714Z","iopub.status.idle":"2024-08-26T15:55:14.424239Z","shell.execute_reply.started":"2024-08-26T15:55:14.182679Z","shell.execute_reply":"2024-08-26T15:55:14.423232Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_train2=pd.get_dummies(df_train[\"expert_consensus\"]).astype('int')","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:14.425689Z","iopub.execute_input":"2024-08-26T15:55:14.426516Z","iopub.status.idle":"2024-08-26T15:55:14.450674Z","shell.execute_reply.started":"2024-08-26T15:55:14.426468Z","shell.execute_reply":"2024-08-26T15:55:14.449937Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_train_concat=pd.concat([df_train,df_train2],axis=1)\ndf_train_concat=df_train_concat.drop(columns=[\"expert_consensus\"])","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:14.453369Z","iopub.execute_input":"2024-08-26T15:55:14.453663Z","iopub.status.idle":"2024-08-26T15:55:14.474105Z","shell.execute_reply.started":"2024-08-26T15:55:14.453631Z","shell.execute_reply":"2024-08-26T15:55:14.473222Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_train_concat","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:14.475382Z","iopub.execute_input":"2024-08-26T15:55:14.475799Z","iopub.status.idle":"2024-08-26T15:55:14.501085Z","shell.execute_reply.started":"2024-08-26T15:55:14.475724Z","shell.execute_reply":"2024-08-26T15:55:14.500264Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X=df_train_concat.drop(columns=[\"seizure_vote\",\"lpd_vote\",\"gpd_vote\",\"lrda_vote\",\"grda_vote\",\"other_vote\",\"GPD\",\"GRDA\",\"LPD\",\"LRDA\",\"Other\",\"Seizure\"])\nY=df_train_concat[[\"seizure_vote\",\"lpd_vote\",\"gpd_vote\",\"lrda_vote\",\"grda_vote\",\"other_vote\",\"GPD\",\"GRDA\",\"LPD\",\"LRDA\",\"Other\",\"Seizure\"]]","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:14.502310Z","iopub.execute_input":"2024-08-26T15:55:14.502670Z","iopub.status.idle":"2024-08-26T15:55:14.513039Z","shell.execute_reply.started":"2024-08-26T15:55:14.502627Z","shell.execute_reply":"2024-08-26T15:55:14.512283Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Y.nunique()","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:14.514364Z","iopub.execute_input":"2024-08-26T15:55:14.514697Z","iopub.status.idle":"2024-08-26T15:55:14.531939Z","shell.execute_reply.started":"2024-08-26T15:55:14.514646Z","shell.execute_reply":"2024-08-26T15:55:14.531167Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_train[\"seizure_vote\"].unique()","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:14.532942Z","iopub.execute_input":"2024-08-26T15:55:14.533246Z","iopub.status.idle":"2024-08-26T15:55:14.539263Z","shell.execute_reply.started":"2024-08-26T15:55:14.533216Z","shell.execute_reply":"2024-08-26T15:55:14.538423Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_train","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:14.540573Z","iopub.execute_input":"2024-08-26T15:55:14.540841Z","iopub.status.idle":"2024-08-26T15:55:14.561340Z","shell.execute_reply.started":"2024-08-26T15:55:14.540811Z","shell.execute_reply":"2024-08-26T15:55:14.560371Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.2,random_state=42)","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:14.562514Z","iopub.execute_input":"2024-08-26T15:55:14.562900Z","iopub.status.idle":"2024-08-26T15:55:14.593703Z","shell.execute_reply.started":"2024-08-26T15:55:14.562858Z","shell.execute_reply":"2024-08-26T15:55:14.592724Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# # Deep learninig","metadata":{}},{"cell_type":"code","source":"from keras.layers import Dense,Flatten,LSTM,SimpleRNN,GRU,BatchNormalization,TimeDistributed,Input,Dropout\nfrom keras.models import Model\nfrom keras.initializers import HeNormal\nfrom keras.regularizers import l2,l1_l2\nfrom keras.callbacks import EarlyStopping","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:14.594897Z","iopub.execute_input":"2024-08-26T15:55:14.595278Z","iopub.status.idle":"2024-08-26T15:55:26.850765Z","shell.execute_reply.started":"2024-08-26T15:55:14.595235Z","shell.execute_reply":"2024-08-26T15:55:26.849890Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"early_stopping=EarlyStopping(\nmonitor='val_loss',\npatience=5,\nverbose=1)","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:26.851867Z","iopub.execute_input":"2024-08-26T15:55:26.852393Z","iopub.status.idle":"2024-08-26T15:55:26.856771Z","shell.execute_reply.started":"2024-08-26T15:55:26.852357Z","shell.execute_reply":"2024-08-26T15:55:26.855770Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train.shape","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:26.859749Z","iopub.execute_input":"2024-08-26T15:55:26.860058Z","iopub.status.idle":"2024-08-26T15:55:26.900797Z","shell.execute_reply.started":"2024-08-26T15:55:26.860026Z","shell.execute_reply":"2024-08-26T15:55:26.899972Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"inputs=Input(shape=(8,))\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(inputs)\nb=BatchNormalization()(d)\nd=Dense(64,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nd=Dropout(0.2)(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(64,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\n\nd=Dropout(0.5)(d)\nd=Dense(320,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(640,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nd=Dropout(0.2)(d)\nd=Dense(320,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(64,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(320,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nd=Dropout(0.5)(d)\n\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(640,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nd=Dropout(0.2)(d)\nd=Dense(320,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(64,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(320,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\n\nd=Dropout(0.5)(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(640,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nd=Dropout(0.2)(d)\nd=Dense(320,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(64,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(320,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\n\n\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(6400,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nd=Dropout(0.2)(d)\nd=Dense(32000,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(64,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\n\nd=Dropout(0.5)(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(640,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nd=Dropout(0.2)(d)\nd=Dense(320,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(64,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32000,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nd=Dropout(0.5)(d)\n\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(640,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nd=Dropout(0.2)(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(640,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\n\nd=Dropout(0.5)(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(640,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nd=Dropout(0.2)(d)\nd=Dense(320,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(d)\nb=BatchNormalization()(d)\nd=Dense(64,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\nb=BatchNormalization()(d)\nd=Dense(32,activation=\"relu\",kernel_initializer=HeNormal(),kernel_regularizer=l1_l2(0.01))(b)\n\n\noutputs=Dense(12,activation=\"softmax\")(d)\nmodel=Model(inputs,outputs)\nmodel.compile(optimizer='adam',loss='categorical_crossentropy',metrics=[\"accuracy\"])","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:26.901852Z","iopub.execute_input":"2024-08-26T15:55:26.902146Z","iopub.status.idle":"2024-08-26T15:55:28.390544Z","shell.execute_reply.started":"2024-08-26T15:55:26.902115Z","shell.execute_reply":"2024-08-26T15:55:28.389758Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.fit(X_train,Y_train,epochs=32,batch_size=32,validation_split=0.2,callbacks=[early_stopping])","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:55:28.391600Z","iopub.execute_input":"2024-08-26T15:55:28.391878Z","iopub.status.idle":"2024-08-26T15:58:56.020883Z","shell.execute_reply.started":"2024-08-26T15:55:28.391848Z","shell.execute_reply":"2024-08-26T15:58:56.020016Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"loss,accuracy=model.evaluate(X_test,Y_test)","metadata":{"execution":{"iopub.status.busy":"2024-08-26T15:58:56.022240Z","iopub.execute_input":"2024-08-26T15:58:56.022719Z","iopub.status.idle":"2024-08-26T15:59:04.496523Z","shell.execute_reply.started":"2024-08-26T15:58:56.022672Z","shell.execute_reply":"2024-08-26T15:59:04.495588Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\n","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}