ML 系列:第 35 节 - 机器学习中的数据可视化

发布于:2024-11-27 ⋅ 阅读:(83) ⋅ 点赞:(0)

ML 系列:第 35 天 - 机器学习中的数据可视化

一、说明

描述性统计和数据可视化是理解和解释机器学习数据的基础。它们有助于总结和直观地呈现数据,揭示潜在的模式和见解。这篇博文介绍了数据可视化工具,包括直方图、箱线图、散点图和其他重要图表。

二、数据可视化

数据可视化涉及创建数据的图形表示以识别趋势、模式和异常值。有效的可视化可以使复杂的数据更易于访问和理解。以下是数据可视化中使用的一些基本图表:

2.1 直方图

直方图通过将数据分成多个区间并绘制每个区间内数据点的频率来显示连续变量的分布。它们有助于了解数据的形状、集中趋势和分布。

示例:可视化人口的年龄分布。
将matplotlib.pyplot导入为plt

import matplotlib.pyplot as plt

data = [23, 45, 56, 78, 22, 34, 42, 44, 48, 50, 53, 21, 33]
plt.hist(data, bins=5, edgecolor='black')
plt.title('Histogram of Ages')
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.show()

输出:

在这里插入图片描述

2.2 箱线图

箱线图(或箱须图)基于五个数字摘要显示数据集的分布:最小值、第一四分位数 (Q1)、中位数、第三四分位数 (Q3) 和最大值。它们可用于识别异常值并比较不同组之间的分布。

例如:比较不同班级的考试成绩。

import seaborn as sns

data = {'Class A': [78, 85, 90, 93, 95, 88, 84],
        'Class B': [65, 70, 72, 74, 76, 68, 71]}
sns.boxplot(data=data)
plt.title('Box Plot of Test Scores by Class')
plt.ylabel('Test Scores')
plt.show()

输出:
在这里插入图片描述

2.3 散点图

散点图显示两个连续变量之间的关系。每个点代表一个观察值,x 和 y 坐标对应于两个变量的值。散点图可用于识别相关性和模式。

例如:考察学习时间和考试成绩之间的关系。

import numpy as np

study_hours = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
test_scores = [50, 55, 60, 65, 70, 75, 80, 85, 90, 95]
plt.scatter(study_hours, test_scores)
plt.title('Scatter Plot of Study Hours vs. Test Scores')
plt.xlabel('Study Hours')
plt.ylabel('Test Scores')
plt.show()

输出:
在这里插入图片描述

2.4 条形图

条形图用矩形条表示分类数据。每个条形的高度对应于类别的频率或值。

示例:可视化不同产品类别的销售情况。

categories = ['A', 'B', 'C', 'D']
sales = [150, 200, 100, 250]
plt.bar(categories, sales, color='blue')
plt.title('Sales by Category')
plt.xlabel('Category')
plt.ylabel('Sales')
plt.show()

输出:
在这里插入图片描述

2.5 线图

线图显示由线连接的数据点,显示随时间或连续数据的趋势。

示例:绘制某公司的月销售额图表。

months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
sales = [1000, 1200, 1500, 1700, 1600, 1800]
plt.plot(months, sales, marker='o')
plt.title('Monthly Sales')
plt.xlabel('Month')
plt.ylabel('Sales')
plt.show()

输出:
在这里插入图片描述

2.6 热图

热图使用颜色以矩阵格式表示数据值,非常适合显示大型数据集中的相关性和模式。

示例:可视化数据集的相关矩阵。

import seaborn as sns
import numpy as np

data = np.random.rand(10, 12)
sns.heatmap(data, annot=True, cmap='coolwarm')
plt.title('Heatmap of Random Data')
plt.show()

输出:
在这里插入图片描述

三、结尾

在我们的机器学习之旅中,我们探索了数据可视化工具,包括直方图、箱线图、散点图和其他重要图表。展望第 36 节(统计学中的抽样类型),我们将介绍不同类型的抽样,例如简单随机抽样、分层抽样、集群抽样、系统抽样和便利抽样。


网站公告

今日签到

点亮在社区的每一天
去签到