{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.11.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":117097,"databundleVersionId":14080503,"sourceType":"competition"}],"dockerImageVersionId":31192,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nimport os\n\n# Papka manzili\npath = \"/kaggle/input/alpha-radar-solana-sprint\"\nfiles = sorted([f for f in os.listdir(path) if f.endswith('.csv') and f.startswith('evaluation_set')])\nprint(\"Topilgan fayllar:\", files)\n\n# Fayllarni birlashtiramiz\ndfs = []\nfor f in files:\n    df = pd.read_csv(os.path.join(path, f))\n    print(f\"{f}: {df.shape}\")\n    dfs.append(df)\n\ndata = pd.concat(dfs, ignore_index=True)\nprint(\"Birlashgan dataset shakli:\", data.shape)\nprint(data.head())\n\n# Sample datasetni ham o‘qiymiz\nsample = pd.read_csv(os.path.join(path, \"Sample_Dataset.csv\"))\nprint(\"\\nSample_Dataset ustunlari:\", sample.columns.tolist())\nprint(sample.head())\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T12:32:18.568449Z","iopub.execute_input":"2025-11-07T12:32:18.568822Z","iopub.status.idle":"2025-11-07T12:32:45.116094Z","shell.execute_reply.started":"2025-11-07T12:32:18.568798Z","shell.execute_reply":"2025-11-07T12:32:45.114964Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nimport os\n\npath = \"/kaggle/input/alpha-radar-solana-sprint\"\nprint(os.listdir(path))\n\n# Fayl nomlarini tekshirib chiqamiz\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T12:27:30.393704Z","iopub.execute_input":"2025-11-07T12:27:30.394002Z","iopub.status.idle":"2025-11-07T12:27:30.405869Z","shell.execute_reply.started":"2025-11-07T12:27:30.393981Z","shell.execute_reply":"2025-11-07T12:27:30.404486Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"path = \"../input/alpha-radar-solana-sprint\"\nsample = pd.read_csv(f\"{path}/Sample_Dataset.csv\")\nprint(sample.shape)\nsample.head()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T12:52:56.187865Z","iopub.execute_input":"2025-11-07T12:52:56.188957Z","iopub.status.idle":"2025-11-07T12:53:01.289794Z","shell.execute_reply.started":"2025-11-07T12:52:56.188932Z","shell.execute_reply":"2025-11-07T12:53:01.288664Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# 1️⃣ Faylni o‘qiymiz\npath = \"../input/alpha-radar-solana-sprint\"\nsample = pd.read_csv(f\"{path}/Sample_Dataset.csv\")\n\n# 2️⃣ Faqat raqamli ustunlarni tanlaymiz\nnumeric_cols = sample.select_dtypes(include=np.number).columns.tolist()\n\n# 3️⃣ mint_token_id bo‘yicha raqamli ustunlardan o‘rtacha qiymatlarni olamiz\ntest_agg = sample.groupby(\"mint_token_id\")[numeric_cols].mean().reset_index()\n\n# 4️⃣ Natijani tekshiramiz\nprint(test_agg.shape)\ntest_agg.head()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T12:54:10.482228Z","iopub.execute_input":"2025-11-07T12:54:10.483464Z","iopub.status.idle":"2025-11-07T12:54:16.072121Z","shell.execute_reply.started":"2025-11-07T12:54:10.483428Z","shell.execute_reply":"2025-11-07T12:54:16.071057Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\n\nsample = pd.read_csv(\"/kaggle/input/alpha-radar-solana-sprint/Sample_Dataset.csv\")\n\nnumeric_cols = sample.select_dtypes(include=np.number).columns.tolist()\n\n# mint_token_id bo‘yicha o‘rtacha qiymatlarni hisoblash\nagg_data = sample.groupby(\"mint_token_id\")[numeric_cols].mean().reset_index()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T12:57:56.244031Z","iopub.execute_input":"2025-11-07T12:57:56.244386Z","iopub.status.idle":"2025-11-07T12:58:01.362515Z","shell.execute_reply.started":"2025-11-07T12:57:56.244361Z","shell.execute_reply":"2025-11-07T12:58:01.361470Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"target = 'market_cap_usd'\nfeatures = [col for col in agg_data.columns if col != 'mint_token_id' and col != target]\n\nX = agg_data[features]\ny = agg_data[target]\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T12:58:34.829162Z","iopub.execute_input":"2025-11-07T12:58:34.829853Z","iopub.status.idle":"2025-11-07T12:58:34.837617Z","shell.execute_reply.started":"2025-11-07T12:58:34.829826Z","shell.execute_reply":"2025-11-07T12:58:34.836657Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from sklearn.model_selection import train_test_split\n\nX_train, X_test, y_train, y_test = train_test_split(\n    X, y, test_size=0.2, random_state=42\n)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T12:59:48.182801Z","iopub.execute_input":"2025-11-07T12:59:48.183695Z","iopub.status.idle":"2025-11-07T12:59:48.202849Z","shell.execute_reply.started":"2025-11-07T12:59:48.183656Z","shell.execute_reply":"2025-11-07T12:59:48.201635Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from catboost import CatBoostRegressor\n\nmodel = CatBoostRegressor(\n    iterations=500,\n    learning_rate=0.1,\n    depth=6,\n    verbose=100\n)\n\nmodel.fit(X_train, y_train)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T13:00:12.627244Z","iopub.execute_input":"2025-11-07T13:00:12.628773Z","iopub.status.idle":"2025-11-07T13:00:16.760003Z","shell.execute_reply.started":"2025-11-07T13:00:12.628735Z","shell.execute_reply":"2025-11-07T13:00:16.758663Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from sklearn.metrics import mean_squared_error, r2_score\n\ny_pred = model.predict(X_test)\nprint(\"MSE:\", mean_squared_error(y_test, y_pred))\nprint(\"R2:\", r2_score(y_test, y_pred))\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T13:00:39.840618Z","iopub.execute_input":"2025-11-07T13:00:39.840960Z","iopub.status.idle":"2025-11-07T13:00:39.854607Z","shell.execute_reply.started":"2025-11-07T13:00:39.840939Z","shell.execute_reply":"2025-11-07T13:00:39.853514Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import numpy as np\ny_train_log = np.log1p(y_train)\ny_test_log = np.log1p(y_test)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T13:06:33.776486Z","iopub.execute_input":"2025-11-07T13:06:33.776907Z","iopub.status.idle":"2025-11-07T13:06:33.783060Z","shell.execute_reply.started":"2025-11-07T13:06:33.776881Z","shell.execute_reply":"2025-11-07T13:06:33.781989Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\n# Kaggle input papkasidagi barcha fayllarni ko'rsatamiz\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T13:21:59.140383Z","iopub.execute_input":"2025-11-07T13:21:59.140726Z","iopub.status.idle":"2025-11-07T13:21:59.154460Z","shell.execute_reply.started":"2025-11-07T13:21:59.140704Z","shell.execute_reply":"2025-11-07T13:21:59.153281Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.ensemble import RandomForestRegressor\nfrom sklearn.metrics import mean_squared_error, r2_score\n\n# 1️⃣ Faylni yuklash\ndf = pd.read_csv(\"/kaggle/input/alpha-radar-solana-sprint/Sample_Dataset.csv\")\n\n# 2️⃣ Katta dataset bo‘lsa, 5000 qator namunani olish (tezroq)\ndf_sample = df.sample(n=5000, random_state=42)\n\n# 3️⃣ Raqamli ustunlarni ajratish (target tashlab)\nnumeric_cols = df_sample.select_dtypes(include=['float64', 'int64']).columns\nX = df_sample[numeric_cols].drop('token_quantity', axis=1)\ny = df_sample['token_quantity']\n\n# 4️⃣ Train-test bo‘linishi\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n\n# 5️⃣ Model yaratish (tezroq variant)\nrf_model = RandomForestRegressor(\n    n_estimators=50,  # daraxtlar sonini kamaytirdik\n    max_depth=10,     # maksimal chuqurlikni kamaytirdik\n    random_state=42,\n    n_jobs=-1\n)\n\n# 6️⃣ Modelni fit qilish\nrf_model.fit(X_train, y_train)\n\n# 7️⃣ Bashorat qilish\ny_pred = rf_model.predict(X_test)\n\n# 8️⃣ Modelni baholash\nprint(\"MSE:\", mean_squared_error(y_test, y_pred))\nprint(\"R2:\", r2_score(y_test, y_pred))\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T13:29:50.869735Z","iopub.execute_input":"2025-11-07T13:29:50.870132Z","iopub.status.idle":"2025-11-07T13:29:57.428748Z","shell.execute_reply.started":"2025-11-07T13:29:50.870106Z","shell.execute_reply":"2025-11-07T13:29:57.427300Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import matplotlib.pyplot as plt\n\n# 1️⃣ Feature importance olish\nimportances = rf_model.feature_importances_\nfeatures = X.columns\n\n# 2️⃣ DataFrame ga aylantirish\nfeat_imp_df = pd.DataFrame({\n    'feature': features,\n    'importance': importances\n}).sort_values(by='importance', ascending=False)\n\n# 3️⃣ Natijani chiqarish\nprint(feat_imp_df)\n\n# 4️⃣ Vizualizatsiya qilish\nplt.figure(figsize=(12,6))\nplt.bar(feat_imp_df['feature'], feat_imp_df['importance'], color='skyblue')\nplt.xticks(rotation=90)\nplt.title(\"Feature Importance for Random Forest\")\nplt.xlabel(\"Features\")\nplt.ylabel(\"Importance\")\nplt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T13:34:04.572970Z","iopub.execute_input":"2025-11-07T13:34:04.573273Z","iopub.status.idle":"2025-11-07T13:34:04.808660Z","shell.execute_reply.started":"2025-11-07T13:34:04.573253Z","shell.execute_reply":"2025-11-07T13:34:04.807158Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.ensemble import RandomForestRegressor\nfrom sklearn.metrics import mean_squared_error, r2_score\n\n# 1️⃣ Datasetni yuklash\ndf = pd.read_csv(\"/kaggle/input/alpha-radar-solana-sprint/Sample_Dataset.csv\")\n\n# 2️⃣ Eng muhim 10 ustun\ntop_features = [\n    'token_delta', 'token_volume', 'creator_fee', 'virtual_token_reserves',\n    'liquidity_ratio', 'sol_delta', 'sol_volume', 'creator_fee_pump',\n    'virtual_sol_reserves', 'buy_count'\n]\n\nX = df[top_features]\ny = df['token_quantity']\n\n# 3️⃣ Train-test bo‘linishi\nX_train, X_test, y_train, y_test = train_test_split(\n    X, y, test_size=0.2, random_state=42\n)\n\n# 🔹 Trainni kichraytirib olish (tezroq fit qilish uchun)\nsample_frac = 0.2  # trainning faqat 20% ishlatiladi\nX_train_small = X_train.sample(frac=sample_frac, random_state=42)\ny_train_small = y_train.loc[X_train_small.index]\n\n# 4️⃣ Model yaratish\nrf_model = RandomForestRegressor(\n    n_estimators=50,    # daraxtlar soni kamaytirildi\n    max_depth=10,       # maksimal chuqurlik kamaytirildi\n    random_state=42,\n    n_jobs=-1\n)\n\n# 5️⃣ Modelni fit qilish\nrf_model.fit(X_train_small, y_train_small)\n\n# 6️⃣ Bashorat qilish\ny_pred = rf_model.predict(X_test)\n\n# 7️⃣ Modelni baholash\nprint(\"MSE:\", mean_squared_error(y_test, y_pred))\nprint(\"R2:\", r2_score(y_test, y_pred))\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T13:36:37.693880Z","iopub.execute_input":"2025-11-07T13:36:37.694606Z","iopub.status.idle":"2025-11-07T13:37:01.146658Z","shell.execute_reply.started":"2025-11-07T13:36:37.694575Z","shell.execute_reply":"2025-11-07T13:37:01.145192Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import matplotlib.pyplot as plt\n\n# Feature importance olish\nimportances = rf_model.feature_importances_\nfeatures = X.columns\n\n# DataFramega joylash\nfeature_importance_df = pd.DataFrame({\n    'feature': features,\n    'importance': importances\n}).sort_values(by='importance', ascending=False)\n\n# Natijani ko'rsatish\nprint(feature_importance_df)\n\n# Diagramma chizish\nplt.figure(figsize=(10,6))\nplt.barh(feature_importance_df['feature'], feature_importance_df['importance'])\nplt.gca().invert_yaxis()  # eng muhim ustun tepada bo'lsin\nplt.xlabel('Importance')\nplt.title('Random Forest Feature Importance')\nplt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T13:37:54.355909Z","iopub.execute_input":"2025-11-07T13:37:54.356860Z","iopub.status.idle":"2025-11-07T13:37:54.579476Z","shell.execute_reply.started":"2025-11-07T13:37:54.356828Z","shell.execute_reply":"2025-11-07T13:37:54.578354Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import matplotlib.pyplot as plt\nimport seaborn as sns\n\n# Feature importance olish\nimportances = rf_model.feature_importances_\nfeatures = X.columns\n\n# DataFrame ga joylash\nfeat_imp = pd.DataFrame({\n    'feature': features,\n    'importance': importances\n}).sort_values(by='importance', ascending=False)\n\n# Chizma\nplt.figure(figsize=(10,6))\nsns.barplot(x='importance', y='feature', data=feat_imp, palette=\"viridis\")\nplt.title(\"Feature Importance\")\nplt.xlabel(\"Importance\")\nplt.ylabel(\"Feature\")\nplt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T13:42:12.090098Z","iopub.execute_input":"2025-11-07T13:42:12.090829Z","iopub.status.idle":"2025-11-07T13:42:13.130935Z","shell.execute_reply.started":"2025-11-07T13:42:12.090793Z","shell.execute_reply":"2025-11-07T13:42:13.130083Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.ensemble import RandomForestRegressor\nfrom sklearn.metrics import mean_squared_error, r2_score\n\n# Ma'lumotni yuklash\ndf = pd.read_csv(\"/kaggle/input/alpha-radar-solana-sprint/Sample_Dataset.csv\")\n\n# Eng muhim 5 ustun\ntop5_features = ['sol_delta', 'creator_fee', 'virtual_sol_reserves', 'token_volume', 'sol_volume']\nX = df[top5_features]\ny = df['token_quantity']\n\n# Train-test bo‘linishi\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n\n# Model yaratish (tezroq ishlash uchun)\nrf_model = RandomForestRegressor(\n    n_estimators=50,  # avvalgi 200 o‘rniga 50\n    max_depth=10,     # avvalgi 15 o‘rniga 10\n    random_state=42,\n    n_jobs=-1\n)\n\n# Modelni fit qilish\nrf_model.fit(X_train, y_train)\n\n# Bashorat qilish\ny_pred = rf_model.predict(X_test)\n\n# Natijani baholash\nprint(\"MSE:\", mean_squared_error(y_test, y_pred))\nprint(\"R2:\", r2_score(y_test, y_pred))\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T13:45:46.828134Z","iopub.execute_input":"2025-11-07T13:45:46.829319Z","iopub.status.idle":"2025-11-07T13:47:01.406824Z","shell.execute_reply.started":"2025-11-07T13:45:46.829289Z","shell.execute_reply":"2025-11-07T13:47:01.405288Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nfrom sklearn.ensemble import RandomForestRegressor\n\n# 1️⃣ Ma'lumotni yuklash\ntrain = pd.read_csv(\"/kaggle/input/alpha-radar-solana-sprint/Sample_Dataset.csv\")\n\n# 2️⃣ Eng muhim 5 ustun\ntop5_features = ['sol_delta', 'creator_fee', 'virtual_sol_reserves', 'token_volume', 'sol_volume']\nX_train = train[top5_features]\ny_train = train['token_quantity']\n\n# 3️⃣ Model yaratish (tezroq variant)\nrf_model = RandomForestRegressor(\n    n_estimators=50,   # daraxtlarni kamaytirdik\n    max_depth=10,      # chuqurlikni kamaytirdik\n    random_state=42,\n    n_jobs=-1\n)\n\n# 4️⃣ Fit qilish\nrf_model.fit(X_train, y_train)\n\n# 5️⃣ Submission tayyorlash\nimport glob\n\n# Barcha evaluation fayllarini o‘qish va birlashtirish\neval_files = glob.glob(\"/kaggle/input/alpha-radar-solana-sprint/evaluation_set_30s_chunk_*.csv\")\nsubmission = pd.DataFrame()\n\nfor f in eval_files:\n    df = pd.read_csv(f)\n    X_eval = df[top5_features]\n    df['token_quantity'] = rf_model.predict(X_eval)\n    submission = pd.concat([submission, df[['mint_token_id', 'token_quantity']]], axis=0)\n\n# 6️⃣ CSV sifatida saqlash\nsubmission.to_csv(\"submission.csv\", index=False)\nprint(\"Submission tayyor!\")\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T13:54:03.269778Z","iopub.execute_input":"2025-11-07T13:54:03.270162Z","iopub.status.idle":"2025-11-07T13:55:55.955850Z","shell.execute_reply.started":"2025-11-07T13:54:03.270138Z","shell.execute_reply":"2025-11-07T13:55:55.954495Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nimport lightgbm as lgb\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.metrics import mean_squared_error, r2_score\n\n# Ma'lumotni yuklash\ndf = pd.read_csv(\"/kaggle/input/alpha-radar-solana-sprint/Sample_Dataset.csv\")\n\nfeatures = ['sol_delta', 'creator_fee', 'virtual_sol_reserves', 'token_volume', 'sol_volume']\nX = df[features]\ny = df['token_quantity']\n\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n\n# LightGBM formatiga o‘tkazish\ntrain_data = lgb.Dataset(X_train, label=y_train)\nvalid_data = lgb.Dataset(X_test, label=y_test)\n\n# Parametrlar\nparams = {\n    'objective': 'regression',\n    'learning_rate': 0.1,\n    'num_leaves': 31,\n    'max_depth': 10,\n    'metric': 'rmse'\n}\n\n# Modelni fit qilish (early stopping callbacks bilan)\nlgb_model = lgb.train(\n    params,\n    train_data,\n    num_boost_round=500,\n    valid_sets=[valid_data],\n    callbacks=[lgb.early_stopping(stopping_rounds=50), lgb.log_evaluation(50)]\n)\n\n# Bashorat qilish\ny_pred = lgb_model.predict(X_test, num_iteration=lgb_model.best_iteration)\n\n# Natijani baholash\nprint(\"MSE:\", mean_squared_error(y_test, y_pred))\nprint(\"R2:\", r2_score(y_test, y_pred))\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T14:04:29.268649Z","iopub.execute_input":"2025-11-07T14:04:29.269392Z","iopub.status.idle":"2025-11-07T14:04:43.674679Z","shell.execute_reply.started":"2025-11-07T14:04:29.269361Z","shell.execute_reply":"2025-11-07T14:04:43.673261Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\n\n# 1️⃣ Test datasetni yuklash (o'zingizga mos yo‘l bilan)\nX_test_submission = pd.read_csv(\"/kaggle/input/alpha-radar-solana-sprint/evaluation_set_30s_chunk_001.csv\")\n\n# 2️⃣ Faqat modelda ishlatilgan ustunlarni tanlaymiz\ntop_features = ['sol_delta', 'creator_fee', 'virtual_sol_reserves', 'token_volume', 'sol_volume']\nX_test_submission = X_test_submission[top_features]\n\n# 3️⃣ Bashorat qilish\n# Agar siz RandomForest modelini ishlatayotgan bo‘lsangiz:\ny_test_pred = rf_model.predict(X_test_submission)\n\n# Agar LightGBM modelini ishlatayotgan bo‘lsangiz:\n# y_test_pred = lgb_model.predict(X_test_submission)\n\n# 4️⃣ Submission DataFrame yaratish\nsubmission = pd.DataFrame({\n    \"mint_token_id\": X_test_submission.index,  # yoki test faylida token_id ustuni bo‘lsa: \"X_test_submission['mint_token_id']\"\n    \"token_quantity\": y_test_pred\n})\n\n# 5️⃣ CSV faylga saqlash\nsubmission.to_csv(\"submission.csv\", index=False)\n\nprint(\"Submission CSV tayyor!\")\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T14:10:09.138233Z","iopub.execute_input":"2025-11-07T14:10:09.139974Z","iopub.status.idle":"2025-11-07T14:10:13.066705Z","shell.execute_reply.started":"2025-11-07T14:10:09.139926Z","shell.execute_reply":"2025-11-07T14:10:13.065379Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Fit qilish uchun ishlatilgan ustunlar\nused_features = top5_features  # sizning eng muhim 5 ustun\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T14:14:20.187717Z","iopub.execute_input":"2025-11-07T14:14:20.188055Z","iopub.status.idle":"2025-11-07T14:14:20.193846Z","shell.execute_reply.started":"2025-11-07T14:14:20.188034Z","shell.execute_reply":"2025-11-07T14:14:20.192357Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"X_test_submission = pd.read_csv(\"/kaggle/input/alpha-radar-solana-sprint/evaluation_set_30s_chunk_001.csv\")\n\n# Test datasetda kerakli ustunlar borligini tekshiring\nX_test_submission = X_test_submission[used_features]  # faqat fit qilgan ustunlar\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T14:14:34.521473Z","iopub.execute_input":"2025-11-07T14:14:34.521868Z","iopub.status.idle":"2025-11-07T14:14:37.784113Z","shell.execute_reply.started":"2025-11-07T14:14:34.521843Z","shell.execute_reply":"2025-11-07T14:14:37.782928Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"y_test_pred = rf_model.predict(X_test_submission)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T14:14:54.302064Z","iopub.execute_input":"2025-11-07T14:14:54.302488Z","iopub.status.idle":"2025-11-07T14:14:54.658703Z","shell.execute_reply.started":"2025-11-07T14:14:54.302451Z","shell.execute_reply":"2025-11-07T14:14:54.657549Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"submission = pd.DataFrame({\n    'index': range(len(y_test_pred)),  # 0,1,2,...\n    'token_quantity': y_test_pred\n})\nsubmission.to_csv(\"submission.csv\", index=False)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T14:16:04.559261Z","iopub.execute_input":"2025-11-07T14:16:04.559635Z","iopub.status.idle":"2025-11-07T14:16:05.265529Z","shell.execute_reply.started":"2025-11-07T14:16:04.559610Z","shell.execute_reply":"2025-11-07T14:16:05.263958Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\n\n# test faylini yuklash (faqat uzunligini bilish uchun)\ntest_df = pd.read_csv(\"/kaggle/input/alpha-radar-solana-sprint/evaluation_set_30s_chunk_001.csv\")\n\n# model bashorati (y_test_pred) tayyor bo‘lgan deb faraz qilamiz\n# Submission DataFrame yaratish\nsubmission = pd.DataFrame({\n    'index': range(len(y_test_pred)),  # 0,1,2,...\n    'token_quantity': y_test_pred\n})\n\n# CSV faylga saqlash\nsubmission.to_csv(\"submission.csv\", index=False)\n\nprint(\"Submission CSV tayyor!\")\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-11-07T14:17:17.924339Z","iopub.execute_input":"2025-11-07T14:17:17.925765Z","iopub.status.idle":"2025-11-07T14:17:20.691388Z","shell.execute_reply.started":"2025-11-07T14:17:17.925723Z","shell.execute_reply":"2025-11-07T14:17:20.690254Z"}},"outputs":[],"execution_count":null}]}