零基础入门数据挖掘——二手车交易价格预测
一、 赛题理解
Tip:此部分为零基础入门数据挖掘的 Task1 赛题理解 部分,为大家入门数据挖掘比赛提供一个基本的赛题入门讲解,欢迎后续大家多多交流。
赛题:零基础入门数据挖掘 - 二手车交易价格预测
地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX
1.1 学习目标
1)理解赛题数据和目标,清楚评分体系。
2)完成相应报名,下载数据和结果提交打卡(可提交示例结果),熟悉比赛流程
1.2 了解赛题
赛题概况
- 数据概况
- 预测指标
- 分析赛题
Datawhale 零基础入门数据挖掘-Task1 赛题理解
一、 赛题理解
Tip:此部分为零基础入门数据挖掘的 Task1 赛题理解 部分,为大家入门数据挖掘比赛提供一个基本的赛题入门讲解,欢迎后续大家多多交流。
赛题:零基础入门数据挖掘 - 二手车交易价格预测
地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX
1.1 学习目标
理解赛题数据和目标,清楚评分体系。
完成相应报名,下载数据和结果提交打卡(可提交示例结果),熟悉比赛流程
1.2 了解赛题
赛题概况
- 数据概况
- 预测指标
- 分析赛题
1.2.1 赛题概况
赛题以预测二手车的交易价格为任务,数据集报名后可见并可下载,该数据来自某交易平台的二手车交易记录,总数据量超过40w,包含31列变量信息,其中15列为匿名变量。为了保证比赛的公平性,将会从中抽取15万条作为训练集,5万条作为测试集A,5万条作为测试集B,同时会对name、model、brand和regionCode等信息进行脱敏。
通过这道赛题来引导大家走进 AI 数据竞赛的世界,主要针对于于竞赛新人进行自我练 习、自我提高。
1.2.2 数据概况
一般而言,对于数据在比赛界面都有对应的数据概况介绍(匿名特征除外),说明列的性质特征。了解列的性质会有助于我们对于数据的理解和后续分析。 Tip:匿名特征,就是未告知数据列所属的性质的特征列。
Datawhale 零基础入门数据挖掘-Task1 赛题理解
一、 赛题理解
Tip:此部分为零基础入门数据挖掘的 Task1 赛题理解 部分,为大家入门数据挖掘比赛提供一个基本的赛题入门讲解,欢迎后续大家多多交流。
赛题:零基础入门数据挖掘 - 二手车交易价格预测
地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX
1.1 学习目标
理解赛题数据和目标,清楚评分体系。
完成相应报名,下载数据和结果提交打卡(可提交示例结果),熟悉比赛流程
1.2 了解赛题
赛题概况
- 数据概况
- 预测指标
- 分析赛题
1.2.1 赛题概况
赛题以预测二手车的交易价格为任务,数据集报名后可见并可下载,该数据来自某交易平台的二手车交易记录,总数据量超过40w,包含31列变量信息,其中15列为匿名变量。为了保证比赛的公平性,将会从中抽取15万条作为训练集,5万条作为测试集A,5万条作为测试集B,同时会对name、model、brand和regionCode等信息进行脱敏。
通过这道赛题来引导大家走进 AI 数据竞赛的世界,主要针对于于竞赛新人进行自我练 习、自我提高。
1.2.2 数据概况
一般而言,对于数据在比赛界面都有对应的数据概况介绍(匿名特征除外),说明列的性质特征。了解列的性质会有助于我们对于数据的理解和后续分析。 Tip:匿名特征,就是未告知数据列所属的性质的特征列。
train.csv
SaleID - 销售样本ID
name - 汽车编码
regDate - 汽车注册时间
model - 车型编码
brand - 品牌
bodyType - 车身类型
fuelType - 燃油类型
gearbox - 变速箱
power - 汽车功率
kilometer - 汽车行驶公里
notRepairedDamage - 汽车有尚未修复的损坏
regionCode - 看车地区编码
seller - 销售方
offerType - 报价类型
creatDate - 广告发布时间
price - 汽车价格
v_0’, ‘v_1’, ‘v_2’, ‘v_3’, ‘v_4’, ‘v_5’, ‘v_6’, ‘v_7’, ‘v_8’, ‘v_9’, ‘v_10’, ‘v_11’, ‘v_12’, ‘v_13’,‘v_14’ 【匿名特征,包含v0-14在内15个匿名特征】
数字全都脱敏处理,都为label encoding形式,即数字形式
1.2.3 预测指标
本赛题的评价标准为MAE(Mean Absolute Error):
M
A
E
=
∑
i
=
1
n
∣
y
i
−
y
i
^
∣
n
MAE=\frac{\sum_{i=1}^n|y_i-\hat{y_i}|}{n}
MAE=n∑i=1n∣yi−yi^∣
其中
y
i
{y_i}
yi代表第
i
i
i个样本的真实值,
y
i
^
\hat{y_i}
yi^代表第
i
i
i个样本的预测值
一般问题评价指标说明:
什么是评估指标:
评估指标即是我们对于一个模型效果的数值型量化。(有点类似与对于一个商品评价打分,而这是针对于模型效果和理想效果之间的一个打分)
一般来说分类和回归问题的评价指标有如下一些形式:
分类算法常见的评估指标如下:
对于二类分类器/分类算法,评价指标主要有accuracy, [Precision,Recall,F-score,Pr曲线],ROC-AUC曲线。
对于多类分类器/分类算法,评价指标主要有accuracy, [宏平均和微平均,F-score]。
对于回归预测类常见的评估指标如下:
平均绝对误差(Mean Absolute Error,MAE),均方误差(Mean Squared Error,MSE),平均绝对百分误差(Mean Absolute Percentage Error,MAPE),均方根误差(Root Mean Squared Error), R2(R-Square)
平均绝对误差 平均绝对误差(Mean Absolute Error,MAE):平均绝对误差,其能更好地反映预测值与真实值误差的实际情况,其计算公式如下:
M
A
E
=
1
N
∑
i
=
1
n
∣
y
i
−
y
i
^
∣
MAE=\frac{1}{N}\sum_{i=1}^n|y_i-\hat{y_i}|
MAE=N1i=1∑n∣yi−yi^∣
均方误差 均方误差(Mean Squared Error,MSE),均方误差,其计算公式为:
M
S
E
=
1
N
∑
i
=
1
n
(
y
i
−
y
i
^
)
2
MSE=\frac{1}{N}\sum_{i=1}^n({y_i}-\hat{y_i})^2
MSE=N1i=1∑n(yi−yi^)2
R2(R-Square)的公式为: 残差平方和:
S
S
r
e
s
=
∑
(
y
i
−
y
i
^
)
2
SS_{res}=\sum({y_i}-\hat{y_i})^2
SSres=∑(yi−yi^)2
总平均值:
S
S
t
o
t
=
∑
(
y
i
−
y
i
ˉ
)
2
SS_{tot}=\sum({y_i}-\bar{y_i})^2
SStot=∑(yi−yiˉ)2
其中
y
ˉ
\bar{y}
yˉ表示
y
y
y的平均值,得到
R
2
R^2
R2表达式为:
R
2
=
1
−
S
S
r
e
s
S
S
t
o
t
R^2=1-{\frac{SS_{res}}{SS_{tot}}}
R2=1−SStotSSres
=
1
−
∑
(
y
i
−
y
i
^
)
2
∑
(
y
i
−
y
i
ˉ
)
2
=1-\frac{\sum({y_i}-\hat{y_i})^2}{\sum({y_i}-\bar{y_i})^2}
=1−∑(yi−yiˉ)2∑(yi−yi^)2
R
2
R^2
R2用于度量因变量的变异中可由自变量解释部分所占的比例,取值范围是 0~1,
R
2
R^2
R2越接近1,表明回归平方和占总平方和的比例越大,回归线与各观测点越接近,用x的变化来解释y值变化的部分就越多,回归的拟合程度就越好。所以
R
2
R^2
R2也称为拟合优度(Goodness of Fit)的统计量。
y
i
y_i
yi表示真实值,
y
i
^
\hat{y_i}
yi^表示预测值,
y
i
ˉ
\bar{y_i}
yiˉ表示样本均值。得分越高拟合效果越好。
1.2.4. 分析赛题
1.此题为传统的数据挖掘问题,通过数据科学以及机器学习深度学习的办法来进行建模得到结果。
2.此题是一个典型的回归问题。
3.主要应用xgb、lgb、catboost,以及pandas、numpy、matplotlib、seabon、sklearn、keras等等数据挖掘常用库或者框架来进行数据挖掘任务。
4.通过EDA来挖掘数据的联系和自我熟悉数据。
1.3 代码示例
本部分为对于数据读取和指标评价的示例。
1.3.1 数据读取pandas
import pandas as pd
import numpy as np
## 1) 载入训练集和测试集;
path = './datalab/231784/'
Train_data = pd.read_csv(path+'used_car_train_20200313.csv', sep=' ')
Test_data = pd.read_csv(path+'used_car_testA_20200313.csv', sep=' ')
print('Train data shape:',Train_data.shape)
print('TestA data shape:',Test_data.shape)
Train_data.head()
1.3.2 分类指标评价计算示例
## accuracy
import numpy as np
from sklearn.metrics import accuracy_score
y_pred = [0, 1, 0, 1]
y_true = [0, 1, 1, 1]
print('ACC:',accuracy_score(y_true, y_pred))
## Precision,Recall,F1-score
from sklearn import metrics
y_pred = [0, 1, 0, 0]
y_true = [0, 1, 0, 1]
print('Precision',metrics.precision_score(y_true, y_pred))
print('Recall',metrics.recall_score(y_true, y_pred))
print('F1-score:',metrics.f1_score(y_true, y_pred))
## AUC
import numpy as np
from sklearn.metrics import roc_auc_score
y_true = np.array([0, 0, 1, 1])
y_scores = np.array([0.1, 0.4, 0.35, 0.8])
print('AUC socre:',roc_auc_score(y_true, y_scores))
1.3.3 回归指标评价计算示例
# coding=utf-8
import numpy as np
from sklearn import metrics
# MAPE需要自己实现
def mape(y_true, y_pred):
return np.mean(np.abs((y_pred - y_true) / y_true))
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])
# MSE
print('MSE:',metrics.mean_squared_error(y_true, y_pred))
# RMSE
print('RMSE:',np.sqrt(metrics.mean_squared_error(y_true, y_pred)))
# MAE
print('MAE:',metrics.mean_absolute_error(y_true, y_pred))
# MAPE
print('MAPE:',mape(y_true, y_pred))
## R2-score
from sklearn.metrics import r2_score
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
print('R2-score:',r2_score(y_true, y_pred))
1.4 经验总结
做数据竞赛的题目的时候,对于塞梯的理解是非常重要的,往往数据竞赛都会有一定的评价指标来审核你的数据质量。因此在做数据竞赛的时候一定要先审题,审题完成后再来看评价指标是什么,那本题为例,本题明显是一个回归的问题,预测未来二手车的数量,并和真实的数据作对比。
其二,一般而言,我们还要做的事情是如何挖掘数据背后的特征,即特征工程。如果特征工程做得好,我们的模型质量就会无限接近输的局质量的上限,而且模型也能很快计算出结果,数据都是很脏的,特征工程要做的就是查找出无用的数据,将数据清洗,然后再加以利用,看数据背后的联系是什么,这一点决定了我们下一步使用模型。
而在使用模型的时候,一般而言我们都需要融合几个模型来达到最佳的效果,最后再对我们的模型进行评估,这就是数据竞赛。
[1]: https://blog.csdn.net/qq_39422642/article/details/78276002?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161828780316780269827811%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161828780316780269827811&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-78276002.first_rank_v2_pc_rank_v29&utm_term=markdown%E7%BC%96%E8%BE%91%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F
[2]: https://tianchi.aliyun.com/notebook-ai/detail?postId=95456