有什么网站是做平面设计的/免费个人网站建站

有什么网站是做平面设计的,免费个人网站建站,山东网站建设app,石家庄手机网站建设第31集:特征工程:特征选择与降维技术 摘要 特征工程是机器学习和数据科学中不可或缺的一环,其核心目标是通过选择重要特征和降低维度来提升模型性能并减少计算复杂度。本集聚焦于特征选择与降维技术,涵盖过滤法、包裹法、嵌入法等…

第31集:特征工程:特征选择与降维技术


摘要

特征工程是机器学习和数据科学中不可或缺的一环,其核心目标是通过选择重要特征和降低维度来提升模型性能并减少计算复杂度。本集聚焦于特征选择与降维技术,涵盖过滤法、包裹法、嵌入法等特征选择方法以及 PCA、t-SNE 和 UMAP 等降维技术。我们将通过实战案例演示如何对高维数据进行降维可视化,并使用递归特征消除(RFE)选择关键特征。
在这里插入图片描述


核心概念和知识点

1. 特征选择方法

  • 过滤法:基于统计指标(如相关系数、互信息)选择特征,独立于模型。
  • 包裹法:将模型性能作为评估标准,例如递归特征消除(RFE)。
  • 嵌入法:利用模型内部的特征重要性(如决策树、Lasso 回归)进行选择。

2. 降维技术

  • PCA(主成分分析):线性降维方法,通过最大化方差提取主要成分。
  • t-SNE(t-分布邻域嵌入):非线性降维方法,适合高维数据的可视化。
  • UMAP(统一流形逼近与投影):一种更快且更灵活的非线性降维方法。

3. 缺失值处理与特征编码

  • 缺失值处理:填充均值/中位数、插值法或直接删除缺失值。
  • 特征编码:将类别型特征转换为数值型特征(如 One-Hot 编码、Label 编码)。

实战案例

案例 1:对 MNIST 数据集使用 PCA 进行降维并可视化

背景

MNIST 是一个手写数字图像数据集,每个样本是一个 28x28 的灰度图像(784 维)。我们使用 PCA 将数据降维到 2 维以进行可视化。

代码实现
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_openml
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler# 加载 MNIST 数据集
mnist = fetch_openml('mnist_784', version=1, as_frame=False)
X, y = mnist.data, mnist.target.astype(int)# 数据标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)# 使用 PCA 降维到 2 维
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)# 可视化降维结果
plt.figure(figsize=(10, 8))
scatter = plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y, cmap='tab10', alpha=0.6)
plt.colorbar(scatter, label='Digit Label')
plt.title("PCA Visualization of MNIST Dataset")
plt.xlabel("Principal Component 1")
plt.ylabel("Principal Component 2")
plt.show()# 输出解释方差比例
print(f"Explained Variance Ratio: {pca.explained_variance_ratio_}")
输出结果
Explained Variance Ratio: [0.097 0.071]
可视化

案例 2:使用递归特征消除(RFE)选择关键特征

背景

我们使用 Scikit-learn 提供的乳腺癌数据集,通过 RFE 方法选择最重要的特征并训练逻辑回归模型。

代码实现
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.feature_selection import RFE
from sklearn.metrics import accuracy_score# 加载数据集
data = load_breast_cancer()
X, y = data.data, data.target# 数据集划分与标准化
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)# 使用 RFE 选择特征
model = LogisticRegression(max_iter=10000)
rfe = RFE(estimator=model, n_features_to_select=5)  # 选择 5 个特征
rfe.fit(X_train_scaled, y_train)# 查看选择的特征
selected_features = np.array(data.feature_names)[rfe.support_]
print(f"Selected Features: {selected_features}")# 在测试集上评估模型
y_pred = rfe.predict(X_test_scaled)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy with Selected Features: {accuracy:.2f}")
输出结果
Selected Features: ['mean radius' 'mean perimeter' 'mean concave points''worst radius' 'worst perimeter']
Accuracy with Selected Features: 0.96
可视化

我们可以对比原始特征和选择后的特征数量:

import seaborn as snssns.barplot(x=rfe.ranking_, y=data.feature_names)
plt.title("Feature Ranking by RFE")
plt.xlabel("Ranking")
plt.ylabel("Feature Name")
plt.show()

