{"cells":[{"metadata":{},"cell_type":"markdown","source":"prior_question_elapsed_time and prior_question_had_explanation are information about \"prior\" question.\nTherefore, these features can be used by shifting them by -1."},{"metadata":{"trusted":true},"cell_type":"code","source":"import pandas as pd","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"DTYPES_TRAIN = {\n    'row_id': 'int64',\n    'timestamp': 'int64',\n    'user_id': 'int32',\n    'content_id': 'int16',\n    'content_type_id': 'int8',\n    'task_container_id': 'int16',\n    'user_answer': 'int8',\n    'answered_correctly':'int8',\n    'prior_question_elapsed_time': 'float32',\n    'prior_question_had_explanation': 'boolean'\n}\nusecols=['user_id', 'answered_correctly', 'prior_question_elapsed_time', 'prior_question_had_explanation']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train = pd.read_csv('/kaggle/input/riiid-test-answer-prediction/train.csv', dtype=DTYPES_TRAIN, usecols=usecols)\ntrain = train[train.answered_correctly != -1]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train['elapsed_shift-1'] = train[['user_id', 'prior_question_elapsed_time']].groupby('user_id').shift(-1)\ntrain['explained_shift-1'] = train[['user_id', 'prior_question_had_explanation']].groupby('user_id').shift(-1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train.dropna(inplace=True)\ntrain['explained_shift-1'] = train['explained_shift-1'].astype('boolean')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train[['answered_correctly', 'prior_question_elapsed_time', 'elapsed_shift-1']].groupby('answered_correctly').mean()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"The average value before shifting are almost the same for answered_correctly 0 and 1, but they differ significantly when shifting."},{"metadata":{"trusted":true},"cell_type":"code","source":"train[['answered_correctly', 'prior_question_had_explanation', 'explained_shift-1']].groupby('answered_correctly').mean()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"prior_question_had_explanation doesn't seem to change when shifted."},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"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":4,"nbformat_minor":4}