Datawhale & 阿里云天池 二手车交易价格预测 Task2 : 数据的探索性分析(EDA)

正在参与datawhale和阿里云天池共同举办的数据挖掘比赛~

竞赛链接:
零基础入门数据挖掘-二手车交易价格预测

数据集
可见的数据集包含了训练集(15w),测试集(5w)。共有包括name,brand,model等在内的30个特征(已脱敏)。

数据分析及可视化
data为通过pandas从csv中读进来的dataframe格式
1.【总览数据概况】
data.describe() – 统计各个特征的非NaN的个数,均值,标准差,最小值,最大值,分位数。返回dataframe格式的统计表。

data.info() – 统计各个特征的dtype,非NaN的个数等。

2.【判断数据缺失和异常】
data.isnull() – 查看全体数据是否为nan,返回各个位置为nan是True还是False。

data.isnull().sum() – 查看每列(每个特征)存在nan的情况,返回每个特征对应缺失值个数。

nan可视化:执行下面代码,可生成特征对应缺失值个数的柱状图。

import matplotlib.pyplot as plt
missing = data.isnull().sum()
missing = missing[missing > 0]
missing.sort_values(inplace=True)
missing.plot.bar()

data[feature].value_counts() – 统计feature的各个值的个数。

通过统计各特征的值组成,可以看到:

  • notRepairedDamage特征对应值包含 ’ - ',可以转换为np.nan,再进行对缺失值的处理操作;
  • seller和offerType特征值倾向性严重,对预测几乎没有帮助,可以不考虑(直接删去)。

3.【预测值的分布】
可以用scipy.stats 和 seaborn结合,通过作图的方式直观地对预测值的分布进行拟合。

import scipy.stats as st
y = data['price']
plt.figure(1); plt.title('Johnson SU')
sns.distplot(y, kde=False, fit=st.johnsonsu)
plt.figure(2); plt.title('Normal')
sns.distplot(y, kde=False, fit=st.norm)
plt.figure(3); plt.title('Log Normal')
sns.distplot(y, kde=False, fit=st.lognorm)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值