Datawhale &天池二手车交易价格预测— Task1 赛题理解 +Task2 数据分析

本文深入解析了Datawhale和天池联合举办的二手车交易价格预测大赛的赛题,介绍了比赛目的、评价指标,并进行了详尽的数据分析,包括数据预处理、特征分析及可视化。

Datawhale &天池 二手车交易价格预测— Task1 赛题理解 +Task2 数据分析

1 赛题理解

二手车交易价格预测是Datawhale与天池联合发起的0基础入门系列赛事第一场 —— 零基础入门数据挖掘之二手车交易价格预测大赛。

1.1 比赛目的

赛题以二手车市场为背景,要求选手预测二手汽车的交易价格,这是一个典型的回归问题。通过这道赛题来引导大家走进AI数据竞赛的世界,主要针对于于竞赛新人进行自我练习、自我提高。

赛题目的是从已知15万条二手汽车的交易价格信息(每条二手车信息包含31项变量信息),想解决测试集对应二手汽车的交易价格预测。

1.2 相关评价指标

评价标准为MAE(Mean Absolute Error),即平均绝对值误差,它表示预测值和观测值之间绝对误差的平均值。这是一种常见的评价指标。
在这里插入图片描述
事实上,MAE越小,说明模型预测得越准确。在训练模型时可以借助sklearn中已有的MAE评测来检验自己模型对测试集拟合的效果,源代码如下:

# coding=utf-8
import numpy as np
#调用sklearn中的MAE
from sklearn import metrics
#定义自己编写的MAE评价指标
def test_mae(y_true, y_pred):
    mae_value = np.mean(np.abs(y_pred - y_true))
    return mae_value
#下面分别测试自己编写的MAE评价指标和sklearn的MAE评价指标
y_true = np.array([1.0, 5.0, 4.0, 3.0, 2.0, 5.0, -3.0])
y_pred = np.array([1.0, 4.5, 3.8, 3.2, 3.0, 4.8, -2.2])
print('test_MAE:',test_mae(y_true, y_pred))
print('sklearn_MAE:',metrics.mean_absolute_error(y_true, y_pred))
#test_MAE: 0.4142857142857143
#sklearn_MAE: 0.4142857142857143

2 数据分析

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

2.1 EDA简介

EDA是指对已有的数据(尤其是调查或观察得来的原始数据)在尽量少的先验假定下进行探索,通过作图、制表、方程拟合、计算特征量等手段探索数据的结构和规律的一种数据分析方法。特别是当我们面对各种杂乱的“脏数据”,往往不知所措,不知道从哪里开始了解目前拿到手上的数据时,探索性数据分析就非常有效。探索性数据分析是美国统计学家John Tukey在20世纪60年代提出的。
EDA的价值主要在于熟悉数据集,了解数据集,对数据集进行验证来确定所获得数据集可以用于接下来的机器学习或者深度学习使用。
当了解了数据集之后,下一步就是要去了解变量间的相互关系以及变量与预测值之间的存在关系。
引导数据科学从业者进行数据处理以及特征工程的步骤,使数据集的结构和特征集让接下来的预测问题更加可靠。
通过完成对于数据的探索性分析,并对于数据进行一些图表或者文字总结并打卡。

2.2 主要工作

2.2.1 导入相关函数工具箱

## 基础工具
import numpy as np
import pandas as pd
import warnings
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.special import jn
from IPython.display import display, clear_output
import time
## 导入warnings包,利用过滤器来实现忽略警告语句。
warnings.filterwarnings('ignore')

## 模型预测的
from sklearn import linear_model
from sklearn import preprocessing
from sklearn.svm import SVR
from sklearn.ensemble import RandomForestRegressor,GradientBoostingRegressor
## 数据降维处理的
from sklearn.decomposition import PCA,FastICA,FactorAnalysis,SparsePCA
import lightgbm as lgb
import xgboost as xgb
## 参数搜索和评价的
from sklearn.model_selection import GridSearchCV,cross_val_score,StratifiedKFold,train_test_split
from sklearn.metrics import mean_squared_error, mean_absolute_error

2.2.2 读取数据(csv文件,训练数据和测试数据)

## 通过Pandas对于数据进行读取 (pandas是一个很友好的数据读取函数库)
Traindata = pd.read_csv('datalab/231784/used_car_train_20200313.csv', sep=' ')
Testdata = pd.read_csv('datalab/231784/used_car_testA_20200313.csv', sep=' ')
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值