偏态数据的观察、量化评估与处理前后的对比

article/2025/5/1 8:46:22

在机器学习中,模型更容易从具有正态分布特性的数据中学习到有用特征。但我们经常会发现有些特征存在长尾分布,对于这种偏态分布数据,需要进行特殊的处理,本文首先观察特征分布情况,然后以量化的方式评估数据偏态程度从而挑选出偏态数据,最后对偏态数据进行对数化处理,对比处理前后的特征分布。

通过箱线图观察不同特征的分布情况

# 查看特征的数据倾斜情况
# 丢弃y值
all_features = df_train.drop(['label'], axis=1)# 找出所有的数值型变量
numeric_dtypes = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']
numeric = []
for i in df_data.columns:if df_data[i].dtype in numeric_dtypes:numeric.append(i)# 对所有的数值型变量绘制箱体图
sns.set_style("white")
f, ax = plt.subplots(figsize=(20, 100))
ax.set_xscale("log")
ax = sns.boxplot(data=df_data[numeric] , orient="h", palette="Set1")
ax.xaxis.grid(False)
ax.set(ylabel="Feature names")
ax.set(xlabel="Numeric values")
ax.set(title="Numeric Distribution of Features")
sns.despine(trim=True, left=True)

在这里插入图片描述

通过量化指标-偏态系数找出倾斜较大的特征列

# 找出明显偏态的数值型变量
skew_features = df_train[numeric].apply(lambda x: x.skew()).sort_values(ascending=False)high_skew = skew_features[skew_features > 0.5]
skew_index = high_skew.indexprint("本数据集中有 {} 个数值型变量的 Skew > 0.5 :".format(high_skew.shape[0]))
skewness = pd.DataFrame({'Skew' :high_skew})
skew_features.head(10)

在这里插入图片描述

观察不同标签下特征的分布情况,以及经过对数化处理的特征分布情况

fig, (ax1, ax2) = plt.subplots(2,1, figsize=(20,10))sns.histplot(data=df_train+1, x="max_call_cnt/called_cnt", hue="label",bins=20, ax=ax1)
ax1.set_title("Origin feature distribution")
sns.histplot(data=df_train+1, x="max_call_cnt/called_cnt", hue="label",bins=20,log_scale=10, ax=ax2)
ax2.set_title("log feature distribution")plt.show()

在这里插入图片描述


http://chatgpt.dhexx.cn/article/7fTD0RZH.shtml

相关文章

统计学学习日记:L7-离散趋势分析之偏态和峰态

一、偏态&#xff08;SK&#xff09; 1.数据偏斜程度的测度 偏态系数0为对称分布 偏态系数>0为右偏分布 偏态系数<0为左偏分布 偏态系数>1或<-1&#xff0c;被称为高度偏态分布&#xff1b;偏态系数在0.5~1或-1~-0.5之间&#xff0c;被认为是中等偏态分布&#xf…

如何处理偏态数据?

这是笔试/面试题系列的第2篇文章 在了解何为偏态数据前&#xff0c;要先从正态数据说起。 正态分布 正态分布是自然界中广泛存在的&#xff0c;我们都知道它是两头低&#xff0c;中间高&#xff0c;整个形态呈现对称钟形的一个分布&#xff0c;之所以叫正态分布&#xff0c;是…

skewness and kurtosis偏态和峰度的解释和演示、数据的偏度和峰度——df.skew()、df.kurt()

skewness (偏态) 正偏态分布(positive skewness distribution)是指频数分布的高峰偏于左侧&#xff0c;偏态系数为正值的频数分布形态。偏态分布分为正偏态和负偏态。当均值大于众数时称为正偏态&#xff1b;当均值小于众数时称为负偏态。 定义上偏度是样本的三阶标准化矩&am…

Uniapp中onShow()的应用

遇到问题&#xff1a; 在使用一些变量进行判断时&#xff0c;用完一次开始下一次判断时&#xff0c;结果会跟前一次一样&#xff0c;比如门禁中第一个房子打开后&#xff0c;切换到另外的房子&#xff0c;结果返回结果跟第一个房子一样。 原因分析&#xff1a; 用于使用了相…

uni中onLoad与onShow周期的区别

一、说明 页面周期参考网址&#xff1a;https://uniapp.dcloud.io/tutorial/page.html#lifecycle 二、通俗概括 1. onLoad先执行&#xff0c;onShow后执行 onLoad() {console.log(111); }, onShow(){console.log(222); },2. onLoad只执行一次&#xff0c;onShow监听页面可执…

uni-app小程序onShow执行两次;微信小程序onShow重复执行原因;导航栏tabBar页的onLoad函数不执行;App.vue页的onShow执行原因;onShow莫名其妙执行

1.只有五种情况会触发导航栏tabBar页的onLoad函数&#xff0c;分别是&#xff1a; –1.1&#xff1a;首次进入到导航栏tabBar页面&#xff1b; –1.2&#xff1a;从微信分享进入的导航栏tabBar页面&#xff1b; –1.3&#xff1a;识别二维码跳转到小程序的导航栏tabBar页面&…

自定义组件中,使用onLoad,onShow生命周期失效问题

