機器學習 - 偏度和峰度



偏度和峰度是機器學習中機率分佈形狀的兩個重要衡量指標。

偏度指的是分佈不對稱的程度。如果分佈在其均值周圍不對稱,則稱其為偏態分佈。偏度可以為正,表示分佈的尾部在右側較長;也可以為負,表示分佈的尾部在左側較長。偏度為零表示分佈完全對稱。

峰度指的是分佈尖銳程度。高峰度的分佈比正態分佈具有更尖銳的峰值和更重的尾部,而低峰度的分佈具有更平坦的峰值和更輕的尾部。峰度可以為正,表示峰值高於正態分佈;也可以為負,表示峰值低於正態分佈。峰度為零表示正態分佈。

偏度和峰度都可能對機器學習演算法產生重要影響,因為它們會影響模型的假設和預測的準確性。例如,高度偏斜的分佈可能需要資料轉換或使用非引數方法,而高度峰態的分佈可能需要不同的統計模型或更穩健的估計方法。

示例

在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

對於正態分佈,所得的偏度和峰度值應接近於零。

廣告