Datawhale - 数据挖掘训练营 - Task 1

目标: 赛题理解

  • 理解赛题数据:理解数据概况(i.e. 列的性质特征)
  • 理解赛题目标:预测评价指标(i.e. 对于一个模型效果的数值型量化 / 打分)
  • 熟悉比赛流程

赛题资源

零基础入门数据挖掘 - 二手车交易价格预测
https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX (https://tianchi.aliyun.com/competition/entrance/231784/introduction? spm=5176.12281957.1004.1.38b02448ausjSX)

比赛任务

以某交易平台的二手车交易记录,预测二手车交易的价格.
评价标准:MAE (Mean Absolute Error)
M A E = ∑ i = 1 n ∣ y i − y ^ i ∣ n MAE=\frac{\sum_{i=1}^{n}\left|y_{i}-\hat{y}{i}\right|}{n} MAE=ni=1nyiy^i
其中 y i y{i} yi代表第 i i i个样本的真实值,其中 y ^ i \hat{y}_{i} y^i代表第 i i i个样本的预测值。

赛题分析

  1. 问题 - 回归问题
  2. 方法 - 数据科学以及机器学习深度学习的办法进行建模
  3. 可用库及框架 - xgb、lgb、catboost,以及pandas、numpy、matplotlib、seabon、sklearn、keras等
  4. 数据分析方法 - EDA

数据信息

数据:某交易平台的二手车交易记录
数据量:超过40w,
列变量:31列 (其中15列为匿名变量)
训练集:15w条
测试集:A集 - 5w条,B集 - 5w条
*name、model、brand和regionCode等信息已脱敏。

代码示例总结

数据读取pandas

import pandas as pd
pd.read_csv(filepath_or_buffer, sep=' ')
Train_data.head()

对于csv数据文件可用利用pd.read_csv()打开,train_data.head()可用查看部分data

pd.read_csv()参数列表

sep=' '   # 以,为数据分隔符
shkiprows= 10   # 跳过前十行
nrows = 10   # 只去前10行
parse_dates = ['col_name']   # 指定某行读取为日期格式
index_col = ['col_1','col_2']   # 读取指定的几列
error_bad_lines = False   # 当某行数据有问题时,不报错,直接跳过,处理脏数据时使用
na_values = 'NULL'   # 将NULL识别为空值

参考:https://blog.csdn.net/The_Time_Runner/article/details/86187900
http://www.bubuko.com/infodetail-2521815.html?__cf_chl_jschl_tk__=c2e24d34357dbb8842e9665e5f22e6665a1906d6-1584883918-0-Abrta6aTtIOz11QC_5ya0k5KbhLiXNk94QUTBcZ_IXuzjCGi-3N1fthJerS6ikgfhVMSBdFxZnu6CBpKtxZBFIg-6ZIq4pzZ5Jlzhf5_08wI76Hsc203U8uRByQAhMuf50q_gUeb8lYc-qnrQmH4UNof1jU9-j-xJqBgrcwPwzjFvPAtBPtGt8dBid21TxHfrm1nRmVfi5rVStzfLDF2yRZVx2vsU2utHocxXEdVQhdOPK_yG3hrKc2FBIIFug8EVTjCy0pWAQ4zq1hN94cQvKDINAZk8xC3t4hyJzJB9EiYhX8vXUlLJluANnz9u02Zww

分类/回归指标评价计算

import numpy as np
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))
print('ACC:', metrics.accuracy_score(y_true, y_pred))

#回归指标
# 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))
    

sklearn基于NumPy、Scipy、MatPlotLib,详细参考https://www.jianshu.com/p/6ada34655862
评价指标用法https://blog.csdn.net/Yqq19950707/article/details/90169913
评价指标总结
https://www.cnblogs.com/mdevelopment/p/9456486.html
https://www.cnblogs.com/harvey888/p/6964741.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值