CoolFace
Apppublic

EricoR/Indian_Airplane_Price_Prediction

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
Inference.ipynb198 linesDownload Raw Back to src
1{2 "cells": [3  {4   "cell_type": "code",5   "execution_count": 1,6   "id": "e54e1526",7   "metadata": {},8   "outputs": [],9   "source": [10    "import numpy as np\n",11    "import pandas as pd\n",12    "import pickle\n",13    "import json"14   ]15  },16  {17   "cell_type": "code",18   "execution_count": 2,19   "id": "a66241c1",20   "metadata": {},21   "outputs": [22    {23     "name": "stderr",24     "output_type": "stream",25     "text": [26      "c:\\Users\\muham\\anaconda3\\Lib\\site-packages\\sklearn\\base.py:376: InconsistentVersionWarning: Trying to unpickle estimator StandardScaler from version 1.5.2 when using version 1.5.1. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n",27      "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n",28      "  warnings.warn(\n",29      "c:\\Users\\muham\\anaconda3\\Lib\\site-packages\\sklearn\\base.py:376: InconsistentVersionWarning: Trying to unpickle estimator Pipeline from version 1.5.2 when using version 1.5.1. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n",30      "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n",31      "  warnings.warn(\n",32      "c:\\Users\\muham\\anaconda3\\Lib\\site-packages\\sklearn\\base.py:376: InconsistentVersionWarning: Trying to unpickle estimator RobustScaler from version 1.5.2 when using version 1.5.1. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n",33      "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n",34      "  warnings.warn(\n",35      "c:\\Users\\muham\\anaconda3\\Lib\\site-packages\\sklearn\\base.py:376: InconsistentVersionWarning: Trying to unpickle estimator OneHotEncoder from version 1.5.2 when using version 1.5.1. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n",36      "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n",37      "  warnings.warn(\n",38      "c:\\Users\\muham\\anaconda3\\Lib\\site-packages\\sklearn\\base.py:376: InconsistentVersionWarning: Trying to unpickle estimator OrdinalEncoder from version 1.5.2 when using version 1.5.1. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n",39      "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n",40      "  warnings.warn(\n",41      "c:\\Users\\muham\\anaconda3\\Lib\\site-packages\\sklearn\\base.py:376: InconsistentVersionWarning: Trying to unpickle estimator ColumnTransformer from version 1.5.2 when using version 1.5.1. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n",42      "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n",43      "  warnings.warn(\n",44      "c:\\Users\\muham\\anaconda3\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [12:31:32] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0015a694724fa8361-1\\xgboost\\xgboost-ci-windows\\src\\data\\../common/error_msg.h:80: If you are loading a serialized model (like pickle in Python, RDS in R) or\n",45      "configuration generated by an older version of XGBoost, please export the model by calling\n",46      "`Booster.save_model` from that version first, then load it back in current version. See:\n",47      "\n",48      "    https://xgboost.readthedocs.io/en/stable/tutorials/saving_model.html\n",49      "\n",50      "for more details about differences between saving model and serializing.\n",51      "\n",52      "  warnings.warn(smsg, UserWarning)\n"53     ]54    }55   ],56   "source": [57    "with open('best_xgb_model.pkl', 'rb') as file_1:\n",58    "    best_xgb = pickle.load(file_1)\n",59    "with open('selected_features.txt', 'r') as file_2:\n",60    "    features = json.load(file_2)"61   ]62  },63  {64   "cell_type": "code",65   "execution_count": 3,66   "id": "d1ddaf69",67   "metadata": {},68   "outputs": [69    {70     "name": "stdout",71     "output_type": "stream",72     "text": [73      "features: ['airline', 'source_city', 'stops', 'arrival_time', 'destination_city', 'class', 'duration', 'days_left']\n"74     ]75    }76   ],77   "source": [78    "print(\"features:\", features)"79   ]80  },81  {82   "cell_type": "code",83   "execution_count": 4,84   "id": "9c89c829",85   "metadata": {},86   "outputs": [87    {88     "name": "stdout",89     "output_type": "stream",90     "text": [91      "     airline   flight source_city departure_time stops arrival_time  \\\n",92      "0     IndiGo   UK-963       Delhi      Afternoon  zero    Afternoon   \n",93      "1     IndiGo   UK-945      Mumbai        Morning   one      Morning   \n",94      "2    AirAsia  SG-9927   Bangalore  Early_Morning  zero      Morning   \n",95      "3  Akasa Air   6E-533     Chennai  Early_Morning   one    Afternoon   \n",96      "4  Akasa Air   I5-737       Delhi      Afternoon  zero        Night   \n",97      "\n",98      "  destination_city     class  duration  days_left  \n",99      "0        Bangalore  Business      2.12         50  \n",100      "1        Bangalore  Business      2.35         45  \n",101      "2        Bangalore  Business      3.40         12  \n",102      "3          Chennai   Economy      2.86         10  \n",103      "4          Kolkata   Economy      2.47         41  \n"104     ]105    }106   ],107   "source": [108    "import pandas as pd\n",109    "import numpy as np\n",110    "\n",111    "# Daftar data untuk diacak\n",112    "airlines = ['SpiceJet', 'AirAsia', 'Vistara', 'IndiGo', 'Akasa Air']\n",113    "flight_numbers = [f'SG-{np.random.randint(1000, 9999)}' for _ in range(5)] + \\\n",114    "                 [f'I5-{np.random.randint(100, 999)}' for _ in range(5)] + \\\n",115    "                 [f'UK-{np.random.randint(900, 999)}' for _ in range(5)] + \\\n",116    "                 [f'6E-{np.random.randint(100, 999)}' for _ in range(5)] + \\\n",117    "                 [f'QP-{np.random.randint(100, 999)}' for _ in range(5)]\n",118    "source_cities = ['Delhi', 'Mumbai', 'Bangalore', 'Kolkata', 'Chennai']\n",119    "destination_cities = ['Mumbai', 'Delhi', 'Bangalore', 'Kolkata', 'Chennai']\n",120    "departure_times = ['Early_Morning', 'Morning', 'Afternoon', 'Evening', 'Night']\n",121    "arrival_times = ['Early_Morning', 'Morning', 'Afternoon', 'Evening', 'Night']\n",122    "stops = ['zero', 'one', 'two_or_more']\n",123    "classes = ['Economy', 'Business']\n",124    "durations = np.round(np.random.uniform(1.5, 4.0, 5), 2)\n",125    "days_left = np.random.randint(1, 60, 5)\n",126    "\n",127    "# Membuat DataFrame\n",128    "data = {\n",129    "    'airline': np.random.choice(airlines, 5),\n",130    "    'flight': np.random.choice(flight_numbers, 5),\n",131    "    'source_city': np.random.choice(source_cities, 5),\n",132    "    'departure_time': np.random.choice(departure_times, 5),\n",133    "    'stops': np.random.choice(stops, 5),\n",134    "    'arrival_time': np.random.choice(arrival_times, 5),\n",135    "    'destination_city': np.random.choice(destination_cities, 5),\n",136    "    'class': np.random.choice(classes, 5),\n",137    "    'duration': durations,\n",138    "    'days_left': days_left,\n",139    "}\n",140    "\n",141    "df = pd.DataFrame(data)\n",142    "\n",143    "print(df)"144   ]145  },146  {147   "cell_type": "code",148   "execution_count": 5,149   "id": "4e7f2d77",150   "metadata": {},151   "outputs": [],152   "source": [153    "predict_data = df[features]\n",154    "predictions = best_xgb.predict(predict_data)"155   ]156  },157  {158   "cell_type": "code",159   "execution_count": 6,160   "id": "e771e484",161   "metadata": {},162   "outputs": [163    {164     "name": "stdout",165     "output_type": "stream",166     "text": [167      "Prediction of the model: [23936.363  28678.451  25645.736   8989.014   3126.9387]\n"168     ]169    }170   ],171   "source": [172    "print(\"Prediction of the model:\", predictions)"173   ]174  }175 ],176 "metadata": {177  "kernelspec": {178   "display_name": "base",179   "language": "python",180   "name": "python3"181  },182  "language_info": {183   "codemirror_mode": {184    "name": "ipython",185    "version": 3186   },187   "file_extension": ".py",188   "mimetype": "text/x-python",189   "name": "python",190   "nbconvert_exporter": "python",191   "pygments_lexer": "ipython3",192   "version": "3.12.4"193  }194 },195 "nbformat": 4,196 "nbformat_minor": 5197}198