{"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.10.14"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":84493,"databundleVersionId":9849268,"sourceType":"competition"},{"sourceId":9631435,"sourceType":"datasetVersion","datasetId":5879957}],"dockerImageVersionId":30786,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":false},"papermill":{"default_parameters":{},"duration":7.594014,"end_time":"2024-10-10T11:58:36.355301","environment_variables":{},"exception":null,"input_path":"__notebook__.ipynb","output_path":"__notebook__.ipynb","parameters":{},"start_time":"2024-10-10T11:58:28.761287","version":"2.6.0"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import os\nimport joblib \n\nimport pandas as pd\nimport polars as pl\nimport lightgbm as lgb\nimport xgboost as xgb\nfrom catboost import CatBoostRegressor, Pool\nimport numpy as np \n\nfrom joblib import Parallel, delayed\n\nimport kaggle_evaluation.jane_street_inference_server","metadata":{"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","papermill":{"duration":1.594977,"end_time":"2024-10-10T11:58:33.569648","exception":false,"start_time":"2024-10-10T11:58:31.974671","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2024-10-15T13:23:12.152794Z","iopub.execute_input":"2024-10-15T13:23:12.153234Z","iopub.status.idle":"2024-10-15T13:23:17.410871Z","shell.execute_reply.started":"2024-10-15T13:23:12.153175Z","shell.execute_reply":"2024-10-15T13:23:17.409655Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test = pl.read_parquet(\"/kaggle/input/jane-street-realtime-marketdata-forecasting/test.parquet/date_id=0/part-0.parquet\")\ncat_models = joblib.load(\"/kaggle/input/jscat-baseline/cat_models_baseline.pkl\")","metadata":{"execution":{"iopub.status.busy":"2024-10-15T13:23:17.413616Z","iopub.execute_input":"2024-10-15T13:23:17.414309Z","iopub.status.idle":"2024-10-15T13:24:41.264789Z","shell.execute_reply.started":"2024-10-15T13:23:17.414240Z","shell.execute_reply":"2024-10-15T13:24:41.263560Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\n\ndef predict(test: pl.DataFrame, lags: pl.DataFrame | None) -> pl.DataFrame | pd.DataFrame:\n    \n    preds = np.zeros(test.shape[0])\n    \n    for model in cat_models:\n        pred = model.predict(test.to_pandas())\n        preds += pred\n\n    mean_pred = preds / len(cat_models)\n    \n    predictions = test.select(\n        'row_id',\n        pl.lit(0.0).alias('responder_6'),\n    )\n    \n    predictions = predictions.with_columns(pl.Series('responder_6', mean_pred.ravel()))\n    \n    return predictions","metadata":{"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","papermill":{"duration":0.018344,"end_time":"2024-10-10T11:58:33.59684","exception":false,"start_time":"2024-10-10T11:58:33.578496","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2024-10-15T13:24:41.266506Z","iopub.execute_input":"2024-10-15T13:24:41.267007Z","iopub.status.idle":"2024-10-15T13:24:41.276364Z","shell.execute_reply.started":"2024-10-15T13:24:41.266953Z","shell.execute_reply":"2024-10-15T13:24:41.274960Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"inference_server = kaggle_evaluation.jane_street_inference_server.JSInferenceServer(predict)\n\nif os.getenv('KAGGLE_IS_COMPETITION_RERUN'):\n    inference_server.serve()\nelse:\n    inference_server.run_local_gateway(\n        (\n            '/kaggle/input/jane-street-realtime-marketdata-forecasting/test.parquet',\n            '/kaggle/input/jane-street-realtime-marketdata-forecasting/lags.parquet',\n        )\n    )","metadata":{"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","papermill":{"duration":2.225871,"end_time":"2024-10-10T11:58:35.830964","exception":false,"start_time":"2024-10-10T11:58:33.605093","status":"completed"},"tags":[],"execution":{"iopub.status.busy":"2024-10-15T13:24:41.278709Z","iopub.execute_input":"2024-10-15T13:24:41.279101Z","iopub.status.idle":"2024-10-15T13:24:41.572732Z","shell.execute_reply.started":"2024-10-15T13:24:41.279059Z","shell.execute_reply":"2024-10-15T13:24:41.571163Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}