7 数据挖掘小白教程:探索性数据分析之描述性分析
系列进度
数据挖掘入门 · 第 7 / 18 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
数据挖掘不是只跑算法,而是从数据准备、模式发现到结果解释的一整条流程。阅读时可以按「描述性分析的概念 -> 描述性分析步骤 -> 数据导入 -> 基本统计量计算」建立结构,再回到正文里的代码、案例或指标做验证。
读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「描述性分析的概念」,再查「描述性分析步骤」。
在数据挖掘的过程中,进行有效的数据预处理是至关重要的。正如我们在上一篇中讨论的“数据预处理之数据转换与归一化”部分,我们已经对原始数据进行了清洗和标准化,为接下来的分析奠定了基础。本篇将深入探讨探索性数据分析(Exploratory Data Analysis, EDA)中的描述性分析,这一步骤将帮助我们快速理解数据的基本特征和分布规律。
描述性分析的概念
描述性分析是对数据进行初步总结的过程,通过各种统计指标和图形展示数据的主要特征,帮助我们了解数据的分布、中心趋势和变异程度。常见的描述性统计量包括:
- 均值(Mean):所有数据点的平均值。
- 中位数(Median):将数据排序后位于中间位置的值。
- 众数(Mode):数据中出现频率最高的值。
- 标准差(Standard Deviation):衡量数据分布的离散程度。
- 范围(Range):数据的最大值与最小值之间的差。
描述性分析步骤
1. 数据导入
假设我们在进行一次房价分析的数据集,我们将使用 pandas 库来加载我们的数据集。以下是数据导入的代码示例:
import pandas as pd
# 使用 pandas 读取 CSV 文件
data = pd.read_csv('house_prices.csv')
# 显示数据的前五行
print(data.head())
2. 基本统计量计算
我们可以利用 pandas 提供的 .describe() 方法来快速获取数据集的基本统计信息。我们关注的特征包括房价中值、均值以及标准差等。
# 显示数据集中数值型特征的描述性统计信息
descriptive_stats = data.describe()
print(descriptive_stats)
示例输出:
price size bedrooms bathrooms
count 1000.000000 1000.000000 1000.000000 1000.000000
mean 300000.000000 1500.000000 3.000000 2.000000
std 150000.000000 500.000000 1.000000 0.500000
min 100000.000000 800.000000 1.000000 1.000000
25% 200000.000000 1200.000000 2.000000 1.500000
50% 290000.000000 1500.000000 3.000000 2.000000
75% 400000.000000 1800.000000 4.000000 2.500000
max 700000.000000 3000.000000 6.000000 4.000000
3. 数据分布检查
为了更好地理解数据的分布情况,可以使用 pandas 和 matplotlib 提供的方法绘制 直方图 和 箱线图。这些图形可以帮助我们可视化数据的分布情况。
做探索性数据分析时,先看字段类型、缺失比例、分布形态、异常点和变量关系。描述清楚,建模方向才稳。
import matplotlib.pyplot as plt
# 直方图
plt.figure(figsize=(12, 6))
plt.subplot(1, 2, 1)
plt.hist(data['price'], bins=30, color='skyblue', edgecolor='black')
plt.title('房价分布')
plt.xlabel('价格(元)')
plt.ylabel('频数')
# 箱线图
plt.subplot(1, 2, 2)
plt.boxplot(data['price'], vert=False)
plt.title('房价箱线图')
plt.xlabel('价格(元)')
plt.tight_layout()
plt.show()
4. 相关性分析
描述性分析中,了解特征之间的相关性同样重要。可以使用 .corr() 方法来计算特征之间的相关系数:
学《数据挖掘小白教程:探索性数据分析之描述性分析》时,可以先找一个自己能复现的小场景,再看相关概念和练习步骤,读完后用自己的例子复述一遍。
# 计算相关性矩阵
correlation = data.corr()
print(correlation)
# 可视化相关性矩阵
import seaborn as sns
plt.figure(figsize=(8, 6))
sns.heatmap(correlation, annot=True, fmt=".2f", cmap='coolwarm', cbar=True)
plt.title('特征之间的相关性')
plt.show()
通过上述的描述性统计和可视化,我们能够快速、直观地获取数据的基础信息与特征,为下一步的数据理解和可视化技术准备。
如果《数据挖掘小白教程:探索性数据分析之描述性分析》还没完全消化,可以从这张卡片的四个动作重新走一遍。
回看《数据挖掘小白教程:探索性数据分析之描述性分析》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。
总结
在本篇中,我们介绍了描述性分析的基本概念与操作方法,包括如何利用统计量快速评估数据特征,以及如何通过图形法查看数据的分布情况。这些分析将为我们后续的可视化技术打下坚实的基础。在下一篇中,我们将进一步探索如何使用各种可视化工具来展示和理解数据的深层规律。
通过对描述性分析的学习,相信你已对数据有了初步的理解。接下来,让我们在可视化技术的世界中进一步探寻数据的秘密。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
数据挖掘小白教程:探索性数据分析之描述性分析适合谁读?
这是 数据挖掘入门 系列第 7 / 18 篇,适合正在学习数据挖掘入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇数据挖掘入门教程要多久?
按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读