特征工程:分解、量化与二值化技术详解

立即解锁
发布时间: 2025-09-07 01:59:23 阅读量: 11 订阅数: 50 AIGC
PDF

数据清洗的艺术与实践

# 特征工程:分解、量化与二值化技术详解 ## 1. 分解技术概述 高维数据集在建模时可能会面临挑战,无论是初始数据收集导致的高维,还是额外合成特征的创建。在这种情况下,使用较少的特征进行计算不仅更易于处理,而且可能具有更好的预测效果。分解是一种特殊的“特征选择”方法,它为特征集的参数空间创建一个新的正交基(新轴)。虽然分解在某种意义上创建了合成特征,但实际上是对数据进行了信息保留且可逆的变换(前提是保持维度数量不变)。其主要目的通常是进行降维,将数据的熵集中在初始维度,减少剩余维度的信息含量,丢弃较高编号的维度对建模指标影响不大,甚至可能有所改善。 常见的分解技术包括主成分分析(PCA)、非负矩阵分解(NMF)、潜在狄利克雷分配(LDA)、独立成分分析(ICA)和 t 分布随机邻域嵌入(t - SNE)等。其中,PCA 是最常见和最古老的分解技术,由 Karl Pearson 在 1901 年首次提出。这些分解技术在 scikit - learn 库中都有提供。 ## 2. 旋转与白化 ### 2.1 示例数据 以一个仅包含两个特征的数据集为例进行分解。当进行分解时,我们强调“最重要的合成轴”。对于 PCA 而言,其特征的方差会随着每个连续的 PCA 特征而减小。白化和球化是同义词,意味着对这些合成特征进行重新缩放。 ```python from src.whiten import data, show # Only two initial features for illustration, # but in general we would have a high dimensionality show(data, "Parameter space for two features", "Raw Feature 1", "Raw Feature 2") ``` ### 2.2 PCA 变换 这两个特征明显高度相关,且沿大约 45° 对角线的方差大于沿观测轴的方差。PCA 会重新定向数据,使这个方差轴(即最大熵)成为主要成分。 ```python from sklearn.decomposition import PCA show(PCA().fit_transform(data), "PCA Components", "Synthetic Axis 1", "Synthetic Axis 2") ``` ### 2.3 白化处理 scikit - learn 在 PCA 变换中内置了白化参数,可自动进行缩放,避免变换后再次重新缩放数据,是一种更简洁的方法。白化的概念类似于声学和光谱分析中“白噪声”和“粉红噪声”的区别,非白化的 PCA 会过度强调某个特定轴。 ```python show(PCA(whiten=True).fit_transform(data), "Whitened Components", "Synthetic Axis 1", "Synthetic Axis 2") ``` ## 3. 降维实践 以威斯康星乳腺癌数据集为例,该数据集包含 30 个肿瘤的数值测量,目标是将肿瘤分类为良性或恶性。我们将使用 PCA 进行降维,并观察对模型质量的影响。 ### 3.1 数据准备 ```python from sklearn.datasets import load_breast_cancer from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier cancer = load_breast_cancer() X_raw = StandardScaler().fit_transform(cancer.data) y = cancer.target ``` ### 3.2 不同主成分数量的降维 尝试选择 1 个、2 个和 4 个主成分,对原始的 30 个特征进行降维,并在每种情况下进行白化处理以保留维度尺度。 ```python from sklearn.decomposition import PCA X_pca1 = PCA(n_components=1, whiten=True).fit_transform(X_raw) X_pca2 = PCA(n_components=2, whiten=True).fit_transform(X_raw) X_pca4 = PCA(n_components=4, whiten=True).fit_transform(X_raw) ``` ### 3.3 模型评估 使用 K 近邻模型评估不同降维后的数据表现。 ```python for X in (X_raw, X_pca1, X_pca2, X_pca4): X_train, X_test, y_train, y_test = ( train_test_split(X, y, random_state=1)) model = KNeighborsClassifier().fit(X_train, y_train) accuracy = model.score(X_test, y_test) error_rate = 100*(1-accuracy) print(f"Features | {X.shape=}\t| {error_rate=:.2f}%") ``` 结果如下: | 特征矩阵 | 形状 | 错误率 | | --- | --- | --- | | X_raw | (569, 30) | 4.90% | | X_pca1 | (569, 1) | 9.79% | | X_pca2 | (569, 2) | 6.99% | | X_pca4 | (569, 4) | 4.20% | 可以看到,使用 4 个主成分时,错误率略低于原始数据,说明分解降维在提取数据主要信息的同时
corwn 最低0.47元/天 解锁专栏
买1年送3月
继续阅读 点击查看下一篇
profit 400次 会员资源下载次数
profit 300万+ 优质博客文章
profit 1000万+ 优质下载资源
profit 1000万+ 优质文库回答
复制全文

