Machine Learning 简明教程
Machine Learning - Skewness and Kurtosis
偏度和峰度是机器学习中概率分布形状的两个重要衡量指标。
偏度是指分布的不对称程度。如果分布相对于其均值不是对称的,则该分布就是偏度的。偏度可以是正数,指示分布的尾部在右侧更长,也可以是负数,指示分布的尾部在左侧更长。偏度为 0 指示该分布完全对称。
峰度是指分布的尖锐程度。具有高峰度的分布具有比正态分布更尖锐的峰值和更重的尾部,而具有低峰度的分布具有更平坦的峰值和更轻的尾部。峰度可以是正数,指示比正常值更高的峰值,也可以是负数,指示比正常值更低的峰值。峰度为 0 指示正态分布。
偏度和峰度都会对机器学习算法产生重要影响,因为它们可能影响模型的假设和预测的准确性。例如,高度偏斜的分布可能需要数据转换或使用非参数方法,而高度峰度的分布可能需要不同的统计模型或更稳健的估计方法。
Example
在 Python 中,SciPy 库提供了计算数据集偏度和峰度的函数。例如,以下代码使用 skew() 和 kurtosis() 函数计算数据集的偏度和峰度−
import numpy as np
from scipy.stats import skew, kurtosis
# Generate a random dataset
data = np.random.normal(0, 1, 1000)
# Calculate the skewness and kurtosis of the dataset
skewness = skew(data)
kurtosis = kurtosis(data)
# Print the results
print('Skewness:', skewness)
print('Kurtosis:', kurtosis)
此代码从均值为 0、标准偏差为 1 的正态分布中生成了 1000 个样本的随机数据集。然后,它使用 SciPy 库中的 skew() 和 kurtosis() 函数计算数据集的偏度和峰度。最后,它将结果打印到控制台。