Dự Đoán Thời Gian Giao Hàng Bằng XGBoost

Đây là một mô hình XGBoost được huấn luyện để dự đoán thời gian giao hàng (Time_taken(min)) dựa trên các yếu tố liên quan đến người giao hàng, nhà hàng, địa điểm giao hàng, điều kiện giao thông và thời tiết.

Mô Tả Mô Hình

Mô hình này sử dụng thuật toán XGBoost (Extreme Gradient Boosting), một thuật toán học máy mạnh mẽ và hiệu quả cho các bài toán hồi quy. Các tính năng đầu vào đã được chuẩn hóa bằng StandardScaler trước khi đưa vào mô hình.

Các Chỉ Số Hiệu Năng Chính (Trên tập kiểm tra):

  • : [Điền R2 Test vào đây] (Ví dụ: 0.771)
  • RMSE: [Điền RMSE Test vào đây] (Ví dụ: 4.486 phút)
  • MAE: [Điền MAE Test vào đây] (Ví dụ: 3.544 phút)
  • MAPE: [Điền MAPE Test vào đây] (Ví dụ: 15.21%)

(Lưu ý: Các giá trị trên là ví dụ, hãy cập nhật với kết quả thực tế của mô hình cuối cùng của bạn)

Cách Sử Dụng

Tải Mô Hình

Bạn có thể tải mô hình và scaler đã huấn luyện từ Hugging Face Hub bằng thư viện huggingface_hub hoặc joblib.

import joblib
from huggingface_hub import hf_hub_download
import pandas as pd

# Tải mô hình XGBoost
model_path = hf_hub_download(repo_id="your-username/Time-Delivery-Prediction-XGBoost", filename="best_xgb_model.joblib")
model = joblib.load(model_path)

# Tải bộ chuẩn hóa StandardScaler
scaler_path = hf_hub_download(repo_id="your-username/Time-Delivery-Prediction-XGBoost", filename="scaler.joblib")
scaler = joblib.load(scaler_path)

print("Đã tải mô hình và scaler thành công!")

Dự Đoán

Để thực hiện dự đoán, bạn cần chuẩn bị dữ liệu đầu vào với 17 cột tính năng đã được mã hóa và theo đúng thứ tự (X1 đến X17), sau đó chuẩn hóa chúng bằng scaler trước khi đưa vào model.

# Dữ liệu mẫu (chưa chuẩn hóa) cho 1 đơn hàng mới
# Đảm bảo thứ tự cột giống với dữ liệu huấn luyện
new_data_raw = pd.DataFrame([{
    'X1': 30, # Delivery_person_Age
    'X2': 4.5, # Delivery_person_Ratings
    'X3': 12.913, # Restaurant_latitude
    'X4': 77.683, # Restaurant_longitude
    'X5': 13.043, # Delivery_location_latitude
    'X6': 77.813, # Delivery_location_longitude
    'X7': 1, # Vehicle_condition (Trung bình)
    'X8': 1, # multiple_deliveries (1 đơn ghép)
    'X9': 10, # Time_Waiting_minutes
    'X10': 18, # Time_Order_Hour
    'X11': 18, # Time_Picked_Hour
    'X12': 2, # Road_traffic_density_Label (High)
    'X13': 1, # Weatherconditions_Label (Ví dụ: Rainy)
    'X14': 0, # Festival_Label (No)
    'X15': 1, # City_Label (Ví dụ: Metropolitian)
    'X16': 0, # Type_of_order_Label (Ví dụ: Snack)
    'X17': 1  # Type_of_vehicle_Label (Ví dụ: Scooter)
}])

# Chuẩn hóa dữ liệu đầu vào mới
new_data_scaled = scaler.transform(new_data_raw)

# Thực hiện dự đoán
predicted_time = model.predict(new_data_scaled)

print(f"Thời gian giao hàng dự đoán: {predicted_time[0]:.2f} phút")

Cấu Trúc File

Repository sẽ chứa các file sau:

  • best_xgb_model.joblib: Mô hình XGBoost đã huấn luyện.
  • scaler.joblib: Bộ chuẩn hóa StandardScaler.
  • README.md: File mô tả này.

Liên Hệ

[Điền thông tin liên hệ của bạn vào đây, ví dụ: email, LinkedIn]


Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support