# 赛题背景
二手车交易价格受到车龄、行驶里程、品牌、引擎参数以及市场供需等多种复杂因素的影响。建立高精度的价格预测模型，对于二手车交易平台进行自动估值、消费者进行购买决策都具有重要的商业价值。

本赛题基于真实的英国二手车市场交易数据。为了考察同学们对数据的理解以及特征工程能力，助教组对数据中的 **品牌 (Brand)** 和 **车型 (Model)** 进行了**脱敏与匿名化处理**。这意味着你无法直接通过查表或搜索外部信息来获得价格，必须依靠算法从数据中挖掘规律。

# 任务描述
这是一个典型的 **回归 (Regression)** 任务。
你的目标是根据提供的车辆属性（如年份、变速箱类型、里程、油耗等），预测该车辆的最终交易价格 (`price`)。

# 核心考点与建议
本赛题数据量适中，包含数值型和类别型混合特征，非常适合练习 **集成学习 (Ensemble Learning)** 算法。建议尝试以下方向：

1.  **特征工程 (Feature Engineering)**：
    - **类别特征编码**：`transmission` 和 `fuelType` 是字符串特征，尝试 One-Hot Encoding 或 Target Encoding。
    - **匿名特征处理**：`brand` 和 `model_id` 虽然已经是数字，但它们本质是分类特征。你可以将它们视为类别变量，也可以尝试通过 Embedding 学习其向量表示。
    - **交互特征**：例如计算“每年行驶里程” (`mileage / age`) 可能是一个强特征。
2.  **模型选择**：
    - **基线模型**：线性回归 (Linear Regression) 或 单棵决策树 (Decision Tree)。
    - **进阶模型**：重点考察 **随机森林 (Random Forest)** 与 **梯度提升树 (XGBoost / LightGBM / CatBoost)** 的应用与调优。比较 Bagging 和 Boosting 策略在回归任务上的差异。

# 数据集说明
数据集包含以下字段：

* **id**: 样本唯一标识符。
* **brand**: 品牌 ID (已脱敏为 0, 1, 2, 3)。
* **model_id**: 车型 ID (已脱敏为整数编码)。
* **year**: 车辆登记年份。
* **transmission**: 变速箱类型 (如 Automatic, Manual, Semi-Auto)。
* **mileage**: 行驶里程 (英里)。
* **fuelType**: 燃油类型 (如 Petrol, Diesel, Hybrid)。
* **tax**: 路税 (英镑)。
* **mpg**: 每加仑英里数 (Miles Per Gallon)，衡量油耗的指标。
* **engineSize**: 引擎排量 (升)。
* **price**: (Target) 车辆交易价格 (英镑)。

**注意**：严禁使用除本比赛提供数据以外的任何外部数据进行训练。