机器学习 - 偏度和峰度



偏度和峰度是机器学习中概率分布形状的两个重要衡量指标。

偏度指的是分布不对称的程度。如果分布在其均值周围不对称,则称其为偏态分布。偏度可以为正,表示分布的尾部在右侧较长;也可以为负,表示分布的尾部在左侧较长。偏度为零表示分布完全对称。

峰度指的是分布尖锐程度。高峰度的分布比正态分布具有更尖锐的峰值和更重的尾部,而低峰度的分布具有更平坦的峰值和更轻的尾部。峰度可以为正,表示峰值高于正态分布;也可以为负,表示峰值低于正态分布。峰度为零表示正态分布。

偏度和峰度都可能对机器学习算法产生重要影响,因为它们会影响模型的假设和预测的准确性。例如,高度偏斜的分布可能需要数据转换或使用非参数方法,而高度峰态的分布可能需要不同的统计模型或更稳健的估计方法。

示例

在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()函数计算数据集的偏度和峰度。最后,它将结果打印到控制台。

输出

执行此代码后,您将得到以下输出:

Skewness: -0.04119418903611285
Kurtosis: -0.1152250196054534

对于正态分布,所得的偏度和峰度值应接近于零。

广告
© . All rights reserved.