sklearn-二手汽车交易价格预测

该博客探讨了如何使用sklearn进行二手车价格预测。任务基于阿里云天池竞赛的数据,包含超过40万个脱敏的交易记录。数据字段包括交易ID、注册日期、车型、品牌等,预测目标是交易价格。博主分享了模型训练和评估的标准,采用MAE作为评价指标,并概述了预测的基本流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务

以二手车市场为背景,要求预测二手汽车的交易价格。
题目地址

https://tianchi.aliyun.com/competition/entrance/231784/information

该数据来自某交易平台的二手车交易记录,总数据量超过40w,包含31列变量信息,其中15列为匿名变量。为了保证比赛的公平性,将会从中抽取15万条作为训练集,5万条作为测试集A,5万条作为测试集B,同时会对name、model、brand和regionCode等信息进行脱敏。

数据描述

字段表
Field Description
SaleID 交易ID,唯一编码
name 汽车交易名称,已脱敏
regDate 汽车注册日期,例如20160101,2016年01月01日
model 车型编码,已脱敏
brand 汽车品牌,已脱敏
bodyType 车身类型:豪华轿车:0,微型车:1,厢型车:2,大巴车:3,敞篷车:4,双门汽车:5,商务车:6,搅拌车:7
fuelType 燃油类型:汽油:0,柴油:1,液化石油气:2,天然气:3,混合动力:4,其他:5,电动:6
gearbox 变速箱:手动:0,自动:1
power 发动机功率:范围 [ 0, 600 ]
kilometer 汽车已行驶公里,单位万km
notRepairedDamage 汽车有尚未修复的损坏:是:0,否:1
regionCode 地区编码,已脱敏
seller 销售方:个体:0,非个体:1
offerType 报价类型:提供:0,请求:1
creatDate 汽车上线时间,即开始售卖时间
price 二手车交易价格(预测目标)
v系列特征 匿名特征,包含v0-14在内15个匿名特征

评测标准

评价标准为MAE(Mean Absolute Error)。
enter image description here
MAE越小,说明模型预测得越准确。

代码

回归预测基本流程

import pandas as pd
#读取数据
train_data = pd.read_csv('train.csv', sep = " ") #sep 分割符,默认 “,”
#train_data = train_data[:50000]
test_data = pd.read_csv('test.csv', sep = " ")

def preView(data):
    print("data.shape",data.shape)
    print("data.columns",data.columns)
    # 非数值和数值型特征
    numericalCols = []
    categoricalCols = []
    for col in train_data.columns:
        if train_data[col].dtype == 'object':
            categoricalCols.append(col)
        else:
            numericalCols.append(col)

    # 查看非数值型特征缺失值
    # 删除缺失值达到60%以上的
    miss_cols = []
    for col in train_data.columns:
        missSum =
### 阿里云 Python 实现二手车交易价格预测 为了实现二手车交易价格预测,可以采用多种机器学习算法并结合特征工程技术。以下是利用阿里云平台上的Python环境进行二手车交易价格预测的一个简化示例。 #### 数据预处理阶段 首先加载训练数据集`train.csv`文件中的字段信息[^2],并对部分数值型变量执行归一化操作以提高后续模型的表现效果[^3]: ```python import pandas as pd import numpy as np # 加载数据 data = pd.read_csv('train.csv') # 对行驶里程数(kilometer)做Min-Max缩放 data['kilometer'] = (data['kilometer'] - data['kilometer'].min()) / \ (data['kilometer'].max() - data['kilometer'].min()) ``` 接着还需要对类别型变量如品牌(`brand`)、车身类型(`bodyType`)等转换成独热编码形式以便于输入到大多数机器学习算法中去。 ```python categorical_features = ['brand', 'bodyType', 'fuelType', 'gearbox'] for feature in categorical_features: dummies = pd.get_dummies(data[feature], prefix=feature, drop_first=True) data = pd.concat([data, dummies], axis=1) data.drop(columns=categorical_features, inplace=True) ``` #### 构建与评估模型 这里选用简单的线性回归作为初始尝试的基础模型之一[^4]。当然,在实际比赛中可能会考虑更复杂的集成方法或者其他类型的非线性模型来提升最终成绩。 ```python from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error X = data.drop(['price'], axis=1).values y = data['price'].values # 划分测试集合训练集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建线性回归实例 lr = LinearRegression() # 训练模型 lr.fit(X_train, y_train) # 进行预测 predictions = lr.predict(X_test) # 输出均方误差(MSE),用于衡量预测准确性 mse = mean_squared_error(y_test, predictions) print(f'Mean Squared Error: {mse}') ``` 此段代码展示了如何在阿里云环境中使用Python完成一次基本的二手车交易价格预测过程,包括但不限于读取CSV格式的数据源、简单地处理其中的一些列以及应用最基础的监督式学习技术来进行价值估计的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值