{"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":"none","dataSources":[{"sourceId":84493,"databundleVersionId":9871156,"sourceType":"competition"}],"dockerImageVersionId":30786,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import pandas as pd\nimport polars as pl\nimport numpy as np\nimport os, gc\nfrom tqdm.auto import tqdm\nfrom matplotlib import pyplot as plt\nimport pickle\n\nfrom sklearn.metrics import r2_score\nfrom lightgbm import LGBMRegressor\nimport lightgbm as lgb\nfrom xgboost import XGBRegressor\nfrom catboost import CatBoostRegressor\nfrom sklearn.ensemble import VotingRegressor\n\nimport warnings\nwarnings.filterwarnings('ignore')\npd.options.display.max_columns = None\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-11-16T23:40:22.419266Z","iopub.execute_input":"2024-11-16T23:40:22.419799Z","iopub.status.idle":"2024-11-16T23:40:26.048595Z","shell.execute_reply.started":"2024-11-16T23:40:22.419737Z","shell.execute_reply":"2024-11-16T23:40:26.047356Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train_0= pd.read_parquet(\"/kaggle/input/jane-street-real-time-market-data-forecasting/train.parquet/partition_id=0/part-0.parquet\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-11-16T23:40:26.050663Z","iopub.execute_input":"2024-11-16T23:40:26.051248Z","iopub.status.idle":"2024-11-16T23:40:30.117118Z","shell.execute_reply.started":"2024-11-16T23:40:26.051208Z","shell.execute_reply":"2024-11-16T23:40:30.115861Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train_0 = train_0.dropna(axis=1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-11-16T23:40:30.118828Z","iopub.execute_input":"2024-11-16T23:40:30.119336Z","iopub.status.idle":"2024-11-16T23:40:30.518504Z","shell.execute_reply.started":"2024-11-16T23:40:30.119171Z","shell.execute_reply":"2024-11-16T23:40:30.517085Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(train_0)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-11-16T23:43:02.315432Z","iopub.execute_input":"2024-11-16T23:43:02.316507Z","iopub.status.idle":"2024-11-16T23:43:02.386147Z","shell.execute_reply.started":"2024-11-16T23:43:02.316452Z","shell.execute_reply":"2024-11-16T23:43:02.384624Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train_0.info()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-11-16T23:43:40.700798Z","iopub.execute_input":"2024-11-16T23:43:40.701354Z","iopub.status.idle":"2024-11-16T23:43:40.734841Z","shell.execute_reply.started":"2024-11-16T23:43:40.701298Z","shell.execute_reply":"2024-11-16T23:43:40.733582Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!pip install umap","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-11-16T23:40:30.520000Z","iopub.execute_input":"2024-11-16T23:40:30.520353Z","iopub.status.idle":"2024-11-16T23:40:49.387664Z","shell.execute_reply.started":"2024-11-16T23:40:30.520317Z","shell.execute_reply":"2024-11-16T23:40:49.386145Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import umap\nimport matplotlib.pyplot as plt\nfrom sklearn.preprocessing import StandardScaler\n\n# Assuming train_0 is a pandas DataFrame\n# Select only numeric columns (excluding non-feature columns like target or IDs)\nfeatures = train_0.select_dtypes(include=['float64', 'int64']).drop(columns=[\"target_column_name\", \"id_column_name\"], errors='ignore')\n\n# Standardize the features for better UMAP performance\nscaler = StandardScaler()\nfeatures_scaled = scaler.fit_transform(features)\n\n# Apply UMAP\numap_reducer = umap.UMAP(n_components=2, random_state=CONFIG.seed)\nembedding = umap_reducer.fit_transform(features_scaled)\n\n# Create a scatter plot\nplt.figure(figsize=(12, 8))\nplt.scatter(embedding[:, 0], embedding[:, 1], s=2, alpha=0.6, c=train_0[\"target_column_name\"], cmap=\"viridis\")\nplt.colorbar(label='Target')\nplt.title('UMAP Visualization of train_0')\nplt.xlabel('UMAP Dimension 1')\nplt.ylabel('UMAP Dimension 2')\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-11-16T23:44:01.844022Z","iopub.execute_input":"2024-11-16T23:44:01.844481Z","iopub.status.idle":"2024-11-16T23:44:02.022097Z","shell.execute_reply.started":"2024-11-16T23:44:01.844439Z","shell.execute_reply":"2024-11-16T23:44:02.020426Z"}},"outputs":[],"execution_count":null}]}