{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\n#from sklearn import *\nfrom sklearn.naive_bayes import GaussianNB\nfrom sklearn.metrics import accuracy_score\nimport glob\n\ndef get_id(file):\n    return file.split('/')[-1].split('.')[0]\n\ndef build_submission(files, model, features):\n    \n    submission = []\n    \n    for file in files:\n        \n        df = pd.read_csv(file)\n        df['Id'] = get_id(file)\n        #df = df.fillna(0).reset_index(drop=True)\n        res = pd.DataFrame(np.round(model.predict(df[features]),3), columns=['StartHesitation', 'Turn' , 'Walking'])\n        df = pd.concat([df,res], axis=1)\n        #df['Id'] = df['Id'].astype(str) + '_' + df['Time'].astype(str)\n        submission.append(df[['Id','StartHesitation', 'Turn' , 'Walking']])\n\ncount = 0\n#def get_file_data(file):\ndef get_file_data(datasets):\n    \n    data_frames = []\n    count = 0\n    \n    for file in datasets:\n    \n        if count > 300000:\n            break\n        #print(file)\n        df = pd.read_csv(file)\n\n        df['Id'] = get_id(file)\n        df['Type'] = file.split('/')[-2]\n\n        data_frames.append(df)\n        \n        count = count + 1\n        \n    return pd.concat(data_frames)\n\n","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2023-04-16T01:07:32.909404Z","iopub.execute_input":"2023-04-16T01:07:32.90979Z","iopub.status.idle":"2023-04-16T01:07:34.111153Z","shell.execute_reply.started":"2023-04-16T01:07:32.909756Z","shell.execute_reply":"2023-04-16T01:07:34.109879Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def get_file_data2(file):\n    \n    global count\n    count = count + 1\n    \n    if count > 30:\n        return\n    \n    #print(file)\n    df = pd.read_csv(file)\n\n    df['Id'] = get_id(file)\n    df['Type'] = file.split('/')[-2]\n    \n    return df\n\n","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train = glob.glob('/kaggle/input/tlvmc-parkinsons-freezing-gait-prediction/train/**/**')\ntest = glob.glob('/kaggle/input/tlvmc-parkinsons-freezing-gait-prediction/test/**/**')\nsubjects = pd.read_csv('/kaggle/input/tlvmc-parkinsons-freezing-gait-prediction/subjects.csv')\ntasks = pd.read_csv('/kaggle/input/tlvmc-parkinsons-freezing-gait-prediction/tasks.csv')\n\n#train","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#train_data = pd.concat([get_file_data(file) for file in train])\ntrain_data = get_file_data(train)\ntest_data = get_file_data(test)\n#test_data = pd.concat([get_file_data(file) for file in test])","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data = pd.merge(train_data, tasks, on='Id')\ntest_data = pd.merge(test_data, tasks, on='Id')\n\nX = train_data[['AccV', 'AccML', 'AccAP']]\nX_test = test_data[['AccV', 'AccML', 'AccAP']]\ny = train_data['Valid'].values.ravel()\ny_test = test_data[['Task']]\n\n\n#print(train_data.shape)\n#print(test_data.shape)\n\n#print(X.shape, y.shape)\n","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#nb = GaussianNB()\nfrom sklearn.linear_model import LinearRegression\n\nnb = LinearRegression()\nnb.fit(X, y)\n\ny_pred = nb.predict(X_test)\naccuracy = accuracy_score(y_test, y_pred)\n\nprint(\"Naive Bayes accuracy:\", accuracy)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#submission = build_submission(test, nb, ['AccV', 'AccML', 'AccAP'])\n\n#submission[['Id','StartHesitation', 'Turn' , 'Walking']].to_csv('submission.csv', index=False)","metadata":{"trusted":true},"execution_count":null,"outputs":[]}]}