AI数学启蒙:100天Python实践计划 - 第11天:简单统计 平均数、最大值、最小值 002篇

AI数学启蒙:100天Python实践计划 - 第11天 简单统计

今天我们将学习简单统计的基本概念,包括平均数、最大值、最小值,并从数学角度AI人工智能角度Python编程角度分别进行讲解和实践。


一、数学角度:简单统计的概念

1. 平均数(Mean)

  • 定义:所有数据的总和除以数据的个数。
  • 公式
    平均数 = x 1 + x 2 + ⋯ + x n n \text{平均数} = \frac{x_1 + x_2 + \dots + x_n}{n} 平均数=nx1+x2++xn
    其中, x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,,xn 是数据, n n n 是数据的个数。
  • 数学意义:反映数据的集中趋势,是数据分布的中心值。

2. 最大值(Maximum)

  • 定义:数据集中的最大数值。
  • 数学意义:反映数据的极端上限值。

3. 最小值(Minimum)

  • 定义:数据集中的最小数值。
  • 数学意义:反映数据的极端下限值。

二、AI人工智能角度:简单统计的作用

在AI和机器学习中,简单统计是数据预处理数据分析的基础:

  1. 数据探索(Exploratory Data Analysis, EDA)
    • 通过计算平均数、最大值、最小值,可以快速了解数据的分布和范围。
    • 例如:检查数据是否有异常值(如最大值远大于其他值)。
  2. 特征工程
    • 统计特征(如平均值)可以用于特征缩放(如标准化、归一化)。
  3. 模型评估
    • 在回归任务中,平均数可以用于计算误差(如均方误差MSE)。
  4. 数据清洗
    • 通过最大值和最小值可以检测异常值(如超出合理范围的数据)。

三、Python角度:实现简单统计

1. 手动实现

我们可以用Python的基本运算实现平均数、最大值、最小值:

# 示例数据
data = [10, 20, 30, 40, 50]

# 平均数
mean = sum(data) / len(data)
print("平均数:", mean)

# 最大值
max_value = max(data)
print("最大值:", max_value)

# 最小值
min_value = min(data)
print("最小值:", min_value)

输出

平均数: 30.0
最大值: 50
最小值: 10

2. 使用NumPy(推荐)

NumPy是Python中用于科学计算的库,提供了高效的统计函数:

import numpy as np

# 示例数据
data = np.array([10, 20, 30, 40, 50])

# 平均数
mean = np.mean(data)
print("平均数:", mean)

# 最大值
max_value = np.max(data)
print("最大值:", max_value)

# 最小值
min_value = np.min(data)
print("最小值:", min_value)

输出

平均数: 30.0
最大值: 50
最小值: 10

为什么推荐NumPy?

  • NumPy的计算效率更高(底层用C实现)。
  • 支持向量化操作(可以处理大规模数据)。
  • 提供更多统计函数(如标准差、方差等)。

3. 使用Pandas(适用于表格数据)

如果数据是表格形式(如CSV文件),可以用Pandas:

import pandas as pd

# 示例数据
data = {'values': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)

# 平均数
mean = df['values'].mean()
print("平均数:", mean)

# 最大值
max_value = df['values'].max()
print("最大值:", max_value)

# 最小值
min_value = df['values'].min()
print("最小值:", min_value)

输出

平均数: 30.0
最大值: 50
最小值: 10

四、实践任务

任务1:手动计算统计量

给定数据 [15, 25, 35, 45, 55],手动计算平均数、最大值、最小值。

任务2:用Python实现

用Python(不使用NumPy和Pandas)计算以下数据的统计量:

data = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]

任务3:用NumPy实现

用NumPy计算以下数据的统计量:

data = np.array([10, 20, 30, 40, 50, 60, 70, 80, 90, 100])

任务4:用Pandas实现

用Pandas计算以下数据的统计量(假设数据存储在CSV文件中):

  • 创建一个CSV文件 data.csv,内容如下:
    values
    10
    20
    30
    40
    50
    
  • 用Pandas读取并计算统计量。

五、总结

角度平均数最大值最小值
数学数据总和 / 数据个数数据集中的最大值数据集中的最小值
AI数据探索、特征工程、模型评估检测异常值、特征缩放检测异常值、特征缩放
Pythonsum(data) / len(data)max(data)min(data)
np.mean(data)np.max(data)np.min(data)
df['col'].mean()df['col'].max()df['col'].min()

关键点

  1. 简单统计是数据分析的基础。
  2. NumPy和Pandas可以高效实现统计计算。
  3. 在AI中,统计量用于数据探索和模型评估。

六、扩展思考

  1. 如果数据中有异常值(如 [1, 2, 3, 100]),平均数会受到什么影响?
    • 平均数会被拉高(因为100远大于其他值)。
    • 可以考虑用中位数(Median)代替平均数(中位数是排序后中间的值)。
  2. 如何用Python计算中位数?
    • np.median(data)df['col'].median()

下一课预告:第12天 - 中位数、众数、数据分布。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩公子的Linux大集市

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值