机器学习笔记:偏度skew与峰度kurt

一、总体

一般通过偏度和峰度对数据分布形态进行分析,与正态分布进行比较。

正态分布的偏度和峰度都看做零。

实际分析中,如果遇到峰度、偏度不为零情况,即表明变量存在左偏右偏,或者高顶平顶一说。

二、偏度 skewness

1.介绍

偏度(skewness),是统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。

偏度也称偏态、偏态系数。

表征概率分布密度曲线相对于平均值不对称程度的特征数。

直观看就是密度函数曲线尾部的相对长度。

偏度是三阶中心距计算得到的。

  • skewness = 0 —— 分布形态与正态分布偏度相同
  • skewness > 0 —— 正偏差数值较大,为正偏或右偏。长尾巴拖在右边,数据右端有较多的极端值
  • skewness < 0 —— 负偏差数值较大,为负偏或左偏。长尾巴拖在左边,数据左端有较多的极端值
  • 数值的绝对值越大,表明数据分布越不对称,偏斜程度大

pandas 的调用方法为:

DataFrame.skew(axis=None, 
               skipna=None,
               level=None,
               numeric_only=None,
               **kwargs)
# axis{index (0), columns (1)} 定义计算的轴

2.实操

import pandas as pd

df = pd.DataFrame({
        'A':[1,2,3,4],
        'B':[2,4,5,2]
        })

df.skew(axis=0)
df.skew()
'''
A    0.00000
B    0.37037
'''

df['C'] = [4,5,6,7]
df.skew()
'''
A    0.00000
B    0.37037
C    0.00000
dtype: float64
'''

三、峰度

1.介绍

峰度(kurtosis)是描述某变量所有取值分布形态陡缓程度的统计量,简单来说,就是数据分布顶的尖锐程度。

峰度是四阶标准矩计算得到的。

  • kurtosis = 0 —— 与正态分布的陡缓程度相同
  • kurtosis > 0 —— 比正态分布的高峰更加陡峭——尖顶峰
  • kurtosis < 0 —— 比正态分布的高峰来得平台——平顶峰

pandas 的调用方法为:

DataFrame.kurt(self,
              axis=None,
              skipna=None,
              level=None,
              numeric_only=None,
              **kwargs)

2.实操

import pandas as pd
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
import seaborn as sns

# 导入鸢尾花数据
iris = load_iris()
x = iris.data
y = iris.target

df = pd.DataFrame(x, columns=iris.feature_names)

# 可视化
sns.pairplot(df)

# 偏度、峰度
df.skew()
'''
sepal length (cm)    0.314911
sepal width (cm)     0.334053
petal length (cm)   -0.274464
petal width (cm)    -0.104997
dtype: float64
'''
df.kurt()
'''
sepal length (cm)   -0.552064
sepal width (cm)     0.290781
petal length (cm)   -1.401921
petal width (cm)    -1.339754
dtype: float64
'''

机器学习笔记:偏度skew与峰度kurt

参考链接:Pandas之skew,求偏度

参考链接:pandas.DataFrame.skew

参考链接:数据的偏度和峰度——df.skew()、df.kurt()

参考链接:偏度与峰度(附python代码)

上一篇:静态网页、动态网页、伪静态网页


下一篇:3_2:HTTP协议