总结

特征工程是提升模型性能的关键步骤,合理的特征选择和降维可以显著降低计算复杂度并提高模型泛化能力。通过本集的学习,我们掌握了如何使用 PCA 对高维数据进行降维可视化,以及如何使用 RFE 方法选择关键特征。


扩展思考

1. 如何结合特征工程优化 AI 大模型的输入?

AI 大模型(如 GPT、BERT)通常需要高质量的输入特征。通过特征工程,我们可以:

  • 对文本数据进行特征提取(如 TF-IDF、词向量)。
  • 对图像数据进行预处理(如标准化、裁剪)。
  • 去除噪声特征,减少冗余信息,从而提高大模型的训练效率。

2. 自动化特征工程工具的应用前景

自动化特征工程工具(如 Featuretools、AutoFeat)能够自动生成候选特征,减少人工干预。未来,这些工具可能与 AI 大模型结合,形成端到端的自动化建模流程,进一步提升开发效率。


专栏链接:Python实战进阶
下期预告:No32 - 并发编程:多线程与异步 I/O 的实战应用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/74437.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel第41套全国人口普查

2. 导入网页中的表格:数据-现有链接-考生文件夹:网页-找到表格-点击→变为√-导入删除外部链接关系:数据-点击链接-选中连接-删除-确定(套用表格格式-也会是删除外部链接)数值缩小10000倍(除以10000即可&am…

WPS宏开发手册——使用、工程、模块介绍

目录 系列文章前言1、开始1.1、宏编辑器使用步骤1.2、工程1.3、工程 系列文章 使用、工程、模块介绍 JSA语法 第三篇练习练习题,持续更新中… 前言 如果你是开发人员,那么wps宏开发对你来说手拿把切。反之还挺吃力,需要嘻嘻&#xf…

EtherCAT转CANopen配置CANopen侧的PDO映射

EtherCAT转CANopen配置CANopen侧的PDO映射 在工业自动化领域,EtherCAT和CANopen是两种广泛应用的通信协议。它们各自具有独特的优势,但在某些应用场景下,需要将这两种协议进行转换以实现设备间的高效数据交换。本文将详细介绍如何在使用Ethe…

【QT】Qt creator快捷键

Qt creator可以通过以下步骤快捷键査看调用关系: 1.打开代码文件。 2.将光标放在你想要查看调用关系的函数名上。 3.按下键盘快捷键 CtrlshiftU。 4.弹出菜单中选择“调用路径”或“被调用路径” 5.在弹出的窗口中可以查看函数的调用关系 折叠或展开代码快捷键&…

【RHCE】LVS-NAT模式负载均衡实验

目录 题目 IP规划 配置IP RS1 RS2 RS3 LVS client 配置RS 配置LVS 安装lvs软件 启动ipvsadm服务 lvs规则匹配 ipvsadm部分选项 客户端测试 总结 题目 使用LVS的 NAT 模式实现 3 台RS的轮询访问,IP地址和主机自己规划。 IP规划 主机IP地址RS1-nat模…

排序算法(插入,希尔,选择,冒泡,堆,快排,归并)

1.插入排序 插入排序的主要思想是额外申请一个空间cur,让cur一开始等于数组的第1号位置,设置i1,让i-1的元素与其比较,如果arr[i-1]>arr[i],就让arr[i1] arr[i],当进行到最后一次对比结束,i-1,再让arr[…

LiteIDE中配置golang编译生成无CMD窗口EXE的步骤

LiteIDE中配置golang编译生成无CMD窗口EXE的步骤 一、环境配置1、设置GOROOT‌2、配置GOPATH‌ 二、项目编译参数设置1、新建/打开项目‌2、修改编译配置‌3、其他优化选项(可选)‌ 三、构建与验证1、编译生成EXE‌2、验证无窗口效果‌ 四、注意事项 一、…

Maya基本操作

基本操作 按住ALT键,左键旋转视角,中键平移视角,右键放大缩小视角。 按空格键切换4格视图。 导入FBX格式文件后,无贴图显示。 按6键开启。着色纹理显示 坐标轴相关 修改菜单-左键最上面的虚线。固定修改选项窗口。 选中物体…

Windows打开ftp局域网共享

前提是windows已经设置好开机账号密码了,否则教程不适用 第一先打开电脑ftp共享配置 点击保存即可 2.设置要共享到其他电脑的文件路径(如果你要共享整个盘你就设置整个盘,如果是共享盘中某文件就设置某文件,这里是某文件&#x…

overleaf中会议参考文献使用什么标签:inproceedings

overleaf中会议参考文献使用什么标签 会议论文在LaTeX文献条目中应使用 @inproceedings 标签,而非 @article。根据你提供的内容,修正后的格式如下: @inproceedings{asai2023self, author = {Asai, Akari and Wu, Zeqiu and Wang, Yizhong and Sil, Avirup and Hajishirzi,…

一文详解redis

redis 5种数据类型 string 字符串是 Redis 里最基础的数据类型,一个键对应一个值。 设置值 SET key value例如: SET name "John"获取值 GET key例如: GET namelist 列表是简单的字符串列表,按插入顺序排序。 在列…

第16章:基于CNN和Transformer对心脏左心室的实验分析及改进策略

目录 1. 项目需求 2. 网络选择 2.1 UNet模块 2.2 TransUnet 2.2.1 SE模块 2.2.2 CBAM 2.3 关键代码 3 对比试验 3.1 unet 3.2 transformerSE 3.3 transformerCBAM 4. 结果分析 5. 推理 6. 下载 1. 项目需求 本文需要做的工作是基于CNN和Transformer的心脏左心室…

【AI】知识蒸馏-简单易懂版

1 缘起 最近要准备升级材料,里面有一骨碌是介绍LLM相关技术的,知识蒸馏就是其中一个点, 不过,只分享了蒸馏过程,没有讲述来龙去脉,比如没有讲解Softmax为什么引入T、损失函数为什么使用KL散度,…

2024年数维杯数学建模B题生物质和煤共热解问题的研究解题全过程论文及程序

2024年数维杯数学建模 B题 生物质和煤共热解问题的研究 原题再现: 随着全球能源需求的不断增长和对可再生能源的追求,生物质和煤共热解作为一种潜在的能源转化技术备受关注。生物质是指可再生能源,源自植物和动物的有机物质,而煤…

Spring相关API

1是相对路径 2 是绝对路径 3 在注解时使用

Netty源码—客户端接入流程

1.关于Netty客户端连接接入问题整理 一.Netty是在哪里检测有新连接接入的? 答:boss线程第一个过程轮询出ACCEPT事件,然后boss线程第二个过程通过JDK底层Channel的accept()方法创建一条连接。 二.新连接是怎样注册到NioEventLoop线程的&#x…

领域驱动设计(DDD)实践入门

文章目录 1.认识领域驱动设计1.1 简介1.2 发展历史1.3 DDD 的兴起 2.从一个简单案例2.1 转账需求2.2 设计的问题2.3 违反的设计原则 3.使用 DDD 进行重构抽象数据存储层抽象第三方服务抽象中间件封装业务逻辑重构后的架构 4.小结参考文献 1.认识领域驱动设计 1.1 简介 领域驱…

nuxt3网站文章分享微信 ,QQ功能

1.安装 npm install qrcode --save-dev 2.组件使用 <div class"share"><div style"line-height: 69px; color: #fff;width: 100px;"><p style"text-align: center;">分享:</p></div><div click"shareToMi…

VMWare Ubuntu 详细安装教程

VMWare Ubuntu 详细安装教程 一、下载安装VMware二、下载 Ubuntu 镜像文件三、安装 Ubuntu四、开启虚拟机 一、下载安装VMware 官网下载地址https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion知乎大佬的博客原文&#xff0c;含下载地址https://zhua…

SCI英文论文Accepted后的第一步——Rights and Access

SCI英文论文Accepted后的第一步——Rights and Access 目录 SCI英文论文Accepted后的第一步——Rights and AccessBased on information provided the embargo period/end date is 24 months. 因为选择闭源**Rights and Access(版权与访问权限)**环节是关键第一步,具体操作流…