高度偏斜特征处理:log(x)、sqrt(x)、box-cox、Yeo-Johnson

一、概念

高度偏斜的特征 : 数据分布不均匀、不对称的特征

处理之后:使其分布更接近正态分布或至少减少偏斜程度

二、处理方法

1、对数变换:log(x)

  • 适用于右偏数据
  • 压缩大值,拉伸小值

2、平方根变换:sqrt(x)

  • 对右偏数据的效果比对数变换温和

3、Box-Cox变换

  • 一种更通用的幂变换方法
  • 可以处理各种程度的偏斜

4、Yeo-Johnson变换

  • Box-Cox的扩展,可以处理负值和零

三、代码

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
from sklearn.preprocessing import PowerTransformer

# 设置随机种子以确保结果可重现
np.random.seed(42)

# 生成一个右偏(正偏)的数据集
data = np.random.lognormal(mean=0, sigma=1, size=10000)

# 计算关键统计量
min_val = np.min(data)
q1 = np.percentile(data, 25)
median = np.median(data)
q3 = np.percentile(data, 75)
max_val = np.max(data)

print(f"原始数据:")
print(f"最小值: {min_val:.2f}")
print(f"25%分位点: {q1:.2f}")
print(f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值