{"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 matplotlib.pyplot as plt\nimport seaborn as sns","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2023-08-03T13:43:31.706707Z","iopub.execute_input":"2023-08-03T13:43:31.707247Z","iopub.status.idle":"2023-08-03T13:43:31.713937Z","shell.execute_reply.started":"2023-08-03T13:43:31.707201Z","shell.execute_reply":"2023-08-03T13:43:31.712724Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import polars as pl\ntrain = pl.read_parquet('../input/otto-train-and-test-data-for-local-validation/train.parquet')\nvalidA = pl.read_parquet('../input/otto-train-and-test-data-for-local-validation/test.parquet')\nvalidB = pl.read_parquet('../input/otto-train-and-test-data-for-local-validation/test_labels.parquet')","metadata":{"execution":{"iopub.status.busy":"2023-08-03T13:43:31.721725Z","iopub.execute_input":"2023-08-03T13:43:31.722410Z","iopub.status.idle":"2023-08-03T13:43:39.096536Z","shell.execute_reply.started":"2023-08-03T13:43:31.722377Z","shell.execute_reply":"2023-08-03T13:43:39.095486Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\n\n# Get subset of data \nfraction_of_sessions = 0.2\n\ntrain_sessions = train['session'].sample(fraction=fraction_of_sessions, seed=42)\ntrain = train.filter(pl.col(\"session\").is_in(train_sessions))\ntrain = train.sort(\"session\")\n\nvalidation_sessions = validA['session'].sample(fraction=fraction_of_sessions, seed=42)\nvalidA = validA.filter(pl.col(\"session\").is_in(validation_sessions))\nvalidA = validA.sort(\"session\")\n\nvalidB = validB.filter(pl.col(\"session\").is_in(validation_sessions))\nvalidB = validB.sort(\"session\")","metadata":{"execution":{"iopub.status.busy":"2023-08-03T13:43:39.098473Z","iopub.execute_input":"2023-08-03T13:43:39.099035Z","iopub.status.idle":"2023-08-03T13:43:56.466568Z","shell.execute_reply.started":"2023-08-03T13:43:39.099003Z","shell.execute_reply":"2023-08-03T13:43:56.465393Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(train, validA, validB)","metadata":{"execution":{"iopub.status.busy":"2023-08-03T13:43:56.469230Z","iopub.execute_input":"2023-08-03T13:43:56.469733Z","iopub.status.idle":"2023-08-03T13:43:56.476896Z","shell.execute_reply.started":"2023-08-03T13:43:56.469687Z","shell.execute_reply":"2023-08-03T13:43:56.475732Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train = train.to_pandas()","metadata":{"execution":{"iopub.status.busy":"2023-08-03T13:43:56.480337Z","iopub.execute_input":"2023-08-03T13:43:56.481767Z","iopub.status.idle":"2023-08-03T13:43:57.400151Z","shell.execute_reply.started":"2023-08-03T13:43:56.481722Z","shell.execute_reply":"2023-08-03T13:43:57.399062Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"id2type = {0: 'clicks', 1: 'carts', 2: 'orders'}","metadata":{"execution":{"iopub.status.busy":"2023-08-03T13:43:57.401463Z","iopub.execute_input":"2023-08-03T13:43:57.401836Z","iopub.status.idle":"2023-08-03T13:43:57.407354Z","shell.execute_reply.started":"2023-08-03T13:43:57.401805Z","shell.execute_reply":"2023-08-03T13:43:57.405971Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Event Frequency\nevent_counts = train['type'].value_counts()\ntotal_events = event_counts.sum()\n\nsns.barplot(x=event_counts.index.map(id2type), y=event_counts.values / total_events)\nplt.title('Event Frequency')\nplt.ylabel('Frequency')\nplt.xlabel('Type')\nplt.savefig('event_frequency.png')","metadata":{"execution":{"iopub.status.busy":"2023-08-03T13:43:57.409049Z","iopub.execute_input":"2023-08-03T13:43:57.409387Z","iopub.status.idle":"2023-08-03T13:43:58.976658Z","shell.execute_reply.started":"2023-08-03T13:43:57.409358Z","shell.execute_reply":"2023-08-03T13:43:58.975315Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Session Lengths\nsession_lengths = train['session'].value_counts()\nlengths_counts = session_lengths.value_counts()\n\nplt.figure(figsize=(10,8))\n# sns.barplot(x=lengths_counts.index, y=lengths_counts.values)\nplt.bar(lengths_counts.index, lengths_counts.values)\nplt.title('Session Lengths')\nplt.ylabel('Frequency')\nplt.xlabel('Length')\nplt.xlim(0, 250)\nplt.savefig('session_lengths.png')","metadata":{"execution":{"iopub.status.busy":"2023-08-03T13:43:58.978417Z","iopub.execute_input":"2023-08-03T13:43:58.978765Z","iopub.status.idle":"2023-08-03T13:44:02.908299Z","shell.execute_reply.started":"2023-08-03T13:43:58.978736Z","shell.execute_reply":"2023-08-03T13:44:02.907088Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"session_lengths = train['session'].value_counts()\nprint(session_lengths.mean())","metadata":{"execution":{"iopub.status.busy":"2023-08-03T13:44:02.909935Z","iopub.execute_input":"2023-08-03T13:44:02.910715Z","iopub.status.idle":"2023-08-03T13:44:05.380009Z","shell.execute_reply.started":"2023-08-03T13:44:02.910668Z","shell.execute_reply":"2023-08-03T13:44:05.378559Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Frequency of aids\naid_freqs = train['aid'].value_counts()\nfreqs_counts = aid_freqs.value_counts()\n\nplt.figure(figsize=(10,8))\n# sns.barplot(x=aid_freqs.index[:500], y=aid_freqs.values[:500])\nplt.bar(freqs_counts.index, freqs_counts.values)\nplt.title('AID Counts')\nplt.ylabel('Frequency')\nplt.xlabel('AID Count')\nplt.xlim(0, 250)\nplt.savefig('aid_freqs.png')","metadata":{"execution":{"iopub.status.busy":"2023-08-03T14:11:58.176087Z","iopub.execute_input":"2023-08-03T14:11:58.176560Z","iopub.status.idle":"2023-08-03T14:12:16.353995Z","shell.execute_reply.started":"2023-08-03T14:11:58.176525Z","shell.execute_reply":"2023-08-03T14:12:16.352761Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# # Frequency of aids\n# aid_freqs = train['aid'].value_counts().sort_index()\n\n# plt.figure(figsize=(10,8))\n# sns.barplot(x=aid_freqs.index[:60], y=aid_freqs.values[:60])\n# # plt.bar(aid_freqs.index[:500], aid_freqs.values[:500])\n# plt.title('AID Frequencies')\n# plt.ylabel('Frequency')\n# plt.xlabel('AID')\n# plt.xlim(0, 50)\n# plt.savefig('aid_freqs.png')","metadata":{"execution":{"iopub.status.busy":"2023-08-03T13:50:52.124806Z","iopub.execute_input":"2023-08-03T13:50:52.125297Z","iopub.status.idle":"2023-08-03T13:50:59.040551Z","shell.execute_reply.started":"2023-08-03T13:50:52.125262Z","shell.execute_reply":"2023-08-03T13:50:59.039160Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}