相关推荐

勃斯李

大数据技术专家
超过10年工作经验的资深技术专家,曾在一家知名企业担任大数据解决方案高级工程师,负责大数据平台的架构设计和开发工作。后又转战入互联网公司,担任大数据团队的技术负责人,负责整个大数据平台的架构设计、技术选型和团队管理工作。拥有丰富的大数据技术实战经验,在Hadoop、Spark、Flink等大数据技术框架颇有造诣。
最低0.47元/天 解锁专栏
买1年送3月
百万级 高质量VIP文章无限畅学
千万级 优质资源任意下载
千万级 优质文库回答免费看
立即解锁

专栏目录

最新推荐

模块化开发实战:AvalonDock与Prism框架整合构建桌面应用终极方案

![模块化开发实战:AvalonDock与Prism框架整合构建桌面应用终极方案](https://docs.devexpress.com/WindowsForms/images/docking2017-customization-dialog127346.png) # 摘要 本文围绕模块化开发与桌面应用架构设计展开,重点研究AvalonDock与Prism框架的整合机制及其在实际开发中的应用。深入分析了AvalonDock的布局系统与窗口管理机制、Prism框架的模块化结构与依赖注入原理,并探讨了两者集成时面临的关键技术挑战。文章提出了基于Prism的功能模块划分策略与接口设计方法,设

Kubernetes文件夹监控新玩法:Pod级监听的实现方案与性能优化策略

![Kubernetes文件夹监控新玩法:Pod级监听的实现方案与性能优化策略](https://d2908q01vomqb2.cloudfront.net/ca3512f4dfa95a03169c5a670a4c91a19b3077b4/2021/08/02/elamaras_prometheus_f2_feature.png) # 摘要 随着云原生技术的快速发展,Kubernetes作为主流的容器编排平台,其监控能力特别是Pod级监听机制,成为保障系统稳定性和实现自动化运维的关键。本文系统性地介绍了Kubernetes监控体系,并深入分析了Pod级监听的技术原理与实现机制,涵盖Kub

【Qt本地数据库构建】:使用SQLite存储历史温度数据详解

![【Qt本地数据库构建】:使用SQLite存储历史温度数据详解](https://duythanhcse.wordpress.com/wp-content/uploads/2013/06/31_sqlite_0.png) # 摘要 本文围绕基于Qt与SQLite数据库的温度数据存储与处理系统展开研究,系统介绍了SQLite数据库的核心特性、数据类型与SQL语法,并详细阐述了其在Qt开发平台中的集成方式。文章重点探讨了温度数据模型的设计与实现过程,包括数据库初始化、数据操作及性能优化策略。同时,结合Qt的数据可视化能力,分析了温度趋势图的绘制、数据导出与异常处理机制。最后,通过完整项目实

GPU加速实战:大气廓线反演算法性能提升10倍的实现路径

![GPU加速实战:大气廓线反演算法性能提升10倍的实现路径](https://www.intel.com/content/dam/developer/articles/technical/gpu-quicksort/gpu-quicksort-code-2.jpg) # 摘要 本文围绕GPU加速技术在大气廓线反演中的应用展开系统研究,介绍了大气辐射传输模型与反演算法的理论基础,分析了传统串行算法在计算效率与内存访问方面的瓶颈。基于GPU的并行架构与CUDA编程模型,本文提出针对反演算法的并行化重构策略,并探讨了内存布局优化、数据传输机制以及数值稳定性的实现方法。通过构建性能评估体系,验

【Weibull进阶实战】:三参数模型如何精准匹配复杂工程场景?

![【Weibull进阶实战】:三参数模型如何精准匹配复杂工程场景?](https://community.jmp.com/t5/image/serverpage/image-id/47573i462746AE4105B48C?v=v2) # 摘要 Weibull三参数模型因其在描述寿命、强度及环境数据方面的灵活性和适应性,广泛应用于可靠性工程、材料科学和可再生能源等多个领域。本文系统阐述了Weibull分布的基本理论及其三参数扩展形式,深入探讨了参数估计方法、模型拟合评估标准及其实现技术。结合多个工程实际案例,分析了该模型在寿命预测、结构安全评估与风速建模中的关键应用。同时,本文介绍了

RTOS集成miniRPC全步骤:嵌入式实时系统通信框架搭建实战

![RTOS集成miniRPC全步骤:嵌入式实时系统通信框架搭建实战](https://elainnovation.com/wp-content/uploads/2021/05/Exemple-de-code-SDK-1024x559.png) # 摘要 本文围绕RTOS环境下miniRPC框架的应用与实现展开系统研究,首先介绍了RTOS与miniRPC的基本概念及其典型应用场景,深入解析了miniRPC的通信机制、协议结构及网络传输实现原理。随后,详细阐述了在RTOS平台上对miniRPC的移植准备、模块裁剪与系统适配过程,并通过实际工程集成与调试,验证了其在嵌入式环境中的通信稳定性与

LBM网格划分策略揭秘:如何在精度与资源之间找到最佳平衡点?

![10_Rev尺度_REV多孔介质_格子Boltzmann_LBM_多孔介质_源码.rar](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1687451361941_0ssj5j.jpg?imageView2/0) # 摘要 LBM(格子玻尔兹曼方法)网格划分是复杂流体模拟与工程计算中的关键技术环节,直接影响模拟精度、计算效率与资源消耗。本文系统梳理了LBM网格划分的基本概念与核心挑战,深入分析了各类网格类型及其对数值稳定性和误差控制的影响机制。研究涵盖了从固定网格到自适应网格细化(AMR)等多种划分策略的

自定义监控新姿势:SQLTracker插件开发实战指南(附SDK下载链接)

![自定义监控新姿势:SQLTracker插件开发实战指南(附SDK下载链接)](https://img-blog.csdnimg.cn/direct/f10ef4471cf34e3cb1168de11eb3838a.png) # 摘要 SQLTracker插件是一款面向分布式系统中SQL性能监控与追踪的扩展工具,旨在提升数据库操作的可观测性与调优效率。本文围绕SQLTracker插件的设计与实现,系统阐述了监控系统的核心原理、插件架构设计、关键技术实现路径及其在实际场景中的应用价值。文章首先分析了分布式监控的基本逻辑与SQL追踪机制,继而详细介绍了插件在SQL拦截、上下文绑定、调用链组

Fluent湍流模型调试终极指南:为什么你的结果总不收敛?

![Fluent湍流模型调试终极指南:为什么你的结果总不收敛?](https://d3i71xaburhd42.cloudfront.net/685c7657ea29f0c582b278597ef87aea31b56c8f/2-Figure1-1.png) # 摘要 本文系统探讨了Fluent中湍流模型的基本概念、理论基础、设置调参及收敛性优化策略。首先介绍了湍流的本质特性与主流数值模拟方法的适用性差异,分析了常见湍流模型(如Spalart-Allmaras、k-ε、k-ω及其SST变体)的适用场景与计算表现。随后详细阐述了在Fluent中合理配置湍流模型的关键参数与流程,并针对收敛性问

【SMA模型在LS-DYNA中的实现】:关键技术难点与解决方案

# 摘要 本文围绕形状记忆合金(SMA)材料模型在LS-DYNA中的仿真建模展开系统研究,介绍了SMA材料的基本力学行为与本构模型的数学表达,重点分析了Tanaka模型与Liang-Rogers模型的构建原理。文章详细阐述了SMA材料模型在LS-DYNA中的实现过程,包括用户材料子程序(UMAT/VUMAT)的开发流程、编译调用机制以及仿真结果的验证方法。针对仿真过程中存在的数值稳定性、热-力耦合复杂性等关键技术难点,提出了相应的优化策略。结合典型工程应用案例,如智能结构变形控制、汽车冲击能量吸收及航空航天可变形翼面设计,验证了模型的有效性与适用性。研究成果为SMA材料在多物理场协同仿真中