GitHub Actions commited on
Commit
7ea5672
Β·
0 Parent(s):

πŸš€ Deploying to Hugging Face Space: RidePricingInsightEngine

Browse files
EDA.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
Model_Selection.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
README.md ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: RidePricingInsightEngine
3
+ emoji: πŸš—
4
+ colorFrom: blue
5
+ colorTo: green
6
+ sdk: gradio
7
+ sdk_version: "5.22.0"
8
+ app_file: app.py
9
+ pinned: false
10
+ license: mit
11
+ short_description: ML-powered ride fare prediction using regression
12
+ ---
13
+
14
+ # Dynamic Ride Pricing Optimization
15
+
16
+ ## πŸš€ Overview
17
+
18
+ This project presents a machine learning-based solution for **ride fare prediction and optimization**, using a rich synthetic dataset of historical ride data. By analyzing real-time supply-demand conditions and customer attributes, the system aims to help ride-sharing platforms implement **data-driven dynamic pricing strategies**.
19
+
20
+ ## πŸ“Š Dataset
21
+
22
+ - **Source**: [Dynamic Pricing Dataset (Kaggle)](https://www.kaggle.com/datasets/arashnic/dynamic-pricing-dataset)
23
+ - **Description**: A **synthetic dataset** designed for ride-sharing fare prediction. Features include:
24
+ - Number of Riders / Drivers
25
+ - Location Category
26
+ - Loyalty Status
27
+ - Number of Past Rides
28
+ - Ratings
29
+ - Booking Time
30
+ - Vehicle Type
31
+ - Expected Ride Duration
32
+ - Historical Cost of Ride
33
+
34
+ ## πŸ” Problem Statement
35
+
36
+ The objective is to identify which features most influence ride fares and approximate pricing behavior through various **regression models**. This includes:
37
+ - Finding key predictors for optimal fare setting.
38
+ - Estimating price sensitivity across rider and supply characteristics.
39
+ - Offering recommendations for **dynamic fare adjustments** in real time.
40
+
41
+ ## 🧠 Model & Features
42
+
43
+ - **Regression-based modeling** (e.g., Linear, Ridge, XGBoost)
44
+ - **Final model**: Huber Regressor with non-zero intercept β€” robust to outliers, encouraging sparse feature usage
45
+ - **Feature selection pipeline** to reduce unnecessary variables
46
+ - **Price approximation engine** that generalizes across different booking conditions
47
+ - **Gradio-powered UI** for hands-on exploration
48
+
49
+ ## πŸ› οΈ Tools and Libraries
50
+
51
+ - **Python**
52
+ - **Scikit-learn**, **XGBoost**
53
+ - **Pandas**, **NumPy**
54
+ - **Gradio** for app deployment
55
+ - **Plotly** for interactive visualization
56
+
57
+ ## πŸ§ͺ How to Run Locally
58
+
59
+ ```bash
60
+ git clone https://github.com/Sharma-Pranav/Portfolio.git
61
+ cd Portfolio/projects/DynamicPricingOptimization
62
+ pip install -r requirements.txt
63
+ python app.py
64
+ ```
65
+
66
+ ## πŸ“ˆ Results
67
+
68
+ - Clear insights into **fare-driving features** like rider demand, loyalty, and time of day.
69
+ - **Huber Regressor** outperformed others due to robustness and minimal feature reliance.
70
+ - **Optimal pricing zones** visualized for strategic recommendations.
71
+ - Portable deployment for teams to simulate and iterate pricing strategies.
72
+
73
+ ---
74
+
75
+ > ✨ Developed by **Pranav Sharma** | πŸš€ Hugging Face Space: [`RidePricingInsightEngine`](https://huggingface.co/spaces/PranavSharma/RidePricingInsightEngine)
Studying effect of data on parameters and performance.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
app.py ADDED
@@ -0,0 +1,904 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import numpy as np
3
+ import pandas as pd
4
+ from joblib import dump
5
+ import warnings
6
+ from sklearn.linear_model import LinearRegression, Lasso, Ridge, ElasticNet, HuberRegressor
7
+ from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor, AdaBoostRegressor
8
+ from sklearn.utils.estimator_checks import check_estimator
9
+ from sklearn.utils.metaestimators import available_if
10
+ from sklearn.exceptions import NotFittedError
11
+ from sklearn.neighbors import KNeighborsRegressor
12
+ from sklearn.svm import SVR, LinearSVR
13
+ from sklearn.tree import DecisionTreeRegressor
14
+ # from xgboost import XGBRegressor
15
+ # from lightgbm import LGBMRegressor
16
+ from sklearn.model_selection import train_test_split, GridSearchCV
17
+ from sklearn.metrics import mean_absolute_error, r2_score
18
+ import plotly.graph_objects as go
19
+ from huggingface_hub import Repository, HfApi, DatasetCardData
20
+ from skops.card import Card
21
+ import pickle
22
+ from pathlib import Path
23
+ from tempfile import mkdtemp
24
+ from skops import hub_utils
25
+ from pathlib import Path
26
+ from tempfile import mkdtemp
27
+ from joblib import dump
28
+ import pickle
29
+ import pandas as pd
30
+
31
+ # print(os.getcwd())
32
+ # Initialize repository
33
+ User = "PranavSharma"
34
+ repo_name = "dynamic-pricing-model"
35
+ repo_url = f"https://huggingface.co/{User}/{repo_name}"
36
+
37
+ from skops.card import Card
38
+ import gradio as gr
39
+
40
+ # Suppress warnings for cleaner output
41
+ warnings.filterwarnings("ignore")
42
+
43
+ # Configuration variables for paths and parameters
44
+ DATA_PATH = os.path.join("data", "dynamic_pricing.csv")
45
+
46
+ # Utility function to check if a file exists
47
+ def check_file_exists(file_path):
48
+ """
49
+ Check if a file exists at the given path.
50
+
51
+ Parameters
52
+ ----------
53
+ file_path : str
54
+ Path to the file.
55
+
56
+ Raises
57
+ ------
58
+ FileNotFoundError
59
+ If the file does not exist.
60
+ """
61
+ if not os.path.exists(file_path):
62
+ raise FileNotFoundError(f"File not found: {file_path}")
63
+
64
+ # Load and preprocess the dataset
65
+ def load_data():
66
+ """
67
+ Load and preprocess the dataset by performing one-hot encoding
68
+ on categorical variables.
69
+
70
+ Returns
71
+ -------
72
+ tuple
73
+ A tuple containing the processed dataset and the list of boolean columns.
74
+ """
75
+ check_file_exists(DATA_PATH)
76
+ data = pd.read_csv(DATA_PATH)
77
+ data = data.sample(frac=1, random_state=42) # Shuffle the data
78
+ categorical_columns = data.select_dtypes(include=["object"]).columns
79
+ data = pd.get_dummies(data, columns=categorical_columns, drop_first=True)
80
+ bool_columns = [col for col in data.columns if data[col].dropna().value_counts().index.isin([0, 1]).all()]
81
+ return data, bool_columns
82
+
83
+ # Compute default values and feature types for Gradio inputs
84
+ def compute_defaults_and_types(X, bool_columns):
85
+ defaults = {}
86
+ types = {}
87
+ for column in X.columns:
88
+ if column in bool_columns:
89
+ defaults[column] = 0
90
+ types[column] = "Categorical (One-hot)"
91
+ else:
92
+ defaults[column] = X[column].mean()
93
+ types[column] = "Numerical"
94
+ return defaults, types
95
+
96
+ # Generate a scatter plot for Expected_Ride_Duration vs Historical_Cost_of_Ride
97
+ def duration_vs_cost_plot(data):
98
+ fig = go.Figure()
99
+ fig.add_trace(go.Scatter(
100
+ x=data["Expected_Ride_Duration"],
101
+ y=data["Historical_Cost_of_Ride"],
102
+ mode="markers",
103
+ marker=dict(size=8, color="rgba(99, 110, 250, 0.7)", line=dict(width=1, color="rgba(99, 110, 250, 1)")),
104
+ name="Data Points"
105
+ ))
106
+ fig.update_layout(
107
+ title=dict(text="Expected Ride Duration vs Historical Ride Cost", font=dict(size=18)),
108
+ xaxis=dict(title="Expected Ride Duration (minutes)", gridcolor="lightgray"),
109
+ yaxis=dict(title="Historical Ride Cost ($)", gridcolor="lightgray"),
110
+ template="plotly_white"
111
+ )
112
+ return fig
113
+
114
+ # Generate MAE and RΒ² plots with GridSearchCV
115
+ def performance_plots_with_gridsearch(results):
116
+ X_train = results["X_train"]
117
+ y_train = results["y_train"]
118
+ X_test = results["X_test"]
119
+ y_test = results["y_test"]
120
+ train_sizes = np.linspace(50, len(X_train), 10, dtype=int)
121
+
122
+ mae_scores = []
123
+ r2_scores = []
124
+
125
+ param_grid = {"alpha": np.logspace(-4, 0, 10)}
126
+
127
+ for train_size in train_sizes:
128
+ X_train_sub = X_train.iloc[:train_size]
129
+ y_train_sub = y_train.iloc[:train_size]
130
+
131
+ grid_search = GridSearchCV(
132
+ Lasso(fit_intercept=False),
133
+ param_grid,
134
+ scoring="neg_mean_absolute_error",
135
+ cv=5
136
+ )
137
+ grid_search.fit(X_train_sub, y_train_sub)
138
+ best_model = grid_search.best_estimator_
139
+
140
+ y_pred = best_model.predict(X_test)
141
+ mae_scores.append(mean_absolute_error(y_test, y_pred))
142
+ r2_scores.append(r2_score(y_test, y_pred))
143
+
144
+ mae_fig = go.Figure()
145
+ mae_fig.add_trace(go.Scatter(
146
+ x=train_sizes,
147
+ y=mae_scores,
148
+ mode="lines+markers",
149
+ marker=dict(size=6, color="blue"),
150
+ line=dict(width=2, color="blue"),
151
+ name="MAE"
152
+ ))
153
+ mae_fig.update_layout(
154
+ title="Effect of Training Size on MAE (with GridSearchCV)",
155
+ xaxis_title="Training Size",
156
+ yaxis_title="Mean Absolute Error (MAE)",
157
+ template="plotly_white"
158
+ )
159
+
160
+ r2_fig = go.Figure()
161
+ r2_fig.add_trace(go.Scatter(
162
+ x=train_sizes,
163
+ y=r2_scores,
164
+ mode="lines+markers",
165
+ marker=dict(size=6, color="green"),
166
+ line=dict(width=2, color="green"),
167
+ name="RΒ²"
168
+ ))
169
+ r2_fig.update_layout(
170
+ title="Effect of Training Size on RΒ² (with GridSearchCV)",
171
+ xaxis_title="Training Size",
172
+ yaxis_title="RΒ² Score",
173
+ template="plotly_white"
174
+ )
175
+
176
+ return mae_fig, r2_fig
177
+
178
+ # Generate coefficient progression plot with tracking
179
+ # Generate coefficient progression plot with tracking
180
+ def coefficients_progression_plot_with_tracking(results):
181
+ X_train = results["X_train"]
182
+ y_train = results["y_train"]
183
+ train_sizes = np.linspace(50, len(X_train), 10, dtype=int)
184
+
185
+ coefficients_progress = []
186
+ feature_names = results["feature_names"]
187
+
188
+ param_grid = {"alpha": np.logspace(-4, 0, 10)}
189
+
190
+ for train_size in train_sizes:
191
+ X_train_sub = X_train.iloc[:train_size]
192
+ y_train_sub = y_train.iloc[:train_size]
193
+
194
+ grid_search = GridSearchCV(
195
+ Lasso(fit_intercept=False),
196
+ param_grid,
197
+ scoring="neg_mean_absolute_error",
198
+ cv=5
199
+ )
200
+ grid_search.fit(X_train_sub, y_train_sub)
201
+ best_model = grid_search.best_estimator_
202
+
203
+ coefficients_progress.append(best_model.coef_)
204
+
205
+ coefficients_array = np.array(coefficients_progress)
206
+
207
+ fig = go.Figure()
208
+ for idx, feature in enumerate(feature_names):
209
+ fig.add_trace(go.Scatter(
210
+ x=train_sizes,
211
+ y=coefficients_array[:, idx],
212
+ mode="lines+markers",
213
+ name=feature,
214
+ line=dict(width=2),
215
+ marker=dict(size=6, opacity=0.8)
216
+ ))
217
+ fig.update_layout(
218
+ title="Coefficient Progression with Training Size (Tracking)",
219
+ xaxis_title="Training Size",
220
+ yaxis_title="Coefficient Value",
221
+ template="plotly_white",
222
+ height=700, # Increased height for better vertical visibility
223
+ legend=dict(
224
+ orientation="h", # Horizontal legend
225
+ y=-0.3, # Position legend below the plot
226
+ x=0.5,
227
+ xanchor="center"
228
+ )
229
+ )
230
+ return fig
231
+
232
+
233
+ # New function to evaluate multiple linear models using GridSearchCV
234
+ def train_linear_models_with_gridsearch(X_train, y_train, X_test, y_test):
235
+ """
236
+ Train and evaluate multiple linear models using GridSearchCV and compare their performance.
237
+
238
+ Parameters
239
+ ----------
240
+ X_train : pd.DataFrame
241
+ Training feature set.
242
+ y_train : pd.Series
243
+ Training target variable.
244
+ X_test : pd.DataFrame
245
+ Testing feature set.
246
+ y_test : pd.Series
247
+ Testing target variable.
248
+
249
+ Returns
250
+ -------
251
+ dict
252
+ A dictionary containing the best model, its parameters, and performance metrics.
253
+ """
254
+ models = {
255
+ "Lasso": {
256
+ "model": Lasso(fit_intercept=False),
257
+ "param_grid": {"alpha": [0.001, 0.01, 0.1, 1]},
258
+ },
259
+ "Ridge": {
260
+ "model": Ridge(fit_intercept=False),
261
+ "param_grid": {"alpha": [0.001, 0.01, 0.1, 1]},
262
+ },
263
+ "ElasticNet": {
264
+ "model": ElasticNet(fit_intercept=False),
265
+ "param_grid": {
266
+ "alpha": [0.001, 0.01, 0.1, 1],
267
+ "l1_ratio": [0.2, 0.5, 0.8],
268
+ },
269
+ },
270
+ "LinearRegression": {
271
+ "model": LinearRegression(fit_intercept=False),
272
+ "param_grid": {}, # No hyperparameters for tuning
273
+ },
274
+ "HuberRegressor": {
275
+ "model": HuberRegressor(fit_intercept=False),
276
+ "param_grid": {"epsilon": [1.2, 1.5], "alpha": [0.001, 0.01]},
277
+ },
278
+ "KNeighborsRegressor": {
279
+ "model": KNeighborsRegressor(),
280
+ "param_grid": {"n_neighbors": [3, 5, 7], "weights": ["uniform", "distance"]},
281
+ },
282
+ "DecisionTreeRegressor": {
283
+ "model": DecisionTreeRegressor(),
284
+ "param_grid": {
285
+ "max_depth": [None, 10, 20],
286
+ "min_samples_split": [2, 5],
287
+ "min_samples_leaf": [1, 2],
288
+ },
289
+ },
290
+ "RandomForestRegressor": {
291
+ "model": RandomForestRegressor(random_state=42),
292
+ "param_grid": {
293
+ "n_estimators": [50, 100],
294
+ "max_depth": [10, 20, None],
295
+ "min_samples_split": [2, 5],
296
+ },
297
+ },
298
+ "GradientBoostingRegressor": {
299
+ "model": GradientBoostingRegressor(random_state=42),
300
+ "param_grid": {
301
+ "n_estimators": [50, 100],
302
+ "learning_rate": [0.05, 0.1],
303
+ "max_depth": [3, 5],
304
+ },
305
+ },
306
+ "AdaBoostRegressor": {
307
+ "model": AdaBoostRegressor(random_state=42),
308
+ "param_grid": {
309
+ "n_estimators": [50, 100],
310
+ "learning_rate": [0.05, 0.1],
311
+ },
312
+ },
313
+ "SVR": {
314
+ "model": SVR(),
315
+ "param_grid": {
316
+ "C": [0.1, 1],
317
+ "epsilon": [0.01, 0.1],
318
+ "kernel": ["linear", "rbf"],
319
+ },
320
+ },
321
+ "LinearSVR": {
322
+ "model": LinearSVR(random_state=42),
323
+ "param_grid": {"C": [0.1, 1]},
324
+ },
325
+ }
326
+
327
+ results = []
328
+ best_model = None
329
+ best_result = None
330
+ for name, config in models.items():
331
+ try:
332
+ grid_search = GridSearchCV(
333
+ config["model"],
334
+ config["param_grid"],
335
+ scoring="neg_mean_absolute_error",
336
+ cv=5
337
+ )
338
+ grid_search.fit(X_train, y_train)
339
+
340
+ # Predictions and evaluation
341
+ y_pred = grid_search.best_estimator_.predict(X_test)
342
+ mae = mean_absolute_error(y_test, y_pred)
343
+ r2 = r2_score(y_test, y_pred)
344
+
345
+ # Collect results
346
+ results.append({
347
+ "model": name,
348
+ "best_params": grid_search.best_params_,
349
+ "mae": mae,
350
+ "r2": r2,
351
+ "best_estimator": grid_search.best_estimator_,
352
+ })
353
+
354
+ except Exception as e:
355
+ print(f"Error training model {name}: {e}")
356
+
357
+ # Identify the best model based on MAE
358
+ if results:
359
+ best_result = min(results, key=lambda x: x["mae"])
360
+ best_model = best_result["best_estimator"]
361
+
362
+ return {
363
+ "results": results,
364
+ "best_model_name": best_result["model"] if best_result else None,
365
+ "best_model_metrics": best_result if best_result else None,
366
+ "best_model": best_model, # Return the best model directly
367
+ }
368
+
369
+ def train_model():
370
+ original_data = pd.read_csv(DATA_PATH)
371
+ data, bool_columns = load_data()
372
+ X = data.drop("Historical_Cost_of_Ride", axis=1)
373
+ y = data["Historical_Cost_of_Ride"]
374
+ X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
375
+
376
+ # Get the best linear model and top results
377
+ linear_model_results = train_linear_models_with_gridsearch(X_train, y_train, X_test, y_test)
378
+ best_model_name = linear_model_results["best_model_name"]
379
+ best_model_metrics = linear_model_results["best_model_metrics"]
380
+ top_models = linear_model_results["results"] # Get all models' results
381
+ best_model = linear_model_results["best_model"]
382
+ y_pred = best_model.predict(X_test)
383
+ mae = mean_absolute_error(y_test, y_pred)
384
+ r2 = r2_score(y_test, y_pred)
385
+
386
+ feature_names = X_train.columns
387
+ coefficients = best_model.coef_
388
+
389
+ useful_features = [(feature, coef) for feature, coef in zip(feature_names, coefficients) if coef != 0]
390
+ not_useful_features = [feature for feature, coef in zip(feature_names, coefficients) if coef == 0]
391
+
392
+ equation_terms = [f"*{coef:.4f}* Γ— *{feature}*" for feature, coef in useful_features]
393
+ regression_equation = " + ".join(equation_terms)
394
+ regression_equation = "Cost of Ride = " + regression_equation
395
+
396
+ actual_vs_pred_plot = actual_vs_predicted_plot(y_test, y_pred)
397
+ useful_features_formatted = "\n".join(
398
+ [f"- {feature}: {coef:.4f}" for feature, coef in useful_features]
399
+ )
400
+ not_useful_features_formatted = "\n".join(
401
+ [f"- {feature}" for feature in not_useful_features]
402
+ )
403
+
404
+ default_values, types = compute_defaults_and_types(X_train, bool_columns)
405
+
406
+ scatter_plot = duration_vs_cost_plot(original_data)
407
+
408
+ # Generate a DataFrame for the top 10 models
409
+ top_models_sorted = sorted(top_models, key=lambda x: x['mae'])[:10]
410
+ top_models_df = pd.DataFrame.from_records(
411
+ [
412
+ {
413
+ "Rank": idx + 1,
414
+ "Model": result["model"],
415
+ "MAE": f"{result['mae']:.4f}",
416
+ "RΒ²": f"{result['r2']:.4f}",
417
+ "Best Params": result["best_params"],
418
+ }
419
+ for idx, result in enumerate(top_models_sorted)
420
+ ]
421
+ )
422
+ top_models_html = top_models_df.to_html(index=False, border=0, classes="table table-striped")
423
+
424
+ return {
425
+ "X_train": X_train,
426
+ "y_train": y_train,
427
+ "X_test": X_test,
428
+ "y_test": y_test,
429
+ "y_pred": y_pred,
430
+ "feature_names": feature_names,
431
+ "coefficients": coefficients,
432
+ "mae": mae,
433
+ "r2": r2,
434
+ "best_model_name": best_model_name,
435
+ "best_model_metrics": best_model_metrics,
436
+ "best_model": best_model,
437
+ "regression_equation": regression_equation,
438
+ "scatter_plot": scatter_plot,
439
+ "useful_features": useful_features_formatted,
440
+ "not_useful_features": not_useful_features_formatted,
441
+ "top_models_html": top_models_html, # Include HTML table here
442
+ "default_values": default_values,
443
+ "feature_types": types,
444
+ "original_data_html": original_data.head(3).to_html(classes="table table-striped"),
445
+ "original_data": original_data,
446
+ "actual_vs_predicted_plot": actual_vs_pred_plot
447
+
448
+ }
449
+
450
+ def process_features_with_values(feature_string):
451
+ """Cleans and splits the feature string, retaining both feature names and values."""
452
+ if not feature_string:
453
+ return []
454
+ feature_string = feature_string.strip()
455
+ formatted_features = []
456
+ for item in feature_string.split("-"):
457
+ if not item.strip():
458
+ continue
459
+ if item.strip().replace(".", "", 1).isdigit(): # Check if the item is a float
460
+ if formatted_features:
461
+ formatted_features[-1] = formatted_features[-1].strip() + ": " + item.strip() + "\n"
462
+ else:
463
+ formatted_features.append(" ".join(item.split()) + "\n") # Clean extra spaces and add
464
+ return formatted_features
465
+
466
+ def process_features_without_values(feature_string):
467
+ """Cleans and splits the feature string, keeping only feature names."""
468
+ if not feature_string:
469
+ return []
470
+ feature_string = feature_string.strip()
471
+ return [
472
+ item.split(":")[0].strip() + "\n" # Keep only the feature name before ":"
473
+ for item in feature_string.split("-")
474
+ if item.strip()
475
+ ]
476
+
477
+ def actual_vs_predicted_plot(y_actual, y_pred):
478
+ """
479
+ Create a scatter plot for Actual vs Predicted values.
480
+
481
+ Parameters
482
+ ----------
483
+ y_actual : array-like
484
+ Actual target values.
485
+ y_pred : array-like
486
+ Predicted target values.
487
+
488
+ Returns
489
+ -------
490
+ go.Figure
491
+ A Plotly scatter plot.
492
+ """
493
+ fig = go.Figure()
494
+
495
+ # Add scatter points
496
+ fig.add_trace(go.Scatter(
497
+ x=y_actual,
498
+ y=y_pred,
499
+ mode="markers",
500
+ marker=dict(size=8, color="rgba(99, 110, 250, 0.7)", line=dict(width=1)),
501
+ name="Actual vs Predicted"
502
+ ))
503
+
504
+ # Add ideal reference line
505
+ min_val = min(min(y_actual), min(y_pred))
506
+ max_val = max(max(y_actual), max(y_pred))
507
+ fig.add_trace(go.Scatter(
508
+ x=[min_val, max_val],
509
+ y=[min_val, max_val],
510
+ mode="lines",
511
+ line=dict(dash="dash", color="gray"),
512
+ name="Ideal Line"
513
+ ))
514
+
515
+ # Update layout
516
+ fig.update_layout(
517
+ title="Actual vs Predicted Values",
518
+ xaxis_title="Actual Values",
519
+ yaxis_title="Predicted Values",
520
+ template="plotly_white"
521
+ )
522
+ fig.add_annotation(
523
+ x=max_val,
524
+ y=max_val,
525
+ text="Ideal Line (y=x)",
526
+ showarrow=True,
527
+ arrowhead=2
528
+ )
529
+ return fig
530
+
531
+
532
+ def train_model_button():
533
+ """
534
+ Train the model and return all relevant outputs for display.
535
+ Save a model card documenting the results using skops 0.10.0.
536
+ Push the model and card to Hugging Face Hub.
537
+ """
538
+
539
+ # Train the model and get the results
540
+ comprehensive_interface.trained_model = train_model()
541
+ results = comprehensive_interface.trained_model
542
+
543
+ # Extract results
544
+ mae = results["mae"]
545
+ r2 = results["r2"]
546
+ scatter_plot = results["scatter_plot"]
547
+ regression_equation = results["regression_equation"]
548
+ coefficients = results["coefficients"] # NumPy array of coefficient values
549
+ feature_names = results["feature_names"] # Ensure feature names are provided
550
+ coefficients_plot = coefficients_progression_plot_with_tracking(results)
551
+ mae_plot, r2_plot = performance_plots_with_gridsearch(results)
552
+ original_data_html = results["original_data_html"]
553
+ original_data = results["original_data"]
554
+ actual_vs_pred_plot = results["actual_vs_predicted_plot"]
555
+
556
+ feature_importance_text = (
557
+ f"### Useful Features:\n"
558
+ + "".join(
559
+ [
560
+ f"- {feature}: {coef:.4f} "
561
+ f"(e.g., a unit increase in {feature} affects the cost by ${coef:.2f})\n"
562
+ for feature, coef in zip(
563
+ results["useful_features"].splitlines(),
564
+ [float(line.split(":")[1]) for line in results["useful_features"].splitlines()]
565
+ )
566
+ ]
567
+ )
568
+ + "\n\n### Non-Useful Features:\n"
569
+ + "".join([f"- {feature}\n" for feature in results["not_useful_features"].splitlines()])
570
+ )
571
+
572
+ # Save the best model using joblib
573
+ model_path = "best_model.joblib"
574
+ dump(results["best_model"], model_path)
575
+
576
+ # Initialize a temporary repository
577
+ local_repo = mkdtemp(prefix="skops-")
578
+
579
+ # Save the model as a pickle file
580
+ pkl_name = "best_model.pkl"
581
+ with open(pkl_name, mode="wb") as f:
582
+ pickle.dump(results["best_model"], f)
583
+
584
+ # Initialize repository for Hugging Face Hub
585
+ hub_utils.init(
586
+ model=pkl_name,
587
+ requirements=["scikit-learn"],
588
+ dst=local_repo,
589
+ task="tabular-regression",
590
+ data=original_data,
591
+ )
592
+
593
+ # Prepare coefficients table
594
+ coefficients_text = ""#"### Model Coefficients:\n\n"
595
+ coefficients_text += "| Feature | Coefficient |\n|---------|-------------|\n"
596
+ coefficients_text += "\n".join(
597
+ [f"| {feature} | {value:.4f} |" for feature, value in zip(feature_names, coefficients)]
598
+ )
599
+
600
+ # Prepare hyperparameters
601
+ hyperparameters = results["best_model"].get_params()
602
+
603
+ hyperparameters_text = "### Hyperparameters:\n\n"
604
+ hyperparameters_text += "\n".join([f"- {param}: {value}" for param, value in hyperparameters.items()])
605
+
606
+ # Convert Plotly plot to an inline image for Markdown
607
+ actual_vs_pred_plot_path = Path(local_repo) / "actual_vs_predicted.png"
608
+ actual_vs_pred_plot.write_image(str(actual_vs_pred_plot_path), format="png", scale=2)
609
+
610
+ # Embed image in Markdown with a description
611
+ actual_vs_pred_plot_md = (
612
+ #"### Actual vs Predicted Plot\n\n"
613
+ "The following plot shows the relationship between the actual and predicted values. "
614
+ "The closer the points are to the diagonal line, the better the predictions. "
615
+ "The dashed line represents the ideal case where predictions perfectly match the actual values.\n\n"
616
+ "![Actual vs Predicted Plot](actual_vs_predicted.png)"
617
+ )
618
+
619
+ # Create and save the model card
620
+ metadata = DatasetCardData(
621
+ language=["en"],
622
+ license="apache-2.0",
623
+ annotations_creators=["machine-generated"],
624
+ language_creators=["found"],
625
+ multilinguality="monolingual",
626
+ size_categories="10K<n<100K",
627
+ source_datasets=["original"],
628
+ task_categories=["regression"],
629
+ task_ids=["dynamic-pricing"],
630
+ pretty_name="Dynamic Pricing Model",
631
+ )
632
+ card = Card(model=pkl_name, metadata=metadata)
633
+ model_description = (
634
+ "This is a regression model trained on the Dynamic Pricing Dataset. "
635
+ "It was optimized using grid search with multiple hyperparameters."
636
+ )
637
+ card.add(
638
+ **{
639
+ "Model description": model_description,
640
+ "Model description/Intended uses & limitations": (
641
+ "This regression model is designed to predict the cost of rides based on various features such as expected ride duration, "
642
+ "number of drivers, and time of booking.\n\n"
643
+ "**Intended Uses**:\n"
644
+ "- **Dynamic Pricing Analysis**: Helps optimize pricing strategies for ride-hailing platforms.\n"
645
+ "- **Demand Forecasting**: Supports business decisions by estimating cost trends based on ride-specific parameters.\n\n"
646
+ "**Limitations**:\n"
647
+ "- **Feature Dependence**: The model's accuracy is highly dependent on the input features provided.\n"
648
+ "- **Dataset Specificity**: Performance may degrade if applied to datasets with significantly different distributions.\n"
649
+ "- **Outlier Sensitivity**: Predictions can be affected by extreme values in the dataset."
650
+ ),
651
+ "Model description/Training Procedure": "The model was trained using grid search to optimize hyperparameters. Cross-validation (5-fold) was performed to ensure robust evaluation. The best model was selected based on the lowest Mean Absolute Error (MAE) on the validation set.",
652
+ #"Hyperparameters": hyperparameters_text,
653
+ "Model description/Evaluation Results/Model Coefficients": coefficients_text,
654
+ "Model description/Evaluation Results/Regression Equation": regression_equation,
655
+ "Model description/Evaluation Results/Actual vs Predicted": (
656
+ actual_vs_pred_plot_md + "\n\n"
657
+ "The scatter plot above shows the predicted values against the actual values. The dashed line represents the ideal predictions "
658
+ "where the predicted values are equal to the actual values."
659
+ ),
660
+ "Model description/Evaluation Results": (
661
+ "The model achieved the following results on the test set:\n"
662
+ f"- **Mean Absolute Error (MAE)**: {mae}\n"
663
+ f"- **RΒ² Score**: {r2}\n\n"
664
+ "### Key Insights:\n"
665
+ "- Longer ride durations increase costs significantly, which may justify adding a surcharge for long-distance rides.\n"
666
+ "- Evening bookings reduce costs, potentially indicating lower demand during these hours.\n"
667
+ "- The model's accuracy is dependent on high-quality feature data.\n"
668
+
669
+ "\nRefer to the plots and tables for detailed performance insights."
670
+ ),
671
+ "How to Get Started with the Model": (
672
+ "To use this model:\n"
673
+ "1. **Install Dependencies**: Ensure `scikit-learn` and `pandas` are installed in your environment.\n"
674
+ "2. **Load the Model**: Download the saved model file and load it using `joblib`:\n"
675
+ " ```python\n"
676
+ " from joblib import load\n"
677
+ " model = load('best_model.joblib')\n"
678
+ " ```\n"
679
+ "3. **Prepare Input Features**: Create a DataFrame with the required input features in the same format as the training dataset.\n"
680
+ "4. **Make Predictions**: Use the `predict` method to generate predictions:\n"
681
+ " ```python\n"
682
+ " predictions = model.predict(input_features)\n"
683
+ " ```"
684
+ ),
685
+ "Model Card Authors": "This model card was written by **Pranav Sharma**.",
686
+ "Model Card Contact": "For inquiries or feedback, you can contact the author via **[GitHub](https://github.com/PranavSharma)**.",
687
+ "Citation": (
688
+ "If you use this model, please cite it as follows:\n"
689
+ "```\n"
690
+ "@model{pranav_sharma_dynamic_pricing_model_2025,\n"
691
+ " author = {Pranav Sharma},\n"
692
+ " title = {Dynamic Pricing Model},\n"
693
+ " year = {2025},\n"
694
+ " version = {1.0.0},\n"
695
+ " url = {https://huggingface.co/PranavSharma/dynamic-pricing-model}\n"
696
+ "}\n"
697
+ "```"
698
+ ),
699
+ }
700
+ )
701
+
702
+
703
+ card_path = Path(local_repo) / "README.md"
704
+ card.save(card_path)
705
+ print("Model card saved as README.md")
706
+
707
+ # Push model and card to Hugging Face Hub
708
+ try:
709
+ hub_utils.push(
710
+ repo_id=f"{User}/{repo_name}",
711
+ source=local_repo,
712
+ commit_message="Pushing model and README files to the repo!",
713
+ create_remote=True,
714
+ )
715
+ print("Model and card pushed to Hugging Face Hub.")
716
+ except Exception as e:
717
+ print(f"Failed to push to Hugging Face Hub: {e}")
718
+
719
+ # Return outputs for display in Gradio
720
+ return (
721
+ "Model trained successfully and pushed to Hugging Face Hub!",
722
+ scatter_plot,
723
+ regression_equation,
724
+ mae_plot,
725
+ r2_plot,
726
+ coefficients_plot,
727
+ actual_vs_pred_plot, # New output added
728
+ results["top_models_html"],
729
+ original_data_html,
730
+ feature_importance_text,
731
+ )
732
+
733
+
734
+
735
+ # Updated prediction functionality to ensure other outputs are consistent
736
+ def use_trained_model_button(*inputs):
737
+ """
738
+ Use the existing trained model for predictions and return relevant outputs.
739
+ """
740
+ if "trained_model" not in comprehensive_interface.__dict__:
741
+ return "No trained model found. Please train the model first.", None, None, None, None, None, None, None, None
742
+
743
+ results = comprehensive_interface.trained_model
744
+
745
+ if any(inputs):
746
+ user_inputs = list(inputs)
747
+ try:
748
+ custom_prediction = results["best_model"].predict([user_inputs])[0]
749
+ prediction_result = f"Custom Prediction: {custom_prediction:.2f}"
750
+ except NotFittedError:
751
+ prediction_result = "Trained model is not properly fitted. Please train the model again."
752
+ else:
753
+ prediction_result = "No custom input provided."
754
+
755
+ scatter_plot = results["scatter_plot"]
756
+ regression_equation = results["regression_equation"]
757
+ coefficients_plot = coefficients_progression_plot_with_tracking(results)
758
+ mae_plot, r2_plot = performance_plots_with_gridsearch(results)
759
+ original_data_html = results["original_data_html"]
760
+ top_models_html = results["top_models_html"]
761
+ feature_importance = (
762
+ f"### Useful Features:\n {results['useful_features']}\n\n"
763
+ f"### Non-Useful Features:\n {results['not_useful_features']}"
764
+ )
765
+
766
+ return (
767
+ prediction_result,
768
+ scatter_plot,
769
+ regression_equation,
770
+ mae_plot,
771
+ r2_plot,
772
+ coefficients_plot,
773
+ f"<h3>Top 10 Models</h3>{top_models_html}",
774
+ f"<h3>Original Dataset</h3>{original_data_html}",
775
+ feature_importance,
776
+ )
777
+
778
+ # Comprehensive interface function
779
+ def comprehensive_interface(*inputs):
780
+ if "trained_model" not in comprehensive_interface.__dict__:
781
+ comprehensive_interface.trained_model = train_model()
782
+
783
+ results = comprehensive_interface.trained_model
784
+ scatter_plot = results["scatter_plot"]
785
+ regression_equation = results["regression_equation"]
786
+ coefficients_plot = coefficients_progression_plot_with_tracking(results)
787
+ mae_plot, r2_plot = performance_plots_with_gridsearch(results)
788
+ original_data_html = results["original_data_html"]
789
+ top_models_html = results["top_models_html"]
790
+
791
+ # Ensure useful and non-useful features are properly formatted
792
+ useful_features = results.get("useful_features", "")
793
+ not_useful_features = results.get("not_useful_features", "")
794
+
795
+ # Process useful features (retain values) and non-useful features (omit values)
796
+ useful_features = process_features_with_values("".join(useful_features))
797
+ not_useful_features = process_features_without_values("".join(not_useful_features))
798
+
799
+ # Create feature importance display
800
+ feature_importance = (
801
+ f"### Useful Features:\n " + "".join(useful_features) + "\n\n"
802
+ f"### Non-Useful Features:\n " + "".join(not_useful_features)
803
+ )
804
+
805
+ # Prediction logic
806
+ if any(inputs):
807
+ user_inputs = list(inputs)
808
+ custom_prediction = results["best_model"].predict([user_inputs])[0]
809
+ prediction_result = f"Custom Prediction: {custom_prediction:.2f}"
810
+ else:
811
+ prediction_result = "No custom input provided."
812
+
813
+ return (
814
+ prediction_result, # Return only the prediction for the prediction output
815
+ scatter_plot,
816
+ regression_equation,
817
+ mae_plot,
818
+ r2_plot,
819
+ coefficients_plot,
820
+ f"<h3>Top 10 Models</h3>{top_models_html}",
821
+ f"<h3>Original Dataset</h3>{original_data_html}",
822
+ feature_importance, # Include feature importance in the outputs
823
+ )
824
+
825
+ # Generate Gradio inputs dynamically
826
+ def generate_gradio_inputs():
827
+ results = train_model()
828
+ inputs = []
829
+ for feature, default in results["default_values"].items():
830
+ feature_type = results["feature_types"][feature]
831
+ inputs.append(gr.Number(label=f"{feature} ({feature_type}, e.g., {default})", value=default))
832
+ return inputs
833
+ # Layout with proper updates for all outputs
834
+ with gr.Blocks() as demo:
835
+ gr.Markdown("# Dynamic Pricing Model - Comprehensive Analysis")
836
+ gr.Markdown(
837
+ "Train a range of regression models, view metrics, selection of best models, coefficients, and make custom predictions."
838
+ )
839
+
840
+ # Outputs Section (Top)
841
+ with gr.Row():
842
+ with gr.Column():
843
+ scatter_plot_output = gr.Plot(label="Scatter Plot")
844
+ original_data_output = gr.HTML(label="Original Dataset")
845
+ top_models_output = gr.HTML(label="Top 10 Models")
846
+ with gr.Column():
847
+ actual_vs_predicted_output = gr.Plot(label="Actual vs Predicted Plot")
848
+ mae_plot_output = gr.Plot(label="MAE Plot")
849
+ r2_plot_output = gr.Plot(label="RΒ² Plot")
850
+
851
+ with gr.Column():
852
+ coeff_plot_output = gr.Plot(label="Coefficient Progression")
853
+ regression_eq_output = gr.Textbox(label="Regression Equation")
854
+ output_feat_importance = gr.Textbox(label="Feature Importance (Useful vs Non-Useful)")
855
+
856
+ # Inputs Section
857
+ gr.Markdown("### Input Features")
858
+ inputs = generate_gradio_inputs()
859
+ with gr.Row():
860
+ input_fields = [input for input in inputs]
861
+ with gr.Row():
862
+ train_button = gr.Button("Train Model")
863
+ predict_button = gr.Button("Use Trained Model for Prediction")
864
+
865
+ # Predictions Section (Below Inputs)
866
+ with gr.Row():
867
+ prediction_output = gr.Textbox(label="Result")
868
+
869
+ # Connect training button
870
+ train_button.click(
871
+ fn=train_model_button,
872
+ inputs=[],
873
+ outputs=[
874
+ prediction_output,
875
+ scatter_plot_output,
876
+ regression_eq_output,
877
+ mae_plot_output,
878
+ r2_plot_output,
879
+ coeff_plot_output,
880
+ actual_vs_predicted_output, # New output
881
+ top_models_output,
882
+ original_data_output,
883
+ output_feat_importance,
884
+ ],
885
+ )
886
+
887
+ # Connect prediction button
888
+ predict_button.click(
889
+ fn=use_trained_model_button,
890
+ inputs=input_fields,
891
+ outputs=[
892
+ prediction_output,
893
+ scatter_plot_output,
894
+ regression_eq_output,
895
+ mae_plot_output,
896
+ r2_plot_output,
897
+ coeff_plot_output,
898
+ top_models_output,
899
+ original_data_output,
900
+ output_feat_importance,
901
+ ],
902
+ )
903
+
904
+ demo.launch()
best_model.joblib ADDED
Binary file (1.4 kB). View file
 
best_model.pkl ADDED
Binary file (1.02 kB). View file
 
create_repo.py ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ from huggingface_hub import HfApi
2
+
3
+ repo_name = "dynamic-pricing-model"
4
+ api = HfApi()
5
+
6
+ # Create a new repository
7
+ api.create_repo(repo_id=repo_name, repo_type="model", exist_ok=False)
data/dynamic-pricing-dataset.zip ADDED
Binary file (22.3 kB). View file
 
data/dynamic_pricing.csv ADDED
@@ -0,0 +1,1001 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Number_of_Riders,Number_of_Drivers,Location_Category,Customer_Loyalty_Status,Number_of_Past_Rides,Average_Ratings,Time_of_Booking,Vehicle_Type,Expected_Ride_Duration,Historical_Cost_of_Ride
2
+ 90,45,Urban,Silver,13,4.47,Night,Premium,90,284.25727302188227
3
+ 58,39,Suburban,Silver,72,4.06,Evening,Economy,43,173.87475274940766
4
+ 42,31,Rural,Silver,0,3.99,Afternoon,Premium,76,329.7954689622466
5
+ 89,28,Rural,Regular,67,4.31,Afternoon,Premium,134,470.2012317513198
6
+ 78,22,Rural,Regular,74,3.77,Afternoon,Economy,149,579.6814223640141
7
+ 59,35,Urban,Silver,83,3.51,Night,Economy,128,339.9553606047221
8
+ 93,43,Suburban,Regular,44,4.41,Afternoon,Premium,16,104.06154127359153
9
+ 62,39,Rural,Gold,83,3.59,Afternoon,Premium,47,235.81186355604996
10
+ 79,14,Rural,Silver,71,3.74,Evening,Economy,128,501.4125174833056
11
+ 42,6,Rural,Silver,21,3.85,Night,Premium,128,398.99336457061025
12
+ 86,17,Urban,Regular,99,4.69,Morning,Economy,167,669.2986264658781
13
+ 60,38,Rural,Gold,15,4.14,Evening,Premium,144,414.9901047325251
14
+ 24,8,Rural,Gold,50,4.12,Morning,Economy,164,490.41072171830416
15
+ 36,24,Suburban,Silver,88,4.22,Night,Premium,83,296.24287599192223
16
+ 63,13,Rural,Regular,74,4.95,Afternoon,Premium,102,327.0888648717375
17
+ 39,12,Urban,Silver,30,4.51,Afternoon,Premium,140,445.1368684239125
18
+ 38,28,Rural,Silver,35,3.93,Afternoon,Premium,54,244.5361718306458
19
+ 46,14,Suburban,Silver,21,4.71,Afternoon,Economy,15,47.31430863361691
20
+ 33,7,Suburban,Gold,49,4.31,Evening,Premium,22,129.8082629093964
21
+ 31,7,Suburban,Silver,24,4.82,Evening,Premium,87,382.9481103198511
22
+ 96,45,Urban,Regular,6,4.95,Afternoon,Premium,11,82.77279318243978
23
+ 22,11,Suburban,Silver,79,4.48,Night,Economy,15,64.07117255500656
24
+ 74,16,Rural,Regular,6,3.97,Morning,Economy,139,390.6687658288554
25
+ 24,12,Urban,Regular,10,3.6,Evening,Premium,45,212.16652497375455
26
+ 48,19,Suburban,Gold,72,3.81,Night,Premium,65,235.65813370551408
27
+ 56,13,Rural,Regular,36,4.81,Evening,Economy,162,406.5574980533908
28
+ 72,33,Rural,Gold,66,4.39,Morning,Premium,30,182.4744270596517
29
+ 97,75,Urban,Silver,76,4.7,Night,Economy,158,652.617297300081
30
+ 62,33,Suburban,Regular,39,3.91,Evening,Premium,129,403.22709836941993
31
+ 57,38,Suburban,Silver,54,4.1,Night,Premium,131,537.7848594528473
32
+ 25,7,Suburban,Silver,13,3.99,Morning,Premium,81,286.13145256368455
33
+ 75,56,Suburban,Gold,94,4.79,Evening,Premium,153,485.0546633356366
34
+ 39,9,Urban,Gold,39,4.64,Afternoon,Premium,48,171.0859835160851
35
+ 35,24,Suburban,Gold,73,3.76,Evening,Premium,105,485.8784537318511
36
+ 68,32,Suburban,Regular,34,3.58,Morning,Economy,77,294.7328864777875
37
+ 96,43,Rural,Silver,97,3.68,Morning,Premium,91,392.83872040801793
38
+ 28,11,Suburban,Gold,52,4.33,Afternoon,Premium,94,456.1809467866996
39
+ 25,15,Rural,Gold,65,4.88,Evening,Premium,101,502.52932078734773
40
+ 28,6,Suburban,Regular,2,4.29,Morning,Economy,89,244.21766165291973
41
+ 73,17,Rural,Regular,14,4.81,Evening,Premium,170,634.7265312250814
42
+ 36,18,Urban,Silver,88,3.73,Night,Premium,92,345.40676830595487
43
+ 56,10,Urban,Silver,55,4.5,Night,Economy,45,151.15212964816465
44
+ 97,81,Suburban,Regular,52,4.56,Evening,Economy,125,530.7599938912294
45
+ 63,9,Rural,Regular,89,3.87,Afternoon,Premium,166,482.85016419959805
46
+ 78,33,Urban,Silver,35,4.46,Morning,Premium,116,355.9595074862448
47
+ 29,10,Suburban,Regular,25,3.77,Afternoon,Economy,91,303.9609626071891
48
+ 73,33,Suburban,Silver,60,3.88,Night,Premium,161,514.8771742414517
49
+ 94,29,Urban,Regular,67,3.59,Evening,Premium,96,361.13235495172165
50
+ 54,28,Suburban,Silver,83,4.49,Night,Economy,32,80.26246462184758
51
+ 67,6,Rural,Gold,15,3.53,Night,Economy,123,420.6239113101238
52
+ 23,8,Urban,Silver,27,4.73,Afternoon,Economy,117,520.8926706123274
53
+ 70,14,Urban,Silver,16,4.3,Morning,Economy,53,183.07579104191225
54
+ 20,10,Rural,Silver,70,4.92,Evening,Economy,65,190.13746358777752
55
+ 95,84,Suburban,Gold,18,3.86,Afternoon,Premium,112,522.3021028701461
56
+ 43,16,Urban,Silver,40,4.89,Night,Premium,106,410.6863449474928
57
+ 97,55,Suburban,Silver,94,4.62,Evening,Premium,150,584.9958711291002
58
+ 32,20,Rural,Silver,44,3.55,Night,Economy,68,301.62262644973293
59
+ 95,25,Suburban,Regular,72,4.16,Morning,Premium,128,413.5870840445325
60
+ 47,15,Urban,Gold,14,4.84,Night,Economy,89,273.11810461931896
61
+ 25,11,Rural,Silver,33,3.85,Night,Economy,94,247.1745626508575
62
+ 37,22,Rural,Regular,76,4.72,Afternoon,Economy,69,213.44325079724317
63
+ 59,39,Suburban,Gold,49,3.78,Morning,Premium,98,295.79438015283176
64
+ 42,20,Urban,Silver,88,4.64,Night,Premium,29,145.0698091748401
65
+ 53,11,Rural,Regular,2,3.5,Afternoon,Premium,81,297.0186264188845
66
+ 79,64,Rural,Regular,91,4.57,Night,Economy,164,666.6870291344428
67
+ 59,23,Urban,Gold,41,4.97,Evening,Premium,91,449.54563391452524
68
+ 40,29,Urban,Regular,72,4.3,Afternoon,Economy,147,624.9860100296204
69
+ 76,40,Suburban,Silver,77,4.17,Morning,Economy,28,96.03520851587072
70
+ 41,26,Urban,Regular,96,3.91,Night,Economy,169,637.7593915947267
71
+ 83,14,Urban,Regular,80,4.77,Night,Premium,64,295.5887110300315
72
+ 44,17,Rural,Regular,15,4.0,Evening,Economy,98,353.33854512223814
73
+ 91,73,Urban,Gold,61,4.39,Night,Economy,15,62.25429041832141
74
+ 54,16,Suburban,Regular,8,4.5,Afternoon,Premium,67,266.0685899337195
75
+ 59,37,Rural,Silver,86,4.67,Night,Premium,95,340.1282671016029
76
+ 72,43,Suburban,Gold,28,4.87,Afternoon,Economy,132,443.25815535245397
77
+ 47,9,Rural,Gold,49,4.44,Evening,Economy,96,265.05527443495566
78
+ 32,22,Rural,Silver,49,4.65,Night,Economy,60,221.43438547917532
79
+ 45,13,Rural,Regular,96,4.84,Night,Economy,112,393.2308288248255
80
+ 72,45,Urban,Silver,82,4.42,Night,Premium,40,151.58040412487964
81
+ 56,15,Urban,Gold,34,4.72,Night,Premium,78,313.9950046053331
82
+ 42,22,Rural,Silver,67,3.81,Afternoon,Premium,82,366.1515260551269
83
+ 52,14,Suburban,Silver,87,3.54,Afternoon,Premium,98,425.97356882411634
84
+ 81,23,Urban,Gold,39,4.3,Evening,Economy,143,359.0531279855558
85
+ 77,25,Rural,Regular,70,4.27,Afternoon,Premium,52,260.34417984860374
86
+ 27,6,Urban,Gold,2,4.42,Night,Economy,86,320.30170917475425
87
+ 74,34,Rural,Regular,18,4.66,Morning,Premium,140,454.49212153190336
88
+ 92,69,Urban,Silver,88,4.69,Afternoon,Economy,18,45.11502370436019
89
+ 77,34,Rural,Gold,33,4.13,Night,Premium,48,223.66211429318122
90
+ 66,6,Rural,Regular,23,4.2,Evening,Economy,45,173.1577542620492
91
+ 77,39,Urban,Regular,23,4.29,Morning,Economy,167,592.240499627505
92
+ 35,16,Urban,Regular,31,4.75,Afternoon,Premium,113,379.3078104185831
93
+ 48,38,Rural,Gold,40,3.7,Evening,Premium,80,360.71117031918743
94
+ 61,18,Rural,Gold,84,3.93,Evening,Premium,58,203.49261837786295
95
+ 71,21,Suburban,Silver,82,4.88,Afternoon,Premium,126,553.5451307734787
96
+ 95,7,Rural,Gold,40,4.68,Evening,Economy,95,283.46644254307614
97
+ 76,44,Suburban,Gold,20,3.56,Afternoon,Premium,105,435.14534513079855
98
+ 32,13,Suburban,Regular,21,4.64,Afternoon,Economy,156,685.7681264991488
99
+ 49,30,Rural,Silver,57,4.83,Evening,Economy,154,630.8608868741742
100
+ 38,17,Urban,Silver,92,4.41,Afternoon,Premium,138,546.1568747653598
101
+ 92,35,Suburban,Regular,46,4.72,Morning,Economy,45,115.35700254441713
102
+ 40,29,Suburban,Silver,26,4.26,Night,Economy,152,404.0498951423794
103
+ 55,42,Suburban,Silver,24,4.49,Afternoon,Economy,45,156.03832988580584
104
+ 58,34,Rural,Gold,19,4.55,Morning,Premium,131,501.26295506529306
105
+ 34,5,Urban,Regular,26,4.85,Evening,Premium,152,562.4369764527329
106
+ 70,47,Suburban,Silver,3,3.66,Morning,Premium,53,216.80247508698307
107
+ 51,24,Rural,Gold,25,4.68,Afternoon,Premium,16,120.09069016935676
108
+ 88,56,Rural,Regular,11,4.36,Afternoon,Economy,60,221.1576532597614
109
+ 25,8,Suburban,Silver,83,3.53,Evening,Economy,121,492.7012709061221
110
+ 34,19,Rural,Regular,51,4.2,Night,Premium,166,754.2344800100251
111
+ 40,15,Urban,Regular,90,3.62,Night,Premium,42,211.52772882563164
112
+ 26,7,Suburban,Gold,58,4.91,Afternoon,Economy,161,460.75927538572495
113
+ 81,42,Suburban,Regular,88,4.14,Afternoon,Economy,47,164.10747354764283
114
+ 80,56,Suburban,Gold,63,4.57,Night,Premium,43,213.6962129956236
115
+ 64,19,Rural,Gold,86,4.68,Night,Premium,171,732.9893961300692
116
+ 45,18,Rural,Gold,68,4.07,Morning,Economy,136,350.6012026111729
117
+ 84,49,Urban,Regular,32,4.25,Night,Premium,53,192.8798062051633
118
+ 34,16,Urban,Silver,47,4.12,Evening,Economy,93,294.11580585015537
119
+ 67,32,Suburban,Regular,40,4.47,Afternoon,Premium,13,82.52418774801069
120
+ 93,23,Suburban,Silver,34,4.23,Evening,Premium,125,386.16906941399594
121
+ 100,51,Urban,Silver,56,3.58,Night,Economy,89,310.9003272621974
122
+ 35,22,Suburban,Gold,15,4.23,Morning,Premium,120,373.96284065200393
123
+ 36,13,Rural,Silver,31,4.71,Night,Economy,71,221.55110013131713
124
+ 28,18,Suburban,Regular,100,3.7,Afternoon,Economy,127,531.1127009643968
125
+ 21,9,Urban,Gold,10,3.88,Morning,Premium,108,324.9426389036563
126
+ 26,15,Urban,Regular,35,5.0,Morning,Premium,161,493.4068923175674
127
+ 97,21,Suburban,Regular,59,3.87,Evening,Premium,174,778.6333560141928
128
+ 26,15,Urban,Silver,10,3.71,Morning,Premium,171,720.1572085631501
129
+ 91,56,Urban,Gold,17,4.66,Night,Economy,10,38.23523523879646
130
+ 65,48,Rural,Silver,12,4.37,Afternoon,Premium,140,573.5891064527985
131
+ 88,28,Urban,Gold,22,4.99,Night,Premium,154,682.016246966075
132
+ 82,13,Suburban,Gold,32,3.58,Night,Economy,148,516.4367273015673
133
+ 65,40,Urban,Silver,48,3.59,Evening,Economy,121,492.51960241928145
134
+ 41,6,Urban,Silver,56,4.32,Night,Economy,11,49.234784001519046
135
+ 85,36,Rural,Silver,64,4.32,Evening,Economy,152,506.6928860981053
136
+ 35,13,Rural,Silver,80,3.8,Afternoon,Economy,93,304.3133394836575
137
+ 83,29,Urban,Silver,78,4.42,Afternoon,Premium,23,111.179341237614
138
+ 91,31,Urban,Regular,12,4.39,Night,Economy,39,163.21458328772866
139
+ 44,28,Rural,Regular,31,4.92,Night,Premium,132,402.85698948061395
140
+ 96,12,Suburban,Gold,15,4.97,Night,Economy,90,289.2351908680133
141
+ 77,46,Suburban,Regular,97,4.2,Afternoon,Premium,25,150.53929481479082
142
+ 91,80,Rural,Gold,74,4.74,Night,Economy,46,194.93555934032696
143
+ 93,42,Rural,Silver,75,4.66,Morning,Economy,160,674.6485035775572
144
+ 41,9,Rural,Silver,73,3.51,Morning,Economy,150,551.5572340398235
145
+ 61,44,Suburban,Regular,69,4.54,Afternoon,Economy,52,132.2147645898824
146
+ 83,10,Urban,Gold,28,3.91,Afternoon,Economy,23,70.11182411078714
147
+ 59,22,Rural,Regular,79,4.38,Morning,Premium,93,346.2847096470098
148
+ 42,31,Suburban,Gold,62,4.95,Night,Premium,13,102.04473025177862
149
+ 81,16,Suburban,Regular,73,4.89,Night,Economy,125,494.1401793052489
150
+ 72,19,Rural,Gold,89,4.74,Morning,Premium,45,183.658314681842
151
+ 43,9,Rural,Silver,2,4.12,Morning,Economy,126,436.5576476487414
152
+ 74,33,Urban,Silver,82,4.13,Afternoon,Economy,10,31.362081322241885
153
+ 68,45,Rural,Silver,65,4.19,Evening,Economy,112,323.4791093139413
154
+ 36,13,Urban,Silver,84,4.88,Evening,Premium,140,505.3840569466695
155
+ 51,5,Urban,Gold,0,4.59,Afternoon,Premium,92,320.8576215627125
156
+ 63,23,Urban,Silver,48,4.09,Evening,Economy,49,214.5660524456202
157
+ 96,29,Urban,Regular,84,3.65,Night,Economy,176,758.5015334295354
158
+ 94,59,Suburban,Regular,84,4.38,Morning,Premium,175,665.7295341217325
159
+ 74,32,Suburban,Regular,2,4.7,Evening,Premium,38,171.06636292972274
160
+ 91,13,Rural,Silver,32,3.6,Morning,Premium,160,647.3526381087524
161
+ 69,12,Suburban,Regular,42,4.34,Afternoon,Premium,158,608.1282399929386
162
+ 51,20,Rural,Silver,57,3.68,Night,Economy,67,246.92292493661097
163
+ 45,17,Rural,Gold,10,4.93,Night,Premium,148,430.06653050329265
164
+ 92,34,Suburban,Regular,98,3.99,Night,Economy,140,396.63875270925445
165
+ 69,36,Suburban,Gold,55,4.74,Morning,Economy,109,436.0114486061054
166
+ 56,14,Suburban,Silver,30,3.67,Night,Economy,48,202.9454568505992
167
+ 43,26,Rural,Regular,59,4.91,Afternoon,Economy,175,731.7816872483901
168
+ 86,48,Urban,Silver,37,4.15,Night,Economy,84,216.05054809363546
169
+ 61,34,Urban,Gold,82,3.99,Night,Premium,10,83.86835620425342
170
+ 50,36,Suburban,Gold,18,4.61,Night,Economy,145,572.2420492964254
171
+ 73,34,Urban,Regular,95,4.31,Morning,Premium,21,118.8070474355678
172
+ 76,7,Urban,Gold,76,4.35,Morning,Economy,72,245.8935711917164
173
+ 87,41,Urban,Regular,87,4.36,Night,Economy,87,387.1117403297744
174
+ 53,33,Rural,Regular,40,3.8,Morning,Premium,139,507.9505746530285
175
+ 71,8,Suburban,Silver,57,3.68,Night,Economy,75,249.30297460101602
176
+ 32,5,Rural,Gold,80,3.55,Night,Economy,14,45.91711193197189
177
+ 91,30,Suburban,Gold,34,3.69,Afternoon,Economy,96,424.6120578300381
178
+ 47,37,Suburban,Gold,64,3.75,Morning,Economy,31,85.97357530080251
179
+ 23,13,Rural,Silver,42,4.55,Night,Economy,87,328.9669925908357
180
+ 57,20,Rural,Regular,92,3.74,Morning,Economy,53,172.62943414987132
181
+ 48,17,Suburban,Silver,2,4.09,Evening,Economy,85,261.9435328532634
182
+ 22,5,Urban,Gold,39,4.92,Evening,Economy,56,199.0416803252397
183
+ 60,19,Urban,Silver,37,4.22,Evening,Economy,68,232.28345491474454
184
+ 94,42,Rural,Regular,0,4.23,Morning,Premium,36,185.311838106628
185
+ 43,6,Suburban,Silver,34,4.4,Morning,Premium,24,153.76143970087224
186
+ 97,18,Suburban,Regular,53,4.25,Night,Premium,26,126.4771352873347
187
+ 47,17,Rural,Silver,7,4.8,Morning,Economy,173,609.5038276051239
188
+ 39,28,Urban,Silver,72,3.76,Afternoon,Premium,87,287.1624375675698
189
+ 50,39,Suburban,Regular,94,3.81,Evening,Premium,139,406.32480651562713
190
+ 35,17,Urban,Regular,78,4.4,Evening,Premium,61,249.03711265544786
191
+ 28,8,Suburban,Regular,69,3.86,Evening,Premium,175,620.9016915662245
192
+ 51,32,Rural,Regular,98,4.44,Morning,Premium,51,267.0607016773296
193
+ 54,12,Suburban,Silver,84,4.98,Evening,Premium,172,715.7547930992089
194
+ 65,10,Urban,Regular,77,4.36,Afternoon,Economy,170,430.385487919734
195
+ 61,26,Rural,Gold,21,3.85,Morning,Premium,126,604.273047008686
196
+ 46,9,Suburban,Silver,67,4.22,Evening,Premium,47,243.5250631593867
197
+ 73,50,Urban,Regular,7,4.22,Night,Economy,45,176.2144067384048
198
+ 86,49,Urban,Regular,99,3.51,Night,Economy,130,471.4796320940979
199
+ 75,7,Suburban,Gold,100,4.13,Morning,Economy,134,453.3769493913552
200
+ 39,29,Suburban,Silver,12,4.24,Evening,Economy,97,251.10730645744061
201
+ 33,6,Rural,Gold,90,4.81,Night,Premium,139,521.8019208244536
202
+ 40,29,Suburban,Silver,6,4.94,Night,Premium,71,346.4926515319707
203
+ 54,35,Suburban,Silver,66,4.4,Night,Economy,77,234.0714535105622
204
+ 53,26,Urban,Gold,54,4.6,Night,Premium,52,184.02445130071476
205
+ 81,34,Urban,Silver,98,3.55,Afternoon,Premium,164,554.8869659163038
206
+ 45,20,Urban,Regular,80,4.73,Morning,Economy,63,192.61977241404603
207
+ 20,9,Urban,Silver,77,3.91,Evening,Economy,89,227.796524806166
208
+ 47,22,Rural,Silver,11,4.8,Afternoon,Premium,119,416.601648993299
209
+ 33,18,Urban,Gold,90,3.61,Evening,Premium,146,671.7128294096442
210
+ 78,57,Rural,Silver,5,4.82,Morning,Premium,127,552.6397714448676
211
+ 26,12,Rural,Silver,9,3.75,Afternoon,Economy,115,321.37240510655704
212
+ 62,21,Rural,Regular,61,4.57,Night,Economy,56,215.4338699200544
213
+ 84,59,Suburban,Silver,67,4.27,Morning,Premium,164,758.9961232252967
214
+ 49,8,Urban,Regular,1,4.06,Afternoon,Premium,157,694.4247148756359
215
+ 34,22,Suburban,Gold,34,3.64,Morning,Economy,176,617.3632185255483
216
+ 49,30,Rural,Silver,86,3.62,Afternoon,Premium,69,328.63536897966003
217
+ 83,50,Rural,Regular,7,3.66,Evening,Premium,100,376.3000600585162
218
+ 88,5,Urban,Silver,89,3.59,Night,Economy,27,70.20380336705749
219
+ 90,71,Suburban,Gold,88,3.84,Morning,Economy,167,451.6848649701074
220
+ 65,5,Rural,Silver,24,3.54,Night,Economy,119,301.40392677127403
221
+ 73,28,Urban,Silver,22,4.57,Afternoon,Economy,53,153.39607111804412
222
+ 85,62,Suburban,Silver,54,3.78,Morning,Economy,114,339.66230419418656
223
+ 65,27,Rural,Gold,62,3.54,Night,Premium,162,733.4425366578176
224
+ 74,42,Urban,Gold,88,3.5,Evening,Economy,77,203.8363809804033
225
+ 41,7,Rural,Gold,68,4.3,Evening,Premium,66,284.5088586099128
226
+ 79,23,Urban,Gold,88,3.88,Night,Economy,164,492.11345835908634
227
+ 53,7,Urban,Silver,64,4.55,Night,Premium,10,86.19117981050438
228
+ 35,14,Urban,Silver,74,5.0,Night,Premium,175,727.8809447636283
229
+ 53,40,Rural,Gold,79,3.66,Evening,Premium,30,158.65264164620277
230
+ 36,23,Urban,Silver,42,4.66,Morning,Economy,14,44.52503661261306
231
+ 38,25,Urban,Regular,2,4.24,Morning,Premium,128,452.4258268814717
232
+ 52,36,Rural,Silver,1,4.52,Morning,Premium,36,152.64047921471024
233
+ 91,64,Suburban,Regular,26,4.56,Morning,Premium,96,420.2245689053783
234
+ 87,5,Urban,Silver,59,4.32,Night,Economy,42,151.35930066309265
235
+ 96,20,Suburban,Gold,88,3.6,Evening,Premium,71,242.27196569085137
236
+ 83,59,Urban,Gold,8,4.85,Morning,Economy,31,119.0485543701777
237
+ 48,23,Rural,Gold,0,4.46,Afternoon,Economy,174,472.56954081275165
238
+ 65,19,Suburban,Silver,24,4.59,Evening,Economy,96,334.6493506052282
239
+ 79,29,Suburban,Silver,0,4.86,Morning,Economy,127,406.08552566041345
240
+ 100,22,Suburban,Silver,45,4.23,Night,Premium,141,551.365137615676
241
+ 73,63,Suburban,Silver,25,4.19,Afternoon,Economy,129,534.0181945871103
242
+ 79,67,Rural,Gold,56,4.01,Evening,Premium,151,501.2363000548165
243
+ 88,55,Rural,Regular,56,4.0,Night,Premium,26,159.60691863182956
244
+ 76,34,Suburban,Silver,10,4.92,Morning,Economy,103,359.8010509571677
245
+ 49,30,Suburban,Silver,80,3.74,Night,Economy,85,348.6695624527248
246
+ 100,64,Rural,Regular,7,4.89,Night,Premium,115,490.50407597042386
247
+ 87,26,Rural,Gold,63,4.2,Morning,Premium,118,485.683239513509
248
+ 22,5,Rural,Silver,93,4.85,Evening,Economy,99,424.9275101964327
249
+ 21,11,Rural,Silver,23,3.76,Afternoon,Economy,12,40.442890652890384
250
+ 93,57,Suburban,Regular,34,4.89,Morning,Premium,80,258.424915281181
251
+ 28,15,Rural,Gold,90,4.25,Night,Premium,177,511.92939099380595
252
+ 97,7,Urban,Silver,22,3.74,Afternoon,Premium,147,441.74670095471794
253
+ 48,12,Urban,Silver,51,4.63,Night,Premium,32,175.5180543386476
254
+ 70,37,Urban,Silver,10,3.65,Night,Premium,168,658.5834276725151
255
+ 78,12,Rural,Silver,99,4.3,Afternoon,Economy,95,299.2909931126892
256
+ 25,7,Rural,Regular,24,3.85,Evening,Premium,144,494.8027992189699
257
+ 24,9,Urban,Gold,6,4.05,Afternoon,Premium,69,223.51901195083735
258
+ 92,37,Rural,Silver,7,4.92,Morning,Premium,103,434.57105082121734
259
+ 43,33,Rural,Gold,16,4.01,Morning,Premium,159,630.4284012724294
260
+ 96,23,Urban,Gold,8,4.23,Morning,Premium,90,445.1254111184949
261
+ 88,46,Rural,Gold,35,4.89,Afternoon,Premium,72,361.98552095653855
262
+ 83,43,Suburban,Regular,20,3.59,Morning,Economy,63,267.28219711727195
263
+ 50,29,Urban,Regular,2,4.81,Morning,Economy,143,518.9547629602604
264
+ 97,75,Urban,Regular,15,4.94,Afternoon,Economy,163,575.4934491747886
265
+ 84,24,Suburban,Regular,39,4.08,Afternoon,Economy,86,349.4432162449335
266
+ 68,40,Suburban,Silver,58,4.64,Morning,Premium,68,279.2349662242834
267
+ 77,30,Urban,Regular,99,4.7,Evening,Premium,179,689.7483154802385
268
+ 82,67,Urban,Regular,13,4.43,Afternoon,Economy,33,88.76294359232648
269
+ 21,8,Suburban,Gold,37,3.71,Evening,Premium,171,621.7963494961118
270
+ 75,24,Rural,Regular,44,3.79,Night,Premium,72,307.621949405299
271
+ 61,9,Urban,Gold,74,3.98,Evening,Premium,32,172.41053126646165
272
+ 90,13,Suburban,Regular,24,3.73,Afternoon,Economy,126,444.2453020895959
273
+ 100,21,Suburban,Regular,20,3.52,Night,Premium,163,556.8967118375435
274
+ 93,31,Suburban,Gold,13,3.58,Afternoon,Premium,101,355.3245754797394
275
+ 92,14,Urban,Silver,57,3.73,Morning,Premium,133,474.99773906008016
276
+ 61,12,Rural,Gold,59,4.72,Afternoon,Premium,178,581.9712306098094
277
+ 53,12,Suburban,Gold,79,3.6,Night,Premium,154,663.4393972369916
278
+ 55,21,Urban,Regular,20,3.56,Night,Premium,134,519.469492374694
279
+ 57,45,Rural,Gold,78,4.43,Afternoon,Premium,112,397.6919501475396
280
+ 34,8,Suburban,Silver,51,4.09,Afternoon,Premium,130,388.1122298927073
281
+ 50,11,Suburban,Silver,19,4.87,Morning,Economy,144,591.1000759572743
282
+ 35,22,Rural,Silver,82,3.79,Afternoon,Economy,174,586.7988633141081
283
+ 43,14,Suburban,Regular,1,3.53,Night,Premium,134,648.9097429236178
284
+ 50,25,Suburban,Silver,19,4.32,Night,Economy,176,746.3391324597457
285
+ 55,19,Urban,Regular,64,4.34,Morning,Premium,129,555.0976877626003
286
+ 93,67,Urban,Silver,21,4.88,Night,Premium,87,417.91314129158997
287
+ 94,69,Urban,Silver,86,4.12,Morning,Premium,18,97.80093621671637
288
+ 70,60,Urban,Regular,57,4.05,Afternoon,Premium,43,193.08911199878557
289
+ 36,25,Suburban,Regular,61,3.64,Night,Economy,132,492.4640116460618
290
+ 37,9,Suburban,Silver,73,4.8,Morning,Economy,124,408.81562882076287
291
+ 68,46,Urban,Gold,8,4.21,Afternoon,Economy,116,364.16179480772485
292
+ 77,15,Suburban,Regular,47,4.47,Morning,Economy,66,228.64349787316
293
+ 27,12,Suburban,Silver,64,4.7,Evening,Economy,149,667.9464280068869
294
+ 90,56,Suburban,Silver,61,4.38,Night,Premium,91,410.34270896598935
295
+ 46,23,Suburban,Regular,19,4.92,Afternoon,Economy,169,710.4192641684332
296
+ 96,80,Urban,Regular,47,3.77,Morning,Economy,70,177.20306582722415
297
+ 80,6,Rural,Silver,43,4.81,Night,Economy,24,74.32837977574499
298
+ 80,31,Suburban,Silver,91,4.61,Evening,Premium,127,392.30276005302534
299
+ 64,25,Suburban,Silver,85,4.46,Afternoon,Premium,37,168.61019430479575
300
+ 57,42,Rural,Silver,36,3.59,Afternoon,Premium,167,587.2581373063812
301
+ 52,7,Rural,Silver,57,4.82,Night,Economy,180,563.9803272683639
302
+ 69,56,Urban,Regular,73,4.02,Night,Premium,116,352.3474982568331
303
+ 67,54,Suburban,Regular,53,3.67,Morning,Economy,110,415.3075369486595
304
+ 25,7,Rural,Silver,13,4.07,Afternoon,Premium,60,204.215843297379
305
+ 80,35,Rural,Regular,29,4.49,Night,Economy,79,319.6520700676685
306
+ 73,6,Suburban,Silver,5,4.03,Night,Premium,71,362.05333073474793
307
+ 24,6,Urban,Regular,65,4.29,Afternoon,Premium,106,387.47553780901916
308
+ 37,14,Rural,Gold,18,4.36,Evening,Economy,85,348.8532987245396
309
+ 27,6,Rural,Regular,74,4.75,Afternoon,Premium,157,732.2985126943609
310
+ 23,11,Urban,Regular,11,4.86,Afternoon,Economy,133,343.6721333865543
311
+ 42,8,Rural,Gold,12,4.79,Morning,Premium,166,599.7162532373392
312
+ 74,39,Urban,Silver,11,3.65,Morning,Economy,173,484.75453888236336
313
+ 68,30,Urban,Regular,28,4.69,Night,Premium,134,581.1514565564086
314
+ 59,9,Suburban,Silver,30,4.83,Afternoon,Economy,140,603.3651642705413
315
+ 89,75,Rural,Silver,76,4.39,Evening,Economy,110,369.8546414878244
316
+ 81,35,Suburban,Regular,45,4.11,Night,Economy,174,708.8801421484817
317
+ 33,8,Suburban,Regular,74,4.52,Morning,Premium,56,205.83755050869485
318
+ 75,28,Urban,Gold,49,4.46,Night,Economy,163,684.5607033083106
319
+ 87,48,Suburban,Silver,95,4.73,Morning,Economy,162,453.2541298779704
320
+ 56,37,Suburban,Silver,96,3.83,Afternoon,Premium,130,412.5848379812361
321
+ 75,32,Urban,Silver,20,3.69,Evening,Premium,96,440.4442377359072
322
+ 99,54,Rural,Silver,96,3.77,Afternoon,Premium,61,241.64071137767894
323
+ 33,16,Rural,Regular,81,4.08,Afternoon,Premium,50,201.29253189374313
324
+ 41,28,Rural,Gold,89,4.47,Evening,Premium,45,220.05114029296504
325
+ 55,19,Suburban,Silver,74,3.51,Morning,Economy,173,702.9134159653358
326
+ 93,51,Rural,Silver,12,4.98,Morning,Premium,90,431.42166025583447
327
+ 54,35,Urban,Silver,11,4.49,Afternoon,Premium,96,466.8626810645626
328
+ 34,20,Urban,Gold,21,4.15,Morning,Premium,158,445.1263611668488
329
+ 86,18,Suburban,Silver,61,4.3,Afternoon,Premium,126,441.6378571357946
330
+ 85,27,Suburban,Gold,8,4.11,Night,Premium,157,669.5210116683382
331
+ 74,5,Suburban,Regular,80,3.63,Night,Economy,134,354.3852115042604
332
+ 63,53,Rural,Gold,33,4.33,Afternoon,Economy,175,489.7125242986789
333
+ 55,13,Suburban,Silver,45,3.71,Morning,Premium,40,222.56858200356248
334
+ 100,66,Suburban,Gold,27,3.53,Evening,Premium,106,412.2556067980849
335
+ 51,27,Urban,Gold,86,3.82,Evening,Premium,152,472.21573527678265
336
+ 37,10,Urban,Silver,33,4.86,Afternoon,Economy,44,179.93988033973832
337
+ 99,71,Suburban,Gold,3,4.63,Morning,Premium,100,308.9111533232364
338
+ 54,24,Rural,Silver,85,3.79,Evening,Economy,102,306.3142432341152
339
+ 30,7,Rural,Gold,57,4.27,Morning,Premium,69,224.46487829301583
340
+ 84,56,Urban,Silver,71,4.56,Evening,Premium,15,101.07378646994937
341
+ 49,14,Suburban,Silver,55,4.43,Morning,Premium,131,633.4966221375331
342
+ 86,10,Urban,Silver,98,4.8,Morning,Economy,18,62.87509273644356
343
+ 48,24,Rural,Gold,17,3.98,Afternoon,Economy,29,92.03104706108972
344
+ 67,18,Urban,Silver,78,3.81,Morning,Premium,22,106.73589264143021
345
+ 100,16,Rural,Gold,96,3.65,Night,Premium,163,560.6703257140985
346
+ 79,7,Rural,Silver,31,4.82,Night,Economy,100,322.9000694955284
347
+ 99,9,Rural,Silver,33,4.98,Afternoon,Economy,110,292.33936093553586
348
+ 34,24,Urban,Silver,3,4.41,Morning,Economy,97,242.75171700488073
349
+ 54,21,Urban,Silver,23,4.44,Evening,Premium,136,442.7796305981407
350
+ 77,43,Suburban,Regular,73,4.07,Afternoon,Premium,131,505.54671645728143
351
+ 80,21,Urban,Regular,85,4.21,Morning,Premium,146,474.9171617926677
352
+ 74,54,Urban,Regular,16,4.35,Afternoon,Premium,147,617.434678434942
353
+ 57,38,Urban,Regular,31,3.97,Morning,Premium,64,294.85536994650215
354
+ 97,66,Urban,Silver,90,3.6,Evening,Premium,150,717.467322019467
355
+ 52,14,Suburban,Gold,97,4.83,Evening,Premium,66,266.9772170141728
356
+ 51,37,Rural,Regular,34,4.64,Afternoon,Economy,100,383.3711770715268
357
+ 87,52,Urban,Gold,15,3.57,Night,Economy,66,266.4336179135411
358
+ 91,42,Suburban,Silver,76,4.96,Morning,Economy,86,336.39439243010713
359
+ 85,34,Rural,Regular,66,4.59,Morning,Premium,163,764.8593556145701
360
+ 57,21,Rural,Silver,28,4.93,Night,Economy,141,588.6941797749441
361
+ 28,8,Urban,Regular,67,3.78,Afternoon,Premium,58,305.24266766473113
362
+ 58,30,Urban,Regular,32,4.14,Night,Economy,75,256.37380365626416
363
+ 31,9,Rural,Gold,18,4.42,Morning,Premium,114,461.0193485856391
364
+ 27,11,Suburban,Gold,88,4.5,Evening,Premium,144,581.7472844259253
365
+ 90,75,Urban,Gold,88,4.1,Afternoon,Economy,106,472.5465909334413
366
+ 54,8,Suburban,Regular,41,3.89,Morning,Economy,168,573.4835718398938
367
+ 23,9,Suburban,Silver,50,3.84,Evening,Premium,34,192.38502219616436
368
+ 94,64,Urban,Regular,62,4.87,Night,Economy,166,744.0359811402852
369
+ 86,20,Suburban,Silver,51,3.75,Morning,Premium,110,412.25746306035046
370
+ 79,55,Suburban,Regular,91,4.39,Morning,Economy,48,189.56056497077722
371
+ 73,13,Urban,Regular,93,3.95,Night,Economy,90,357.0434721850994
372
+ 74,23,Urban,Regular,45,4.07,Morning,Premium,99,417.1740953777763
373
+ 26,11,Urban,Gold,10,4.22,Morning,Premium,69,314.84471031916905
374
+ 99,30,Urban,Regular,74,4.21,Morning,Premium,160,629.9546011362719
375
+ 80,42,Urban,Gold,85,4.22,Night,Economy,131,473.56175400354476
376
+ 78,35,Rural,Regular,5,4.35,Evening,Premium,100,317.88095784682014
377
+ 63,6,Urban,Gold,29,4.79,Evening,Premium,24,132.49921949173307
378
+ 25,8,Rural,Regular,30,4.44,Night,Economy,115,430.78585097815426
379
+ 100,50,Urban,Regular,20,4.14,Evening,Economy,127,350.2265835541767
380
+ 46,8,Urban,Silver,32,4.81,Afternoon,Economy,112,466.42747932165264
381
+ 59,29,Urban,Regular,90,4.3,Night,Economy,145,651.7303890276737
382
+ 21,11,Rural,Gold,18,4.2,Morning,Premium,49,266.34807324582846
383
+ 64,7,Rural,Silver,48,4.67,Evening,Economy,64,266.38537677090085
384
+ 52,22,Suburban,Gold,72,3.6,Morning,Premium,101,303.803226426852
385
+ 100,56,Suburban,Silver,67,4.2,Evening,Economy,169,461.9661913503604
386
+ 83,72,Rural,Regular,25,4.62,Night,Premium,45,201.0575405594342
387
+ 89,10,Rural,Silver,36,4.12,Afternoon,Premium,13,94.21444738997974
388
+ 100,37,Rural,Silver,47,4.7,Afternoon,Economy,142,546.8574476673242
389
+ 71,7,Urban,Gold,31,4.83,Morning,Premium,60,292.74683013160404
390
+ 94,26,Suburban,Regular,0,3.94,Afternoon,Premium,40,150.90603765991335
391
+ 52,23,Urban,Regular,41,4.23,Evening,Economy,134,534.90663340905
392
+ 27,15,Urban,Silver,31,4.95,Afternoon,Economy,103,315.2654030422818
393
+ 88,62,Urban,Regular,62,4.82,Afternoon,Economy,162,601.2360266422271
394
+ 48,38,Suburban,Silver,64,4.97,Night,Premium,152,701.4695729515377
395
+ 53,35,Suburban,Regular,1,3.67,Morning,Premium,88,392.0078846224547
396
+ 31,12,Suburban,Gold,34,4.7,Night,Economy,105,331.8375249153692
397
+ 56,34,Suburban,Silver,1,4.56,Afternoon,Economy,121,307.5259290756184
398
+ 48,35,Rural,Gold,47,4.26,Morning,Economy,26,68.27174499943663
399
+ 93,66,Suburban,Silver,22,3.91,Night,Economy,180,765.4397485645513
400
+ 49,18,Rural,Silver,62,4.92,Afternoon,Economy,62,168.36628924698923
401
+ 72,33,Rural,Gold,63,4.25,Evening,Economy,132,351.77361896852636
402
+ 62,11,Suburban,Gold,37,4.23,Morning,Premium,71,363.3457529659053
403
+ 39,15,Suburban,Regular,53,4.6,Evening,Premium,38,201.71467628332167
404
+ 67,56,Urban,Gold,49,4.22,Afternoon,Premium,23,121.43999901863725
405
+ 88,15,Urban,Regular,39,4.51,Afternoon,Economy,137,598.7750233051204
406
+ 29,16,Urban,Silver,75,4.11,Morning,Premium,80,371.1242881043308
407
+ 100,24,Urban,Silver,88,4.49,Night,Economy,56,173.66696747925593
408
+ 98,43,Suburban,Gold,62,4.98,Morning,Economy,130,538.5185280064754
409
+ 35,10,Rural,Gold,40,3.54,Night,Economy,75,281.9625670059949
410
+ 58,14,Rural,Gold,10,3.77,Morning,Economy,95,258.01445968829404
411
+ 22,7,Urban,Gold,53,4.43,Morning,Premium,98,476.20199615360343
412
+ 84,37,Suburban,Regular,94,3.83,Night,Economy,28,124.64550323605347
413
+ 91,14,Suburban,Silver,19,4.78,Night,Premium,19,111.11271494112725
414
+ 56,29,Urban,Gold,67,4.49,Afternoon,Economy,125,421.8171879075184
415
+ 97,21,Rural,Regular,36,3.72,Evening,Premium,23,134.0510144913575
416
+ 57,47,Urban,Gold,26,3.8,Morning,Economy,30,132.4032477391118
417
+ 94,27,Suburban,Silver,100,3.6,Night,Premium,172,547.9814624298182
418
+ 84,6,Suburban,Gold,24,3.74,Morning,Economy,68,281.96824577029594
419
+ 40,11,Rural,Silver,1,4.24,Night,Premium,35,182.46632143825187
420
+ 65,36,Suburban,Silver,20,4.39,Night,Premium,87,313.7742265682814
421
+ 35,22,Urban,Silver,28,4.88,Afternoon,Premium,116,422.8866610257602
422
+ 40,30,Urban,Regular,67,4.03,Evening,Premium,143,529.6967147126813
423
+ 61,45,Urban,Silver,6,4.99,Evening,Economy,10,25.993449448411635
424
+ 50,14,Urban,Gold,98,3.52,Night,Premium,109,351.5699575243088
425
+ 98,25,Suburban,Silver,30,4.76,Afternoon,Economy,60,154.68715967826247
426
+ 54,37,Suburban,Regular,41,4.69,Afternoon,Premium,16,106.59208227583191
427
+ 37,13,Rural,Regular,31,4.66,Afternoon,Economy,35,132.1665679180113
428
+ 78,41,Urban,Silver,12,4.99,Afternoon,Economy,22,76.224961221763
429
+ 84,21,Rural,Gold,88,3.5,Afternoon,Economy,146,598.9400399823005
430
+ 44,32,Suburban,Silver,51,4.2,Afternoon,Premium,168,563.1508995670627
431
+ 25,11,Urban,Silver,92,3.91,Night,Economy,115,310.1546162756803
432
+ 38,13,Urban,Gold,38,4.46,Evening,Premium,28,145.13756861567325
433
+ 85,25,Urban,Silver,21,4.03,Morning,Economy,73,323.5576857599395
434
+ 31,13,Suburban,Gold,87,4.04,Evening,Economy,11,31.565676162125193
435
+ 67,6,Rural,Regular,25,4.45,Evening,Premium,31,144.46263762346956
436
+ 77,11,Rural,Silver,70,3.82,Night,Premium,63,252.49304710208094
437
+ 32,11,Suburban,Silver,30,3.53,Afternoon,Premium,32,146.51277441611944
438
+ 71,30,Rural,Regular,60,4.83,Evening,Premium,156,501.801349985356
439
+ 65,38,Urban,Regular,13,4.77,Morning,Premium,132,610.7325514755008
440
+ 64,29,Urban,Silver,66,3.79,Night,Premium,37,194.26239936468434
441
+ 48,38,Urban,Silver,45,4.17,Afternoon,Economy,87,318.2101259853132
442
+ 76,42,Rural,Gold,95,3.93,Morning,Economy,180,512.6251102173163
443
+ 76,53,Urban,Regular,77,3.67,Afternoon,Premium,179,555.8919187631545
444
+ 71,14,Suburban,Silver,8,4.44,Night,Economy,76,242.15886076969633
445
+ 76,9,Urban,Silver,64,4.16,Evening,Economy,10,41.40499127744981
446
+ 51,14,Rural,Gold,16,3.51,Night,Premium,30,180.88655372559683
447
+ 88,38,Rural,Gold,29,3.73,Evening,Premium,167,537.8971058809161
448
+ 60,24,Rural,Gold,5,3.79,Afternoon,Premium,154,556.6629286327259
449
+ 73,55,Rural,Regular,55,4.2,Afternoon,Economy,52,158.5563431447304
450
+ 23,10,Urban,Silver,80,3.88,Afternoon,Economy,22,59.4454065021933
451
+ 74,27,Suburban,Silver,51,3.75,Morning,Premium,111,334.1449975015087
452
+ 49,6,Suburban,Gold,18,4.41,Night,Premium,148,443.7750198288772
453
+ 31,8,Rural,Gold,7,3.57,Night,Economy,35,145.24203735141535
454
+ 57,46,Rural,Regular,42,4.39,Morning,Economy,56,210.6317666138125
455
+ 64,19,Suburban,Regular,35,4.02,Afternoon,Economy,39,152.22919256822726
456
+ 86,76,Suburban,Regular,84,4.99,Night,Economy,149,612.446726848697
457
+ 54,28,Suburban,Regular,73,3.56,Morning,Premium,51,250.28588237277452
458
+ 85,37,Rural,Gold,10,3.76,Night,Premium,61,309.08254473187293
459
+ 58,15,Rural,Regular,14,4.76,Night,Premium,12,94.1609176991503
460
+ 96,27,Rural,Gold,21,4.37,Night,Premium,57,243.93730652889337
461
+ 58,31,Suburban,Silver,32,4.87,Evening,Premium,85,331.19305388667465
462
+ 77,45,Suburban,Silver,88,4.16,Morning,Economy,151,595.2312211886215
463
+ 93,73,Rural,Regular,78,3.81,Night,Premium,106,465.962681649944
464
+ 44,11,Rural,Regular,56,3.83,Afternoon,Premium,18,104.75201005936663
465
+ 20,10,Rural,Regular,54,4.12,Morning,Premium,168,784.0551260339382
466
+ 70,40,Suburban,Regular,9,3.77,Evening,Economy,130,382.9299378688001
467
+ 42,12,Rural,Gold,92,4.5,Afternoon,Economy,123,319.2967130915861
468
+ 87,33,Rural,Regular,53,4.15,Evening,Economy,143,640.1373391067773
469
+ 70,43,Suburban,Gold,47,4.31,Morning,Economy,57,243.49338538510452
470
+ 61,15,Urban,Gold,29,4.49,Afternoon,Economy,32,135.005874109167
471
+ 71,36,Suburban,Silver,69,4.37,Morning,Economy,110,392.9639432866157
472
+ 81,33,Suburban,Regular,41,4.93,Afternoon,Premium,162,617.2885000560723
473
+ 87,64,Rural,Silver,69,4.55,Evening,Premium,65,310.7883994951958
474
+ 85,65,Suburban,Regular,73,4.65,Afternoon,Premium,165,770.0708908209459
475
+ 91,65,Urban,Regular,40,3.58,Evening,Economy,141,373.50470759834695
476
+ 83,57,Rural,Silver,80,4.6,Night,Premium,172,814.4195559447121
477
+ 64,10,Suburban,Gold,75,3.61,Morning,Premium,155,473.34669329802574
478
+ 69,22,Rural,Silver,25,4.41,Night,Premium,74,266.76777889406367
479
+ 37,12,Rural,Silver,15,3.73,Evening,Economy,142,369.36165888010754
480
+ 93,28,Urban,Silver,63,3.9,Evening,Economy,38,111.72394123957052
481
+ 66,49,Rural,Gold,42,4.56,Afternoon,Economy,124,429.94835612457183
482
+ 47,36,Rural,Silver,100,4.2,Morning,Economy,103,414.77830030238334
483
+ 71,30,Rural,Regular,45,4.16,Evening,Premium,53,227.1825700126456
484
+ 58,19,Urban,Silver,47,3.97,Evening,Economy,77,247.44200182010414
485
+ 100,18,Suburban,Silver,50,4.89,Morning,Premium,51,213.8232968736634
486
+ 94,28,Urban,Regular,59,4.45,Night,Economy,173,652.5878909594384
487
+ 49,6,Rural,Silver,23,4.65,Night,Premium,69,289.6463054085282
488
+ 42,7,Rural,Gold,90,3.67,Evening,Economy,32,123.76246932604701
489
+ 79,63,Urban,Gold,56,4.66,Evening,Premium,70,292.5906288976858
490
+ 59,5,Rural,Gold,17,4.97,Evening,Premium,143,440.93951077757487
491
+ 54,7,Urban,Regular,91,3.75,Night,Economy,97,298.3226183929867
492
+ 60,6,Rural,Silver,65,4.76,Morning,Economy,168,629.2044295696749
493
+ 26,13,Suburban,Silver,4,3.63,Night,Premium,123,441.99619244539696
494
+ 90,10,Rural,Silver,59,4.44,Morning,Premium,147,691.5012905566776
495
+ 34,12,Suburban,Silver,38,4.18,Afternoon,Economy,24,106.94859059241989
496
+ 80,34,Suburban,Silver,84,3.8,Night,Economy,174,561.4385219871201
497
+ 21,7,Rural,Regular,58,4.31,Morning,Premium,75,328.45835687553256
498
+ 97,71,Suburban,Silver,52,4.32,Evening,Economy,36,133.38738314122594
499
+ 64,7,Suburban,Regular,92,4.58,Evening,Premium,16,114.69920213131519
500
+ 47,34,Rural,Gold,16,4.38,Evening,Premium,46,237.14338896943258
501
+ 44,28,Rural,Gold,30,3.93,Evening,Premium,42,157.10657171647188
502
+ 21,9,Suburban,Gold,13,4.01,Evening,Economy,127,431.251597706785
503
+ 57,37,Urban,Gold,59,3.92,Evening,Economy,159,585.8075881778408
504
+ 62,5,Rural,Silver,51,4.4,Afternoon,Economy,160,647.204374917644
505
+ 25,6,Urban,Gold,60,3.91,Evening,Premium,145,559.578839787104
506
+ 92,33,Suburban,Silver,70,3.69,Evening,Premium,46,173.1505322724627
507
+ 38,7,Rural,Gold,46,3.79,Night,Economy,78,198.17046750812375
508
+ 99,31,Urban,Silver,0,3.54,Morning,Economy,50,192.7088692483722
509
+ 35,7,Rural,Regular,65,4.19,Night,Economy,65,165.0758241756551
510
+ 30,13,Urban,Gold,53,3.68,Night,Premium,124,379.4680328899806
511
+ 28,6,Urban,Gold,53,4.48,Night,Premium,148,461.10955384851616
512
+ 59,47,Rural,Silver,73,3.54,Night,Economy,75,234.5672445982206
513
+ 24,13,Urban,Silver,50,4.26,Night,Premium,141,540.0620306756346
514
+ 21,6,Suburban,Regular,15,3.81,Evening,Premium,80,318.84150331304255
515
+ 84,54,Suburban,Silver,59,4.98,Afternoon,Premium,43,196.31514152174805
516
+ 100,50,Urban,Silver,83,4.91,Morning,Premium,173,622.4914304114809
517
+ 30,11,Urban,Silver,99,4.96,Evening,Economy,83,349.6745279402746
518
+ 45,35,Rural,Regular,0,4.58,Afternoon,Premium,41,206.1473318707726
519
+ 53,35,Urban,Gold,35,3.92,Afternoon,Premium,166,635.9330544824535
520
+ 65,41,Rural,Gold,51,3.57,Night,Premium,48,251.1121418065252
521
+ 93,6,Rural,Silver,85,4.47,Night,Economy,107,324.098767437868
522
+ 28,5,Rural,Regular,69,4.49,Morning,Premium,132,425.4887347951667
523
+ 38,8,Urban,Silver,78,3.57,Night,Economy,114,470.2690237026412
524
+ 25,6,Urban,Regular,69,4.45,Evening,Premium,94,398.051725971793
525
+ 76,23,Rural,Regular,64,3.57,Night,Premium,115,564.9317250247195
526
+ 22,7,Suburban,Gold,73,4.91,Morning,Premium,73,238.31899146487595
527
+ 40,5,Rural,Silver,17,4.55,Afternoon,Economy,72,184.95522562926732
528
+ 89,16,Suburban,Regular,27,4.86,Afternoon,Economy,161,624.305615960136
529
+ 31,21,Suburban,Silver,77,4.83,Afternoon,Economy,107,389.3845083155804
530
+ 92,45,Rural,Silver,59,4.23,Morning,Premium,121,574.8939389332888
531
+ 58,32,Urban,Gold,92,4.59,Afternoon,Premium,111,517.9444619823878
532
+ 58,20,Rural,Silver,42,3.51,Evening,Economy,125,527.1792011771714
533
+ 36,7,Suburban,Regular,26,4.35,Morning,Economy,59,201.49683080394217
534
+ 66,40,Rural,Regular,93,4.86,Evening,Economy,153,627.0167510146084
535
+ 76,54,Urban,Regular,58,4.05,Evening,Economy,74,218.6251778894482
536
+ 55,23,Urban,Gold,46,4.58,Afternoon,Premium,150,654.676536309137
537
+ 21,8,Urban,Regular,57,4.78,Night,Premium,84,293.5602166445157
538
+ 61,45,Rural,Gold,42,4.25,Afternoon,Economy,102,421.98526198279467
539
+ 72,62,Suburban,Regular,48,3.82,Evening,Economy,126,553.7408048680613
540
+ 65,18,Rural,Gold,65,4.01,Morning,Economy,111,330.62430999065225
541
+ 20,8,Rural,Silver,27,4.99,Morning,Economy,83,261.4451502998812
542
+ 22,7,Suburban,Silver,16,4.1,Night,Economy,147,520.0637873298249
543
+ 72,49,Suburban,Gold,15,4.34,Night,Premium,19,117.63327810103034
544
+ 42,30,Urban,Regular,26,4.79,Afternoon,Economy,138,493.0149508584995
545
+ 100,54,Suburban,Regular,91,4.59,Night,Premium,61,203.11329573964892
546
+ 87,32,Suburban,Silver,38,4.76,Afternoon,Economy,114,421.7762985074602
547
+ 36,8,Urban,Gold,47,4.07,Afternoon,Economy,77,305.00888586073415
548
+ 70,38,Urban,Silver,99,4.19,Morning,Economy,76,317.77188818101894
549
+ 41,7,Urban,Gold,4,4.15,Night,Economy,83,364.9140560714328
550
+ 59,40,Rural,Gold,64,4.72,Night,Economy,157,398.3194964103068
551
+ 33,14,Urban,Regular,38,4.89,Morning,Economy,127,461.30601206640824
552
+ 70,26,Urban,Silver,15,3.67,Night,Premium,70,358.2348071386952
553
+ 45,7,Rural,Regular,87,4.35,Evening,Economy,74,224.30710676256516
554
+ 98,71,Suburban,Regular,83,4.55,Morning,Economy,139,558.3815496134125
555
+ 75,63,Urban,Gold,42,4.55,Evening,Premium,138,660.4425622593634
556
+ 100,34,Rural,Gold,33,4.75,Night,Economy,156,537.4486716625657
557
+ 76,23,Urban,Silver,53,3.94,Evening,Economy,117,480.104370355134
558
+ 32,12,Urban,Silver,69,3.68,Morning,Economy,55,162.28310451017555
559
+ 35,23,Suburban,Gold,58,3.78,Afternoon,Economy,164,638.0445145215127
560
+ 30,16,Suburban,Gold,89,3.63,Afternoon,Economy,142,420.1110979571745
561
+ 75,56,Urban,Regular,66,3.69,Evening,Premium,22,124.49060049402551
562
+ 25,6,Rural,Regular,23,3.95,Morning,Premium,55,235.27811761739352
563
+ 88,16,Suburban,Gold,26,4.18,Morning,Economy,32,127.33149010162907
564
+ 43,26,Rural,Silver,69,4.9,Evening,Economy,107,391.0269903920518
565
+ 39,20,Rural,Silver,97,4.25,Morning,Economy,121,319.54301971048153
566
+ 77,63,Suburban,Gold,72,4.56,Morning,Economy,113,380.28537076152844
567
+ 41,14,Suburban,Silver,59,4.72,Morning,Premium,49,179.62342246641472
568
+ 51,20,Rural,Silver,97,4.8,Morning,Economy,130,452.112640122952
569
+ 30,10,Suburban,Gold,86,4.95,Evening,Economy,149,565.6691466337952
570
+ 29,8,Urban,Gold,52,4.68,Afternoon,Premium,121,402.15587758232147
571
+ 21,5,Rural,Gold,8,4.44,Afternoon,Premium,159,689.8421599513094
572
+ 50,15,Suburban,Regular,62,4.51,Night,Economy,83,307.64692809302676
573
+ 61,42,Rural,Gold,11,3.72,Night,Economy,52,186.5262770863605
574
+ 67,5,Suburban,Silver,81,4.53,Morning,Premium,14,91.06777716361007
575
+ 73,22,Suburban,Regular,26,4.99,Night,Economy,33,143.8549860520897
576
+ 35,18,Urban,Gold,27,3.82,Morning,Economy,158,553.837359075948
577
+ 96,58,Urban,Silver,25,3.61,Morning,Economy,85,336.56848365859423
578
+ 38,28,Urban,Gold,8,4.83,Morning,Economy,29,95.02020685904614
579
+ 75,28,Urban,Gold,6,4.02,Evening,Premium,171,575.0117219060105
580
+ 57,26,Suburban,Silver,92,4.11,Afternoon,Premium,58,264.675747588135
581
+ 36,10,Rural,Gold,65,3.54,Night,Economy,53,185.61792391524813
582
+ 73,27,Rural,Gold,98,3.97,Evening,Economy,57,251.1556502722435
583
+ 68,29,Rural,Gold,51,3.99,Evening,Economy,110,299.689056274687
584
+ 25,9,Rural,Gold,11,3.58,Night,Economy,31,92.65681121424487
585
+ 97,25,Urban,Regular,95,4.91,Night,Premium,101,332.2293764400841
586
+ 30,7,Rural,Regular,85,3.74,Evening,Economy,44,184.11208970364285
587
+ 83,7,Suburban,Gold,24,4.9,Morning,Premium,24,124.58177445441441
588
+ 27,5,Rural,Gold,2,4.3,Evening,Economy,22,60.98181721983856
589
+ 58,21,Suburban,Gold,72,4.14,Afternoon,Economy,10,35.88598786056829
590
+ 32,15,Urban,Gold,67,3.76,Evening,Premium,23,132.12301879164062
591
+ 76,8,Urban,Gold,40,4.68,Afternoon,Economy,157,561.5796822292014
592
+ 21,9,Suburban,Regular,38,4.54,Morning,Economy,179,546.3787898746884
593
+ 47,37,Urban,Gold,53,4.69,Night,Economy,41,147.4597413359118
594
+ 33,20,Suburban,Regular,97,4.13,Morning,Premium,169,668.8922140357987
595
+ 92,66,Rural,Silver,26,3.56,Evening,Economy,19,62.06928479024478
596
+ 24,7,Rural,Silver,34,3.51,Afternoon,Premium,111,477.7411361723483
597
+ 75,9,Rural,Gold,71,4.06,Night,Economy,150,411.00576542458884
598
+ 89,76,Urban,Gold,35,4.8,Night,Premium,177,650.2985711974341
599
+ 67,20,Urban,Regular,42,4.13,Evening,Economy,68,243.22861759627588
600
+ 61,23,Suburban,Silver,51,4.73,Evening,Premium,150,680.9330686248741
601
+ 80,67,Rural,Regular,80,4.74,Night,Economy,147,432.30725774113824
602
+ 66,15,Suburban,Gold,62,4.59,Night,Economy,161,720.729944900258
603
+ 39,12,Suburban,Regular,54,3.77,Morning,Premium,176,510.4543750320455
604
+ 46,22,Urban,Regular,9,4.33,Morning,Economy,128,522.7974318549136
605
+ 89,74,Rural,Silver,41,4.89,Morning,Premium,115,432.16279228896633
606
+ 60,16,Urban,Gold,56,4.33,Night,Premium,126,382.4570671338528
607
+ 58,13,Rural,Regular,99,3.62,Morning,Premium,106,351.43931589566165
608
+ 68,16,Urban,Silver,93,4.44,Morning,Premium,154,510.19578633034166
609
+ 45,19,Suburban,Silver,71,3.72,Night,Economy,121,313.92644056486665
610
+ 91,61,Suburban,Gold,100,4.88,Night,Economy,101,372.22982195105925
611
+ 39,12,Urban,Regular,70,4.02,Morning,Premium,66,314.46800852423786
612
+ 97,9,Rural,Gold,58,4.32,Evening,Premium,142,491.5779538643877
613
+ 42,18,Suburban,Silver,39,3.94,Afternoon,Economy,128,527.1558943563921
614
+ 27,15,Urban,Gold,11,3.77,Evening,Economy,111,432.849396942834
615
+ 67,48,Rural,Regular,94,4.3,Evening,Premium,168,544.6027807887253
616
+ 69,51,Urban,Regular,75,3.57,Night,Premium,136,470.18271352951473
617
+ 69,47,Urban,Regular,65,4.22,Night,Economy,18,53.5391040086766
618
+ 93,18,Suburban,Gold,34,3.54,Afternoon,Economy,80,352.0685727015968
619
+ 84,74,Suburban,Regular,7,4.4,Afternoon,Premium,101,396.3698341114785
620
+ 96,48,Urban,Gold,41,4.39,Morning,Economy,130,367.7829980600229
621
+ 30,13,Suburban,Gold,72,4.18,Night,Premium,113,352.9356730761453
622
+ 60,48,Suburban,Regular,15,4.06,Morning,Economy,78,339.1055825696459
623
+ 72,39,Urban,Regular,39,3.77,Night,Premium,115,347.8959667426787
624
+ 31,13,Suburban,Regular,82,4.63,Morning,Economy,108,469.25091359186484
625
+ 71,13,Rural,Silver,60,4.3,Night,Premium,62,213.84302012030327
626
+ 91,61,Rural,Silver,86,4.44,Morning,Premium,129,567.5392184514062
627
+ 91,60,Rural,Gold,2,3.53,Evening,Premium,107,492.17901322228107
628
+ 32,6,Urban,Silver,13,4.75,Afternoon,Economy,53,173.88747446193491
629
+ 23,10,Suburban,Gold,47,4.84,Evening,Economy,125,418.10682439062094
630
+ 61,47,Suburban,Silver,100,4.58,Night,Premium,157,658.3040013013618
631
+ 57,40,Urban,Regular,78,3.62,Afternoon,Economy,171,764.5953413909641
632
+ 89,70,Suburban,Gold,86,4.51,Afternoon,Economy,90,384.20929197567284
633
+ 64,45,Rural,Gold,22,3.96,Night,Premium,118,404.6018875393623
634
+ 91,29,Urban,Regular,82,3.73,Afternoon,Premium,90,446.81702579708536
635
+ 91,53,Suburban,Gold,67,4.56,Night,Economy,50,158.1067231747087
636
+ 69,37,Suburban,Regular,47,4.39,Evening,Premium,60,284.2362895344896
637
+ 71,61,Suburban,Regular,79,3.85,Afternoon,Economy,147,591.2989763287625
638
+ 38,7,Rural,Silver,28,3.85,Evening,Economy,12,36.00027803358747
639
+ 100,32,Suburban,Regular,67,3.94,Evening,Premium,162,581.1370845965885
640
+ 65,51,Suburban,Gold,97,4.81,Night,Premium,144,588.1367698544636
641
+ 73,38,Urban,Regular,91,4.23,Evening,Premium,86,400.2673330229722
642
+ 56,25,Suburban,Regular,87,3.73,Evening,Premium,172,575.4102708388258
643
+ 75,55,Rural,Silver,80,4.7,Morning,Economy,69,190.9788526811355
644
+ 97,21,Urban,Regular,43,3.79,Afternoon,Premium,106,398.1593839328215
645
+ 94,71,Rural,Regular,48,4.73,Night,Premium,169,770.8733244527833
646
+ 53,22,Urban,Silver,28,4.99,Afternoon,Premium,64,211.0820229741896
647
+ 81,8,Rural,Silver,78,4.8,Afternoon,Premium,141,618.4288567281086
648
+ 47,34,Rural,Silver,87,3.53,Morning,Premium,170,739.2271199769044
649
+ 80,48,Suburban,Regular,13,4.44,Night,Economy,35,128.7410738814351
650
+ 75,55,Rural,Gold,54,4.73,Night,Premium,145,584.4917299915722
651
+ 89,12,Urban,Silver,42,4.73,Afternoon,Economy,102,328.31398217312767
652
+ 30,13,Rural,Gold,8,4.1,Afternoon,Economy,94,274.68037544392655
653
+ 64,5,Rural,Gold,91,4.34,Evening,Premium,21,108.24304354274079
654
+ 55,29,Suburban,Gold,92,4.85,Morning,Economy,44,181.78093960037765
655
+ 94,76,Suburban,Gold,26,4.7,Morning,Premium,94,405.317954516569
656
+ 53,28,Urban,Gold,6,3.67,Evening,Economy,178,775.7916851510323
657
+ 29,7,Suburban,Regular,68,3.98,Morning,Economy,114,289.1296809487768
658
+ 29,17,Urban,Silver,76,3.61,Morning,Economy,166,674.132847635612
659
+ 75,42,Suburban,Silver,38,4.25,Afternoon,Economy,146,479.11995337350106
660
+ 74,53,Suburban,Regular,60,3.93,Night,Economy,162,676.4404324115253
661
+ 89,75,Urban,Silver,10,4.91,Evening,Economy,16,54.449538186289914
662
+ 29,13,Suburban,Gold,44,4.29,Evening,Premium,87,267.7404170012178
663
+ 40,20,Rural,Silver,45,4.42,Evening,Premium,130,445.4842486108808
664
+ 79,11,Urban,Regular,1,4.35,Night,Premium,45,210.25675967194184
665
+ 98,87,Urban,Gold,87,4.28,Afternoon,Premium,170,603.8458024755097
666
+ 95,76,Urban,Regular,74,4.39,Night,Economy,118,464.9915827255092
667
+ 79,13,Rural,Gold,67,4.05,Evening,Premium,151,514.9363491532515
668
+ 38,22,Suburban,Regular,18,4.17,Night,Premium,121,450.5387531372676
669
+ 83,41,Suburban,Silver,48,3.64,Evening,Economy,176,741.3443926126964
670
+ 59,24,Suburban,Regular,40,4.0,Afternoon,Premium,147,631.6312970255759
671
+ 51,11,Suburban,Regular,72,3.62,Afternoon,Economy,16,71.21364105240121
672
+ 64,46,Rural,Silver,51,5.0,Evening,Premium,29,144.60138253530263
673
+ 30,6,Rural,Regular,93,3.81,Evening,Economy,129,505.92196882791006
674
+ 60,15,Suburban,Regular,95,4.84,Afternoon,Economy,180,726.3339146351499
675
+ 75,51,Rural,Regular,17,4.83,Afternoon,Premium,79,283.41327875852477
676
+ 25,15,Suburban,Regular,88,4.68,Afternoon,Premium,31,148.18648820169864
677
+ 46,31,Suburban,Gold,67,3.53,Morning,Economy,61,158.59209307103367
678
+ 48,11,Urban,Regular,86,3.55,Night,Economy,15,57.89462608061131
679
+ 51,6,Rural,Gold,64,4.57,Morning,Economy,34,142.5577269374603
680
+ 68,23,Suburban,Gold,96,4.77,Morning,Economy,105,359.128113102171
681
+ 89,8,Suburban,Silver,18,3.83,Morning,Economy,121,407.5520587692045
682
+ 84,55,Suburban,Regular,1,4.47,Afternoon,Economy,146,487.3991192361553
683
+ 50,8,Rural,Regular,25,3.8,Evening,Premium,13,89.61312852216915
684
+ 99,40,Urban,Gold,26,4.83,Evening,Premium,151,510.65807823975956
685
+ 21,9,Urban,Gold,91,4.82,Morning,Economy,47,171.6271185714875
686
+ 53,19,Suburban,Silver,54,3.84,Evening,Economy,132,520.5653406452625
687
+ 60,16,Urban,Gold,68,4.23,Night,Economy,108,458.09632680451597
688
+ 32,22,Suburban,Silver,9,4.68,Night,Premium,135,530.1491563778454
689
+ 51,25,Rural,Regular,21,4.43,Evening,Premium,38,200.2582591219043
690
+ 22,5,Urban,Regular,75,4.39,Night,Premium,19,128.0167601925525
691
+ 21,7,Rural,Regular,6,4.96,Afternoon,Premium,180,836.1164185613576
692
+ 55,21,Rural,Silver,49,4.59,Morning,Economy,111,471.08905188849826
693
+ 42,31,Rural,Gold,32,4.75,Night,Economy,12,50.6401755820817
694
+ 86,26,Rural,Silver,31,3.69,Afternoon,Economy,85,263.1611767019543
695
+ 48,18,Rural,Silver,60,4.47,Afternoon,Premium,124,524.1655595085831
696
+ 82,65,Urban,Gold,43,4.8,Night,Premium,112,330.2265438250878
697
+ 63,48,Rural,Regular,88,4.09,Morning,Economy,70,212.74075193712682
698
+ 44,24,Urban,Regular,83,3.61,Night,Economy,13,48.928952535474146
699
+ 39,18,Suburban,Gold,78,4.21,Afternoon,Economy,165,734.3951190125542
700
+ 23,7,Rural,Gold,98,4.35,Morning,Economy,76,281.33950234360725
701
+ 31,7,Rural,Silver,27,4.73,Morning,Premium,141,476.28985780068655
702
+ 44,7,Rural,Regular,55,3.66,Night,Premium,103,490.34215832141894
703
+ 23,5,Urban,Gold,92,3.71,Night,Economy,105,363.44477590272385
704
+ 63,46,Urban,Silver,36,4.59,Morning,Economy,18,49.83993575677632
705
+ 25,15,Urban,Gold,15,4.18,Morning,Premium,176,516.8295590439432
706
+ 27,11,Rural,Regular,1,4.34,Night,Economy,99,262.6864663772181
707
+ 57,28,Urban,Gold,27,4.58,Afternoon,Economy,107,423.5098573724167
708
+ 83,26,Suburban,Gold,77,3.62,Night,Premium,74,373.97563575919594
709
+ 80,5,Suburban,Regular,53,3.67,Evening,Premium,48,184.24294467848267
710
+ 50,40,Rural,Silver,61,4.7,Evening,Premium,73,319.11098294212263
711
+ 84,8,Rural,Gold,21,4.63,Night,Economy,172,549.2008068168793
712
+ 90,54,Rural,Regular,1,3.59,Afternoon,Premium,87,427.8571629452071
713
+ 28,9,Urban,Silver,68,4.82,Evening,Premium,43,164.316390505398
714
+ 97,64,Rural,Silver,62,3.52,Morning,Premium,152,638.1340201838489
715
+ 99,22,Suburban,Silver,7,4.4,Morning,Economy,39,131.44358716419623
716
+ 96,53,Rural,Regular,58,4.28,Afternoon,Economy,21,55.6373707994896
717
+ 88,69,Rural,Gold,89,3.6,Evening,Premium,107,467.92749485577286
718
+ 53,17,Rural,Silver,78,4.03,Afternoon,Premium,26,120.24719290813758
719
+ 28,14,Rural,Silver,77,3.58,Afternoon,Economy,98,374.65518279544045
720
+ 59,21,Rural,Regular,97,3.6,Afternoon,Premium,67,269.44414015954374
721
+ 50,27,Suburban,Gold,100,4.22,Morning,Premium,173,685.6696935694298
722
+ 89,8,Urban,Gold,40,3.59,Morning,Premium,151,528.0024896243917
723
+ 83,34,Urban,Silver,96,4.71,Evening,Premium,176,812.0729938599545
724
+ 73,14,Urban,Gold,28,4.31,Evening,Economy,29,118.97305838669006
725
+ 76,35,Suburban,Regular,8,4.89,Afternoon,Premium,138,406.5899107855241
726
+ 56,35,Rural,Silver,33,3.97,Morning,Economy,47,134.77582951421903
727
+ 40,20,Rural,Regular,11,4.4,Afternoon,Economy,83,343.79851998722387
728
+ 27,6,Urban,Silver,92,3.73,Night,Premium,125,460.28376247761025
729
+ 32,7,Urban,Regular,79,4.05,Morning,Economy,83,306.390461217286
730
+ 48,24,Urban,Silver,35,4.2,Night,Premium,51,251.42113940871516
731
+ 71,41,Urban,Gold,31,3.81,Afternoon,Premium,140,614.63671317069
732
+ 53,6,Rural,Silver,74,4.12,Night,Economy,76,231.1651667910225
733
+ 87,44,Rural,Silver,61,3.87,Evening,Premium,16,117.76366453355409
734
+ 36,16,Urban,Regular,82,4.62,Afternoon,Premium,72,253.4912438007839
735
+ 39,20,Rural,Gold,71,4.11,Morning,Economy,111,404.59839918890424
736
+ 91,81,Rural,Gold,15,4.68,Evening,Premium,20,135.1772701347079
737
+ 31,18,Urban,Regular,46,4.86,Night,Economy,128,360.8585507409454
738
+ 94,67,Suburban,Silver,34,4.64,Night,Premium,64,231.32631847732358
739
+ 83,18,Urban,Gold,12,4.98,Morning,Economy,81,286.40929438543196
740
+ 34,9,Urban,Silver,65,4.69,Afternoon,Premium,107,508.7118174567975
741
+ 32,6,Rural,Gold,75,4.47,Morning,Premium,154,721.7212691270341
742
+ 22,7,Urban,Gold,15,3.53,Evening,Premium,180,552.2693747461685
743
+ 49,20,Rural,Silver,52,4.74,Afternoon,Premium,162,510.62689141008207
744
+ 61,38,Urban,Silver,95,3.5,Night,Economy,164,415.9794524398186
745
+ 21,9,Urban,Gold,48,4.4,Afternoon,Premium,152,660.0597080304599
746
+ 40,18,Urban,Silver,16,4.59,Afternoon,Premium,157,644.0445755475266
747
+ 22,6,Urban,Silver,82,4.3,Morning,Premium,172,710.884313751738
748
+ 34,11,Suburban,Gold,66,4.59,Morning,Economy,134,478.20015364109577
749
+ 56,31,Rural,Silver,9,4.79,Afternoon,Premium,167,744.4180991800615
750
+ 93,36,Urban,Gold,60,4.63,Afternoon,Economy,111,478.7697584495512
751
+ 38,9,Suburban,Gold,57,4.26,Morning,Premium,16,104.0560727191975
752
+ 76,26,Suburban,Silver,74,4.18,Evening,Premium,159,486.18392763702786
753
+ 47,24,Suburban,Silver,11,3.62,Night,Premium,148,657.0936874279021
754
+ 64,10,Urban,Silver,62,4.98,Evening,Economy,38,96.3007413779792
755
+ 56,10,Rural,Gold,28,3.8,Afternoon,Economy,144,609.9082747031204
756
+ 44,25,Rural,Silver,32,4.43,Night,Premium,154,502.1012063441772
757
+ 34,6,Rural,Regular,11,3.75,Morning,Economy,179,465.719058488387
758
+ 45,18,Suburban,Silver,70,3.84,Night,Economy,122,308.43591786214927
759
+ 31,7,Rural,Regular,22,4.88,Afternoon,Premium,172,806.0212701919081
760
+ 95,28,Rural,Regular,34,4.48,Evening,Economy,163,576.9675719994219
761
+ 82,59,Rural,Regular,39,3.5,Night,Premium,67,284.2944207006542
762
+ 95,38,Urban,Silver,39,3.71,Afternoon,Premium,97,478.3662772118347
763
+ 27,12,Suburban,Silver,1,4.93,Evening,Economy,41,119.4823999754907
764
+ 94,23,Suburban,Regular,71,4.15,Night,Premium,154,532.5097779421501
765
+ 66,15,Urban,Silver,88,4.21,Evening,Premium,65,291.9008795114952
766
+ 40,6,Rural,Gold,37,4.75,Afternoon,Premium,148,707.8553931548287
767
+ 56,27,Suburban,Silver,62,4.74,Evening,Premium,129,435.71545381085645
768
+ 54,6,Suburban,Gold,48,4.26,Morning,Economy,154,504.0841142440527
769
+ 46,15,Suburban,Silver,96,4.69,Morning,Premium,116,497.3770093020007
770
+ 65,16,Suburban,Silver,82,3.62,Evening,Premium,146,460.8002858653508
771
+ 96,48,Urban,Gold,11,4.19,Night,Economy,79,272.4960775620536
772
+ 47,9,Suburban,Gold,88,4.06,Night,Economy,93,246.9535423209308
773
+ 20,7,Urban,Silver,55,4.43,Night,Economy,153,482.74220750160924
774
+ 94,57,Suburban,Regular,13,4.04,Afternoon,Economy,60,205.49575958337198
775
+ 52,30,Suburban,Silver,25,3.67,Night,Economy,142,531.6062153403296
776
+ 71,6,Suburban,Gold,48,4.05,Afternoon,Economy,157,550.9983736824666
777
+ 46,8,Rural,Gold,39,3.97,Evening,Premium,123,396.9586997774456
778
+ 53,40,Urban,Regular,13,3.79,Night,Economy,118,318.2115758092651
779
+ 26,11,Urban,Regular,97,3.64,Morning,Economy,141,427.05506120680275
780
+ 100,46,Suburban,Gold,74,3.74,Afternoon,Economy,171,448.31285347772814
781
+ 74,38,Urban,Regular,95,5.0,Evening,Economy,167,455.4083398759809
782
+ 53,5,Rural,Gold,100,4.46,Night,Premium,33,179.17081970350634
783
+ 75,63,Urban,Gold,24,4.18,Afternoon,Economy,29,104.18588264010207
784
+ 44,9,Suburban,Regular,54,4.2,Morning,Premium,13,91.67748868757226
785
+ 76,60,Suburban,Regular,81,3.6,Evening,Premium,72,264.08573637935564
786
+ 88,18,Suburban,Silver,80,4.83,Evening,Economy,109,424.65693227127065
787
+ 54,35,Rural,Gold,95,4.98,Evening,Premium,61,218.9504185416184
788
+ 49,30,Urban,Regular,7,3.97,Afternoon,Premium,77,248.17033364227854
789
+ 25,8,Urban,Silver,11,4.0,Afternoon,Economy,109,422.4367392307234
790
+ 36,18,Suburban,Gold,15,4.21,Afternoon,Economy,86,280.5240756909656
791
+ 42,25,Suburban,Silver,44,4.99,Morning,Premium,122,565.9834811108678
792
+ 29,14,Rural,Gold,2,4.69,Night,Premium,180,828.2131345744126
793
+ 52,16,Urban,Silver,63,4.13,Morning,Economy,49,132.84680584297232
794
+ 37,6,Rural,Gold,59,4.73,Evening,Economy,20,86.17345483820148
795
+ 91,17,Rural,Gold,21,4.84,Afternoon,Premium,149,545.3868063047398
796
+ 29,8,Rural,Silver,79,4.26,Morning,Premium,133,531.0619846358322
797
+ 62,45,Rural,Regular,87,4.74,Afternoon,Premium,20,108.6023564641184
798
+ 69,7,Urban,Regular,51,4.56,Afternoon,Premium,103,462.66304412150464
799
+ 32,14,Suburban,Silver,80,3.56,Afternoon,Premium,80,254.9510771161675
800
+ 78,31,Urban,Gold,6,3.78,Evening,Premium,64,271.0126649576171
801
+ 53,10,Rural,Silver,10,3.58,Evening,Economy,168,424.48842846396354
802
+ 60,50,Suburban,Silver,54,4.57,Afternoon,Premium,38,151.77728650517233
803
+ 97,58,Urban,Gold,1,4.11,Morning,Premium,83,383.07490640970946
804
+ 87,77,Urban,Gold,12,3.56,Night,Premium,11,97.78450586126135
805
+ 74,20,Rural,Silver,68,4.36,Night,Economy,32,119.59407325541466
806
+ 90,58,Urban,Gold,1,4.7,Afternoon,Premium,21,126.57277068445282
807
+ 21,8,Rural,Regular,69,4.24,Afternoon,Premium,176,829.5343798843528
808
+ 70,35,Urban,Silver,35,4.9,Night,Premium,108,418.815349545453
809
+ 37,7,Suburban,Regular,1,3.92,Evening,Economy,62,233.21310275336953
810
+ 30,11,Rural,Gold,93,3.56,Night,Premium,155,701.141472496938
811
+ 64,22,Urban,Regular,26,4.24,Evening,Premium,115,388.72966746525947
812
+ 40,23,Urban,Silver,6,3.96,Night,Economy,178,528.60807288888
813
+ 28,18,Urban,Gold,100,3.62,Afternoon,Premium,92,382.03843862699455
814
+ 85,19,Rural,Gold,17,3.69,Morning,Economy,164,587.331264277609
815
+ 92,77,Urban,Gold,100,4.26,Night,Economy,47,167.7398193291184
816
+ 93,56,Suburban,Regular,56,4.65,Evening,Premium,86,304.8360144837103
817
+ 36,25,Rural,Regular,26,3.57,Afternoon,Economy,122,354.1540979676975
818
+ 94,50,Suburban,Regular,88,4.95,Night,Premium,49,250.4603273046531
819
+ 27,8,Rural,Gold,48,4.18,Afternoon,Economy,167,495.2197782062817
820
+ 86,41,Rural,Regular,96,4.5,Morning,Premium,68,301.5483736351267
821
+ 22,11,Rural,Regular,39,4.63,Evening,Economy,101,433.03454356764814
822
+ 95,56,Rural,Silver,86,3.79,Morning,Premium,147,671.4712089285143
823
+ 99,89,Urban,Silver,63,4.84,Afternoon,Economy,16,49.71329085631081
824
+ 22,8,Rural,Regular,4,4.84,Morning,Economy,122,408.12976999912195
825
+ 100,85,Suburban,Silver,59,4.46,Evening,Economy,110,329.4837131421355
826
+ 61,38,Rural,Silver,100,4.34,Evening,Premium,78,383.3178042225475
827
+ 33,18,Suburban,Gold,7,4.01,Night,Economy,105,313.06815696851334
828
+ 39,22,Rural,Gold,63,3.87,Evening,Premium,170,706.6896358975697
829
+ 37,5,Urban,Silver,75,3.88,Evening,Premium,26,142.6153122038585
830
+ 95,53,Suburban,Silver,6,4.01,Afternoon,Premium,158,708.8224028092762
831
+ 28,6,Suburban,Gold,54,4.03,Afternoon,Premium,168,593.065918046481
832
+ 66,17,Urban,Gold,84,4.47,Night,Economy,139,604.3834014812801
833
+ 60,11,Suburban,Gold,18,4.29,Evening,Economy,26,100.2582627032478
834
+ 94,34,Suburban,Gold,99,4.54,Afternoon,Premium,155,685.7612504810801
835
+ 63,12,Urban,Silver,54,4.47,Evening,Premium,140,446.41301231617626
836
+ 38,8,Suburban,Silver,59,4.44,Night,Premium,75,291.107936848218
837
+ 35,21,Suburban,Silver,13,4.14,Morning,Premium,36,193.64239387562827
838
+ 83,64,Suburban,Gold,78,4.01,Evening,Economy,109,304.52612995371493
839
+ 62,14,Rural,Silver,33,4.23,Morning,Premium,85,386.83493329476596
840
+ 88,48,Urban,Gold,52,4.52,Night,Economy,92,230.83258579661484
841
+ 68,11,Rural,Silver,89,3.66,Evening,Economy,93,333.9106726820272
842
+ 84,64,Urban,Regular,34,4.13,Evening,Premium,99,353.8098038704909
843
+ 40,10,Urban,Regular,60,3.87,Night,Premium,79,293.19813425701705
844
+ 93,20,Urban,Regular,38,4.78,Afternoon,Premium,144,447.08306884380795
845
+ 57,44,Urban,Gold,78,3.53,Evening,Economy,153,584.888884974888
846
+ 67,16,Suburban,Gold,24,4.52,Evening,Premium,150,488.1872511532145
847
+ 68,16,Urban,Silver,91,4.49,Night,Economy,77,246.7577555097292
848
+ 38,22,Urban,Gold,60,3.6,Morning,Premium,104,312.1731588463509
849
+ 49,28,Urban,Silver,61,3.9,Evening,Premium,172,576.281119337865
850
+ 98,59,Urban,Regular,55,4.6,Morning,Economy,100,381.391205400882
851
+ 47,9,Suburban,Gold,38,4.06,Morning,Economy,141,543.7702542024564
852
+ 27,11,Urban,Regular,97,4.78,Evening,Premium,137,472.5224037960476
853
+ 59,29,Urban,Regular,68,4.4,Night,Premium,88,286.05897011629656
854
+ 56,20,Urban,Regular,74,4.05,Evening,Economy,25,88.95619552388446
855
+ 50,39,Urban,Gold,62,3.95,Morning,Premium,135,646.9811778631195
856
+ 93,37,Urban,Gold,37,4.75,Night,Economy,76,292.9246564000302
857
+ 46,22,Rural,Regular,97,3.51,Morning,Economy,100,395.76984681374796
858
+ 56,19,Suburban,Silver,16,4.46,Evening,Premium,86,279.6798100890559
859
+ 37,16,Suburban,Gold,8,4.5,Evening,Economy,46,192.50297743378897
860
+ 85,58,Urban,Regular,85,4.1,Night,Premium,92,351.77029329216225
861
+ 27,7,Urban,Regular,89,3.6,Morning,Premium,120,555.4019371049674
862
+ 44,16,Rural,Silver,31,3.96,Night,Premium,122,395.3781570382596
863
+ 75,51,Suburban,Regular,68,3.65,Afternoon,Premium,66,261.5103067801241
864
+ 21,11,Urban,Gold,46,3.84,Morning,Economy,103,397.5648404411393
865
+ 42,29,Suburban,Silver,67,4.59,Morning,Premium,153,735.2764383329761
866
+ 25,15,Suburban,Silver,100,4.9,Night,Premium,94,289.4570095389695
867
+ 67,46,Suburban,Regular,92,4.72,Morning,Economy,32,97.67500136492319
868
+ 29,6,Suburban,Silver,24,4.37,Afternoon,Economy,50,197.46392160702553
869
+ 100,70,Urban,Gold,42,4.9,Night,Premium,167,762.8822843495781
870
+ 37,10,Suburban,Gold,27,4.26,Afternoon,Economy,143,512.44939271165
871
+ 31,14,Urban,Gold,37,4.3,Night,Premium,103,484.4661863877365
872
+ 49,12,Suburban,Silver,30,4.37,Afternoon,Premium,84,353.01840875622844
873
+ 42,19,Rural,Regular,56,4.84,Evening,Premium,144,539.7316715337728
874
+ 61,5,Rural,Regular,48,4.15,Morning,Economy,29,114.16365482248573
875
+ 24,7,Suburban,Gold,85,4.36,Night,Economy,169,521.4080460440558
876
+ 20,10,Rural,Regular,18,4.28,Evening,Premium,123,450.3878805106937
877
+ 22,9,Urban,Silver,36,4.51,Evening,Premium,10,82.69156896202661
878
+ 98,87,Suburban,Regular,59,4.26,Afternoon,Economy,13,34.57409278115731
879
+ 30,14,Urban,Silver,64,4.45,Afternoon,Economy,147,535.1718879088473
880
+ 32,13,Urban,Regular,75,4.56,Evening,Premium,111,333.4011668412356
881
+ 22,12,Urban,Silver,49,4.88,Night,Premium,35,179.8388198801664
882
+ 62,8,Urban,Silver,13,4.2,Night,Premium,65,241.9912178461052
883
+ 51,27,Urban,Gold,8,4.31,Night,Economy,92,369.38039240192876
884
+ 85,74,Suburban,Regular,82,3.92,Evening,Premium,177,704.3001292247022
885
+ 28,9,Urban,Silver,26,3.95,Night,Premium,114,466.9720738288303
886
+ 93,70,Suburban,Silver,21,3.81,Evening,Economy,12,41.12164471941277
887
+ 36,9,Suburban,Silver,53,4.46,Night,Premium,127,404.02979977887577
888
+ 80,22,Rural,Gold,17,4.4,Morning,Economy,141,423.75441798529033
889
+ 60,24,Rural,Regular,18,4.16,Morning,Premium,45,165.72466245477892
890
+ 97,45,Urban,Silver,90,3.71,Morning,Premium,151,578.8213877560842
891
+ 53,14,Suburban,Silver,24,3.99,Afternoon,Premium,161,707.4493979183783
892
+ 79,22,Rural,Silver,53,3.96,Evening,Premium,126,542.8095730212775
893
+ 44,24,Urban,Silver,55,4.08,Afternoon,Premium,137,513.9900766589533
894
+ 34,12,Suburban,Regular,3,4.83,Night,Premium,62,298.3556200090825
895
+ 55,12,Urban,Silver,96,4.66,Morning,Premium,48,183.2701656673754
896
+ 49,29,Suburban,Regular,35,4.8,Evening,Premium,160,468.3069201504469
897
+ 72,54,Rural,Regular,68,3.85,Afternoon,Economy,74,220.4983368386397
898
+ 72,27,Urban,Gold,76,3.97,Morning,Premium,70,265.94661511348426
899
+ 99,6,Suburban,Gold,49,4.32,Afternoon,Economy,113,311.4894374116108
900
+ 21,10,Rural,Regular,22,4.42,Morning,Economy,151,647.8477765247827
901
+ 50,25,Urban,Silver,89,4.74,Afternoon,Economy,107,383.9141419544756
902
+ 61,35,Rural,Silver,4,4.77,Morning,Premium,115,557.916185756397
903
+ 24,5,Rural,Silver,57,4.96,Night,Premium,70,228.7960083986281
904
+ 31,17,Rural,Silver,71,4.46,Evening,Premium,55,237.76862211931405
905
+ 35,20,Suburban,Regular,62,3.55,Afternoon,Economy,117,297.0874038526085
906
+ 74,30,Urban,Regular,97,3.9,Evening,Economy,179,794.3231511066332
907
+ 94,61,Urban,Regular,12,4.95,Evening,Premium,133,563.8497971641384
908
+ 44,11,Rural,Silver,31,3.92,Afternoon,Premium,110,339.2870734791633
909
+ 84,37,Urban,Gold,3,3.83,Evening,Premium,69,248.94765537056492
910
+ 27,12,Suburban,Regular,39,4.51,Morning,Premium,55,279.2686999169939
911
+ 59,36,Suburban,Regular,43,3.74,Evening,Premium,25,145.04223833476908
912
+ 82,20,Urban,Regular,59,3.99,Night,Premium,45,241.82595645073621
913
+ 24,10,Urban,Gold,24,4.09,Morning,Premium,97,430.60985477056624
914
+ 84,67,Suburban,Regular,48,4.87,Night,Economy,81,219.99370680056552
915
+ 52,9,Suburban,Regular,24,4.19,Morning,Economy,102,366.7282586383836
916
+ 38,12,Rural,Silver,44,4.85,Evening,Economy,110,356.8814026432877
917
+ 26,12,Urban,Regular,80,4.27,Afternoon,Economy,134,441.4714772887345
918
+ 61,39,Suburban,Regular,82,4.49,Morning,Premium,46,230.1431447581205
919
+ 87,41,Rural,Gold,97,4.27,Afternoon,Premium,37,158.89198003545
920
+ 98,46,Suburban,Gold,55,4.71,Evening,Economy,173,766.9193242115463
921
+ 24,13,Urban,Silver,54,4.09,Morning,Economy,161,466.72298223301004
922
+ 44,8,Urban,Gold,43,3.82,Night,Economy,86,233.50662384935427
923
+ 71,59,Urban,Regular,71,4.47,Evening,Economy,31,104.1037337805616
924
+ 91,59,Urban,Silver,68,4.77,Night,Economy,15,38.33576819209958
925
+ 32,14,Urban,Gold,75,4.49,Night,Economy,177,761.0167600703148
926
+ 79,24,Urban,Silver,0,4.26,Evening,Economy,82,284.8625062809567
927
+ 73,27,Urban,Regular,55,4.27,Morning,Premium,50,216.06019585156733
928
+ 32,16,Rural,Silver,80,4.78,Morning,Economy,11,39.37370119886104
929
+ 22,10,Rural,Silver,5,4.44,Morning,Premium,129,471.7821019342959
930
+ 35,19,Urban,Silver,45,4.99,Afternoon,Economy,159,508.6730024657942
931
+ 24,10,Suburban,Regular,79,4.3,Night,Economy,24,95.11851081754354
932
+ 67,31,Rural,Gold,64,3.62,Night,Economy,169,735.1444900755255
933
+ 100,73,Urban,Silver,95,3.98,Night,Premium,100,456.60307303079816
934
+ 66,16,Urban,Silver,94,4.52,Morning,Economy,34,122.24187517858557
935
+ 96,36,Urban,Regular,57,4.06,Evening,Premium,139,599.8171406236374
936
+ 60,8,Urban,Regular,68,4.84,Morning,Premium,144,438.5186068324803
937
+ 92,31,Rural,Silver,54,3.91,Night,Premium,148,516.1330392078827
938
+ 92,49,Urban,Silver,9,4.23,Evening,Premium,89,397.4831040703401
939
+ 56,37,Urban,Silver,27,4.12,Afternoon,Premium,68,317.8400260939533
940
+ 88,71,Rural,Regular,42,4.87,Afternoon,Premium,109,330.78364034759613
941
+ 87,47,Rural,Silver,6,4.54,Morning,Premium,162,743.3166378180009
942
+ 85,6,Suburban,Gold,92,4.11,Afternoon,Economy,73,274.17127731249116
943
+ 98,54,Rural,Regular,34,4.57,Evening,Premium,113,462.4075929220183
944
+ 28,14,Rural,Regular,24,4.2,Afternoon,Economy,147,533.0802632142761
945
+ 36,9,Suburban,Silver,22,3.51,Night,Premium,37,143.2178421949143
946
+ 20,8,Suburban,Silver,38,4.82,Night,Premium,155,574.9456425421428
947
+ 94,36,Rural,Regular,41,4.57,Morning,Economy,76,215.74176164066196
948
+ 94,82,Suburban,Gold,48,4.92,Morning,Premium,20,129.7685299495176
949
+ 70,7,Urban,Regular,13,4.09,Afternoon,Economy,117,321.0007657787772
950
+ 90,71,Suburban,Regular,37,3.51,Morning,Premium,32,172.59277503910292
951
+ 42,10,Urban,Silver,56,4.01,Night,Premium,95,455.20978516158993
952
+ 44,18,Suburban,Gold,88,3.67,Night,Premium,50,199.83974409069756
953
+ 60,16,Suburban,Regular,28,3.91,Evening,Economy,105,281.0970650985199
954
+ 26,5,Rural,Silver,7,4.75,Afternoon,Premium,140,413.54800185803066
955
+ 79,13,Rural,Regular,6,4.63,Afternoon,Economy,38,134.09432585149492
956
+ 26,8,Rural,Gold,65,3.58,Night,Premium,89,378.50396161301137
957
+ 62,7,Urban,Silver,2,4.71,Morning,Premium,28,162.05358553352147
958
+ 42,16,Rural,Gold,33,3.63,Morning,Economy,166,513.1161277813304
959
+ 57,16,Urban,Regular,0,3.95,Afternoon,Economy,97,308.6385554813678
960
+ 33,13,Rural,Gold,34,4.78,Morning,Economy,66,239.08854651007988
961
+ 22,10,Rural,Regular,26,4.97,Morning,Economy,170,562.1650160715976
962
+ 67,44,Urban,Regular,27,4.69,Morning,Economy,129,467.0198948894929
963
+ 62,15,Suburban,Silver,15,4.28,Night,Economy,73,327.43334173812747
964
+ 95,49,Rural,Regular,92,4.27,Night,Premium,99,332.0936161256213
965
+ 61,36,Urban,Silver,72,4.64,Night,Premium,109,457.0853188522962
966
+ 48,12,Rural,Silver,25,4.26,Night,Economy,180,552.8162271192283
967
+ 93,59,Rural,Regular,30,4.11,Afternoon,Premium,89,281.0521288708149
968
+ 59,18,Urban,Gold,67,3.86,Morning,Economy,98,288.3451530321269
969
+ 95,73,Urban,Regular,20,3.59,Evening,Premium,138,666.8242060496077
970
+ 71,33,Suburban,Regular,4,4.88,Evening,Premium,109,436.0192372930386
971
+ 20,7,Suburban,Gold,71,3.83,Morning,Premium,51,248.22030676592635
972
+ 23,7,Urban,Gold,96,3.97,Afternoon,Premium,165,493.2338839519256
973
+ 80,69,Suburban,Silver,94,4.44,Night,Economy,74,291.5110820764234
974
+ 58,10,Urban,Gold,51,4.27,Night,Premium,138,459.0606514814432
975
+ 71,25,Urban,Gold,72,4.46,Evening,Economy,169,603.9358824371426
976
+ 69,26,Rural,Gold,48,4.28,Evening,Premium,175,502.6040622268877
977
+ 89,54,Suburban,Gold,48,4.38,Afternoon,Economy,24,74.78832688768996
978
+ 84,62,Urban,Silver,52,4.61,Afternoon,Economy,29,126.23081147979764
979
+ 98,61,Urban,Silver,91,4.28,Night,Economy,95,319.94237960548924
980
+ 95,25,Urban,Gold,26,3.62,Morning,Economy,81,207.61291922267668
981
+ 79,29,Rural,Silver,29,4.22,Night,Economy,99,304.74417790488224
982
+ 82,10,Urban,Silver,97,4.43,Night,Economy,177,481.7658793191911
983
+ 87,5,Rural,Gold,6,3.76,Evening,Economy,28,83.3353748167845
984
+ 83,35,Rural,Gold,3,4.32,Night,Premium,116,513.6451022177532
985
+ 47,9,Rural,Regular,5,4.81,Night,Premium,178,561.374877548703
986
+ 34,7,Urban,Silver,54,4.71,Night,Premium,149,516.51117285383
987
+ 26,13,Rural,Regular,14,4.19,Morning,Economy,174,666.4286805847338
988
+ 88,7,Rural,Gold,11,3.64,Night,Premium,130,573.2085393656391
989
+ 57,26,Rural,Regular,92,3.8,Evening,Premium,67,283.79792515074917
990
+ 45,17,Rural,Silver,67,4.7,Afternoon,Economy,15,66.78323718712389
991
+ 82,26,Urban,Gold,35,4.71,Morning,Economy,114,289.2390324634591
992
+ 54,39,Rural,Gold,88,4.59,Evening,Economy,42,147.42638660593482
993
+ 95,24,Suburban,Gold,79,3.5,Afternoon,Economy,130,552.2304431046015
994
+ 63,31,Suburban,Silver,2,3.81,Evening,Premium,160,632.5601419476765
995
+ 43,18,Urban,Gold,58,4.22,Evening,Economy,156,494.74525748477635
996
+ 33,14,Suburban,Regular,87,4.81,Evening,Premium,17,118.98653335805044
997
+ 33,23,Urban,Gold,24,4.21,Morning,Premium,11,91.38952597435123
998
+ 84,29,Urban,Regular,92,4.55,Morning,Premium,94,424.15598670174626
999
+ 44,6,Suburban,Gold,80,4.13,Night,Premium,40,157.36483032789283
1000
+ 53,27,Suburban,Regular,78,3.63,Night,Premium,58,279.09504825213924
1001
+ 78,63,Rural,Gold,14,4.21,Afternoon,Economy,147,655.065105532243
deploy.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from huggingface_hub import Repository
3
+
4
+ repo = Repository(
5
+ local_dir='.',
6
+ clone_from='PranavSharma/RidePricingInsightEngine',
7
+ use_auth_token=os.getenv('HUGGINGFACE_TOKEN')
8
+ )
9
+ repo.git_add(auto_lfs_track=True)
10
+ repo.git_commit(commit_message='Automated deployment')
11
+ repo.git_push()
dev_notebooks/EDA.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
dev_notebooks/Model_Selection.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
dev_notebooks/Studying effect of data on parameters and performance.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ gradio
2
+ scikit-learn
3
+ pandas
4
+ numpy
5
+ skops
6
+ plotly
7
+ kaleido