📅  最后修改于: 2023-12-03 15:36:22.213000             🧑  作者: Mango
在数据分析和机器学习中,均值是一个非常重要的统计量。均值可以告诉我们一组数据的集中趋势。本文通过图形的方式,让程序员更好地理解均值。
直方图是一种常用的可视化工具,可用于展示一组数据的分布情况。我们可以通过直方图来直观地看出数据的中心位置。
假设我们有一个数据集,其中包含了多个人的年龄:
[18, 20, 21, 22, 22, 23, 24, 26, 27, 29, 35, 40, 45, 50]
我们可以使用Python中的matplotlib库来绘制这个数据集的直方图:
import matplotlib.pyplot as plt
ages = [18, 20, 21, 22, 22, 23, 24, 26, 27, 29, 35, 40, 45, 50]
plt.hist(ages, bins=5)
plt.show()
运行这段程序,我们可以得到以下直方图:
直方图的x轴表示年龄,y轴表示频数(某个年龄出现的次数)。通过直方图,我们可以看到数据的分布情况。我们可以看到,年龄的分布情况大致呈现一个正态分布。从直方图可以看出,年龄的中心位置应该是在大约30岁左右。
我们可以使用numpy库来计算这个数据集的均值:
import numpy as np
ages = [18, 20, 21, 22, 22, 23, 24, 26, 27, 29, 35, 40, 45, 50]
mean_age = np.mean(ages)
print("Mean age is:", mean_age)
运行这段程序,我们可以得到以下输出:
Mean age is: 29.214285714285715
可以看到,这个数据集的均值为29.21岁。与直方图的结果相符。
箱线图是一种非常常用的可视化工具,用于展示多个数据集的统计数据。箱线图可以同时展示数据的中位数、上下四分位数、最小值、最大值和离群值等。
我们先来看一个数据集:
[10, 11, 13, 15, 16, 18, 20, 24, 25, 30, 40, 50]
我们可以使用Python中的matplotlib库来绘制这个数据集的箱线图:
import matplotlib.pyplot as plt
data = [10, 11, 13, 15, 16, 18, 20, 24, 25, 30, 40, 50]
plt.boxplot(data)
plt.show()
运行这段程序,我们可以得到以下箱线图:
从图中可以看出,这个数据集的中位数是大约18,上下四分位数(Q1和Q3)分别为12和30。数据的最小值为10,最大值为50。从箱线图可以看出,除了几个离群值之外,数据集的分布情况比较均匀。这也意味着这个数据集的均值应该比较接近中位数。
我们可以使用numpy库来计算这个数据集的均值:
import numpy as np
data = [10, 11, 13, 15, 16, 18, 20, 24, 25, 30, 40, 50]
mean_data = np.mean(data)
print("Mean of data is:", mean_data)
运行这段程序,我们可以得到以下输出:
Mean of data is: 21.25
可以看到,这个数据集的均值为21.25。与箱线图的结果相符。
通过以上的两个小节,我们可以看到,直方图和箱线图是两种非常直观的方法来形象地理解数据集的均值。在实际的数据分析和机器学习中,我们应该根据具体的情况来选择适合的可视化工具,让数据更加直观和易于理解。