数据挖掘:探索性数据分析(EDA)

数据挖掘:探索性数据分析(EDA)

在这里插入图片描述

一、什么是探索性数据分析

EDA (Exploratory Data Analysis),即对数据进行探索性的分析。充分了解数据,为之后的数据清洗和特征工程等提供想法和结论。在探索分析时,也可进行数据清洗的工作,两者是相辅相成的,没有说必须按照顺序去执行主要包括以下三个方面:分布分析,统计量分析和相关分析。
分布分析:定量定性分析。
统计量分析:集中,离散趋势和分布形状。
相关分析:单个图,图矩阵,相关系数。

另外,在比赛中可能会遇到脱敏数据。不告知数据的特征是什么,比如。阿里天池的工业蒸汽的数据本文主要讨论非脱敏数据,会在后续的文章对脱敏数据的一般处理方式进行说明。

  • 充分了解数据:
    1.了解数据的外部信息。即数据的现实意义。可通过比赛数据说明和上网百度、谷歌相关的业务数据知识得到。
    2.了解数据的内部信息。即数据的自身情况。可通过统计学的相关知识,如计算均值,标准差,峰度,偏度等。另外,也可以通过绘图,来深入了解数据,为创建有效特征提供思路。

二、数据外部信息

这部分主要参考比赛数据业务知识自己对数据的理解
比如,有身高和体重的数据,那么我们通过上网查找资料,得知将身体,体重带入某一公式,可以得出当前人的健康水平。这样我们就创建了一个更好的特征。
再举一个例子,电影评分的数据。通过上网查资料,或是平时对这方面数据的理解,可以得知IMDB的电影评分公式,将数据代入这个公式,可以创建一个不错的特征。
另外,也可以展开头脑风暴,创建大量的特征,有的没有都有,然后,进行特征选择。有时会有意想不到的效果。(但你也不知道为啥这个特征会有帮助。。。T^T)

三、数据内部信息

这里区分为单特征分析多特征分析。利用的方法包括统计学相关知识和数据可视化。
对于文本、图形、音频等非结构数据会在后续的文章中进行说明。本文主要探索结构性数据(简单理解就是全是数字的数据……)

读取数据后,可用pandas里的一些函数对数据有个大致的了解。常用的有如下几个函数:

# df是导入的数据
df.describe() # 查看所有数据平均值,四分位数等信息
df.info() # 查看所有数据的数据类型和非空值个数。
df.shape # 查看数据行列数
df.isnull().s
  • 45
    点赞
  • 147
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
心跳信号分类预测是一个基于数据挖掘的重要任务,本次回答将介绍在天池-零基础入门数据挖掘比赛中心跳信号分类预测项目中的EDA探索性数据分析)分析过程和相应代码。 首先,我们需要导入所需的库和数据集,如下所示: ```python import pandas as pd import numpy as np # 导入训练集 train_df = pd.read_csv('train.csv') # 导入测试集 test_df = pd.read_csv('test.csv') ``` 接下来,我们可以进行一些基本的数据探索,如查看数据集的形状和前几行数据等: ```python # 查看训练集形状 train_df.shape # 查看训练集前几行数据 train_df.head() ``` 然后,我们可以对数据集进行一些统计性分析,如计算各个特征的缺失值数量、平均值、标准差等: ```python # 计算训练集特征的缺失值数量 train_df.isnull().sum() # 计算训练集特征的均值 train_df.mean() # 计算训练集特征的标准差 train_df.std() ``` 接下来,我们可以对数据集中的特征进行可视化分析,以便更好地理解数据: ```python import matplotlib.pyplot as plt # 绘制训练集中特征的直方图 train_df.hist(figsize=(10, 10), bins=50) plt.show() # 绘制训练集中特征之间的相关性热图 correlation = train_df.corr() plt.figure(figsize=(10, 10)) plt.imshow(correlation, cmap='hot', interpolation='nearest') plt.colorbar() plt.xticks(np.arange(len(correlation.columns)), correlation.columns, rotation=90) plt.yticks(np.arange(len(correlation.columns)), correlation.columns) plt.show() ``` 最后,我们可以对数据集中的特征进行预处理和特征工程,以提高模型的性能: ```python from sklearn.preprocessing import StandardScaler # 对训练集的特征进行标准化 scaler = StandardScaler() scaled_features = scaler.fit_transform(train_df.drop('target', axis=1)) # 构建新的训练集 new_train_df = pd.DataFrame(scaled_features, columns=train_df.columns[:-1]) new_train_df['target'] = train_df['target'] ``` 以上就是在天池-零基础入门数据挖掘比赛中心跳信号分类预测项目中的EDA分析过程和相应代码。通过探索性数据分析,我们可以更好地理解数据集,并为后续的特征工程和模型训练做好准备。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值