1. MSE(均方误差)定义及计算方法详解
MSE(Mean Squared Error,均方误差)是衡量预测值与实际值差异的常用指标,广泛应用于回归分析中。其计算公式为:
=
其中:
- n 是样本数量
- 是第 i个实际值
- 是第 i 个预测值
特点
- 非负性:MSE 始终为非负数,值为零表示预测完全准确。
- 放大误差:由于误差被平方,较大的误差会被显著放大,因此 MSE 对异常值敏感。
- 单位:MSE 的单位是实际值的平方,可能不如 RMSE(均方根误差)直观。
应用
- 模型评估:用于评估回归模型的预测精度。
- 优化目标:在训练模型时,常作为损失函数进行优化。
示例
假设有以下实际值和预测值:
| 样本 | 实际值 | 预测值 | 误差 | 误差平方 |
|---|---|---|---|---|
| 1 | 3 | 2.5 | 0.5 | 0.25 |
| 2 | 5 | 4.8 | 0.2 | 0.04 |
| 3 | 7 | 7.2 | -0.2 | 0.04 |
| 4 | 9 | 8.9 | 0.1 | 0.01 |
计算 MSE:
MSE=0.25+0.04+0.04+0.014=0.344=0.085MSE=40.25+0.04+0.04+0.01=40.34=0.085
总结
MSE 是评估回归模型性能的重要指标,值越小表示预测越准确,但对异常值敏感。
2. np.random.seed(0) 的作用
import numpy as np
# 设置随机数种子
np.random.seed(0)
# 生成随机数
random_numbers_1 = np.random.rand(5)
print("第一次生成的随机数:", random_numbers_1)
# 再次生成随机数
random_numbers_2 = np.random.rand(5)
print("第二次生成的随机数:", random_numbers_2)
# 重置种子
np.random.seed(0)
# 再次生成随机数
random_numbers_3 = np.random.rand(5)
print("重置种子后生成的随机数:", random_numbers_3)
总结
np.random.seed(0) 的作用是 下次随机生成的数值一样
第一次生成的随机数: [0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 ]
第二次生成的随机数: [0.64589411 0.43758721 0.891773 0.96366276 0.38344152]
重置种子后生成的随机数: [0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 ]