的解决方法 自定义组件中&#xff0c;使用onLoad,onShow生命周期失效问题 自定义组件中&#xff0c;使用onLoad,onShow生命周期失效问题 官方文档可查阅到&#xff1a; 页面生命周期仅在page中的vue页面有效&#xff0c;而单独封装的组件中【页面周期无效】&#xff0c;但是Vu…

微信小程序onTabItemTap和onShow的执行顺序

很显然 onShow的执行顺序要比 onTabItemTap早 onTabItemTap的特性是只在当前tabbar页面生效&#xff0c;比如onTabItemTap写在home页面&#xff0c;那么只有点击了tabbar上的home才会执行。 那是否有办法让onTabItemTap早于onShow先执行那&#xff1f;经过测试找到2种办法 方…

页面生命周期onShow没有触发

现象描述&#xff1a; 通过router.push接口跳转到快应用的B页面&#xff0c;当B页面只是引用一个自定义组件XX的时候&#xff0c;B页面的onShow生命周期无法触发。如下图所示&#xff1a; 代码如下&#xff1a; B页面代码&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 …

ER图和EER图的区别

ER图 ER图&#xff0c;是一种逻辑模型&#xff0c;与具体落地的数据库无关&#xff0c;长这样的 EER图 是一种物理模型&#xff0c;与落地的数据库&#xff08;Mysql&#xff09;相关&#xff0c;长这样的 总结 一般做数据设计的时候会经过一下这几个流程 0.规划 1.需求分析…

数据库关系建模(ER图设计关系表)

目录 一、概述 二、基本概念 1. 关系(relation) 2. 列(column) 3. 行(row) 4. 关系表 VS 一般的表 5. 主码(主键primary key) 6. 实体完整性约束(entity integrity constraint) 7. 外码(外键foreign key) 8. 参照完整性约束(reference integrity constraints) 三、ER模型…

ER图如何画?如何根据ER图转换成表结构?示例:图书管理系统ER图

一、ER图如何画&#xff1f; 很多同学不会画ER图&#xff0c;我就以图书管理系统为例画一张ER图和ER图如何转成数据库&#xff0c;科普一下。ER图是实体、属性、关系组成的图&#xff0c;主要用于数据库概念设计的时候&#xff0c;通过业务分析画出来的图&#xff0c;最终每一个…

ER图,以及转化成关系模式

软考复习get一个知识点 .找出条件中的实体(矩形),属性(椭圆),关系(菱形)关系分为1:1,1:N,M:N,列出ER图 2. -1:1联系的转换方法 -两个实体分别转化为一个关系模式,属性即是本来的属性 -关系可以与任意一个实体合并,关系的属性,以及另一个实体的主码…

ER图(把ER模型转换为关系模式、关系范式概念)

关于ER模型的转换&#xff0c;我们只需要记住三个转换准则&#xff1a; 1:1、1:N、M:N 二元联系&#xff1a; &#xff08;1&#xff09;一对一关系(One to One) 映射规则一&#xff1a;当转换为关系模型时&#xff0c;在两个实体任选一个添加另一个实体的主键即可。 例子&am…

数据库——ER图

参照&#xff1a;https://zhuanlan.zhihu.com/p/29029129 1、ER图分为实体、属性、关系三个核心部分。实体是长方形体现&#xff0c;而属性则是椭圆形&#xff0c;关系为菱形。 1&#xff09;ER图的实体&#xff08;entity&#xff09;&#xff1a;即数据模型中的数据对象&…

ER图连接线上加个圆圈什么意思_ER图模板实例,一篇文章教你绘制专业ER图

ER图是什么呢?ER是Entity Relationship的缩写,ER图翻译过来就是实体-联系图的意思。它由美籍华裔计算机科学家陈品山发明,是用来描述现实世界概念结构模型的有效方法,包括实体型、属性、联系这三个基本构成要素,实体型用矩形框表示,实体性的属性用椭圆图框或者圆角矩形表…

ER图的概念及例子

E-R图也称实体-联系图(Entity Relationship Diagram)&#xff0c;提供了表示实体类型、属性和联系的方法。 用来描述现实世界的概念模型&#xff1a; 用矩形表示实体型&#xff0c;矩形框内写明实体名&#xff1a;比如学生张三、学生李四都是实体&#xff1b; 用椭圆表示实体…

mysql中e r图又叫_E-R图是什么

E-R图&#xff0c;也称实体-关系图&#xff0c;是用来显示了实体集之间关系的。它提供了表示实体类型、属性和联系的方法&#xff1b;用来描述现实世界的概念模型。ER模型是数据库的设计或蓝图&#xff0c;以后可以作为数据库实现。 在E-R图中&#xff0c;实体集是一组相似的实…

ER图与关系模型

5.13 设某商业集团数据库中有3个实体集。一是商店实体集&#xff0c;属性有商店编号、商店名、地址等&#xff1b;二是商品实体集&#xff0c;属性有商品号、商品名、规格、单价等&#xff1b;三是职工实体集&#xff0c;属性有职工编号、姓名、性别、业绩等。 商店与商品间存在…