恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

非正态性(双峰)数据正态化处理(sklearn)

  • 首页
  • 资讯中心
  • /
  • 非正态性(双峰)数据正态化处理(sklearn)

相关资讯

Golang 学习笔记--Golang介绍 2026/8/26 20:32:37
5V升压9V 2A 大电流内置MOS 2026/8/26 20:32:37
免费降低ai率从哪下手?先检测定位再改写,降aigc省钱路线 2026/8/26 20:32:37

最新资讯

RT-Thread下AIR724UG断电重启联网难题与稳健启动策略实战
基于Java的网吧会员管理系统设计与实现
win32com实战指南:Python调用Windows COM自动化Office
RVM相关向量机实战:Python实现稀疏贝叶斯分类回归
BUSMASTER诊断与脚本自动化实践:从开源工具到商业方案的理性选择
蓝桥杯DS18B20实战:STM32G4单总线时序精控与寄生电源设计

今日推荐

Python random 模块常用函数详解:从入门到实战
Hermes接入团队协作后,我推翻了三个效率假设
免费AI大模型调教指南:打造专属网文写作助手

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

非正态性(双峰)数据正态化处理(sklearn)

发布时间:2026/8/26 20:32:37
非正态性(双峰)数据正态化处理(sklearn) Box-Cox变换是Box和Cox在1964年提出的一种广义幂变换方法是统计建模中常用的一种数据变换用于连续的响应变量不满足正态分布的情况。Box-Cox变换之后可以一定程度上减小不可观测的误差和预测变量的相关性。Box-Cox变换的主要特点是引入一个参数通过数据本身估计该参数进而确定应采取的数据变换形式Box-Cox变换可以明显地改善数据的正态性、对称性和方差相等性对许多实际数据都是行之有效的。但是当我们遇到双峰性数据时使用box-cox方法进行处理处理出来的效果往往是不理想的因此我们需要换方法。通过数据处理发现sklearn.preprocessing.QuantileTransformer这个方法处理双峰性数据的效果非常好因此我们接下来讲讲这种方法的具体使用以及对处理后的数据进行正态性检验以及查看峰度和偏度以及q-q图。接下来我们先了解一下sklearn.preprocessing.QuantileTransformer这个方法。此方法将要素转换为遵循均匀或正态分布。因此对于给定的特征此变换趋向于散布最频繁的值。它还减少了边际离群值的影响因此这是一个可靠的预处理方案。变换独立应用于每个功能。首先特征的累积分布函数的估计值用于将原始值映射到均匀分布。然后使用关联的分位数函数将获得的值映射到所需的输出分布。低于或高于拟合范围的新数据/看不见数据的特征值将映射到输出分布的边界。请注意此变换是非线性的。它可能会扭曲以相同比例尺测量的变量之间的线性相关性但会使以不同比例尺测量的变量更直接可比。好了接下来我们进入实战我们以 2022 SAS中国高校数据分析大赛 复赛题目-农产品期货 数据为例子首先导入数据import pandas as pd import numpy as np from scipy import stats import matplotlib.pyplot as plt f pd.read_csv(rC:\Users\bai\Desktop\2022 SAS中国高校数据分析大赛 复赛题目-农产品期货\2022 SAS中国高校数据分析大赛 复赛题目-农产品期货\玉米期货2005-2021日线数据\Corn_dat.csv) f.head() #查看数据导入画图库查看原始数据的分布import seaborn as sns sns.set() #切换到sns的默认运行配置 sns.displot(f[High]) #画直方图画q-q图resstats.probplot(f[High],plotplt) #画q-q图参数检验p值偏度与峰度u f[High].mean() #求均值 std f[High].std() #求方差 result stats.kstest(f[High],norm,(u,std)) #正态分布检验 print(result) #输出结果pvalue大于0.05才满足正态分布print(fSkewness of saleprice: {f[High].skew()}) print(fKurtosis of saleprice: {f[High].kurt()})导入机器学习库对数据进行处理from sklearn.preprocessing import QuantileTransformer #导入sklearn 分位数转换器 将双峰数据正态化 xQuantileTransformer(n_quantiles 300,output_distributionnormal, random_state0) #初始化参数 #f[High].values.reshape(-1,1) 由于在sklearn中所有的数据都应该是二维矩阵哪怕它只是单独一行或一列 #比如前面做预测时仅仅只用了一个样本数据所以需要使用.reshape(1,-1)进行转换 high x.fit_transform(f[High].values.reshape(-1,1)) #调用分位数转换器将数据进行转换high.flatten() #将二维数据降维回来以便后面画图 f[high]high #将正态化的数据写入表 f.head() #查看处理后的数据画处理后的直方图sns.displot(f[high]) #画正态分布图画q-q图resstats.probplot(f[high],plotplt) #画q-q图输出检验参数u f[high].mean() #求均值 std f[high].std() #求方差 result stats.kstest(f[high],norm,(u,std)) #正态分布检验 print(result) #输出结果pvalue大于0.05才满足正态分布 print(fSkewness of saleprice: {f[High].skew()}) print(fKurtosis of saleprice: {f[High].kurt()})将原始数据还原回来方便数据分析fhigh x.inverse_transform(high) #将原始数据还原回来进行数据分析 print(fhigh)还原回来后和原数据相同。接下来就可以进行其他分析啦

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号