目录

特征工程

一、特征提取

1、字典特征提取

2、文本特征提取

2.1 英文文本提取

2.2 中文文本提取

3、TF-IDF文本特征词的重要程度特征提取

二、无量纲化-预处理

1 MinMaxScaler 归一化

2 normalize归一化

3 StandardScaler 标准化

三、特征降维

1、特征选择

1.1 VarianceThreshold 低方差过滤特征选择

1.2 主成份分析(PCA)


特征工程

        就是对特征进行相关的处理,一般使用pandas来进行数据清洗和数据处理、使用sklearn来进行特征工程。特征工程是将任意数据(如文本或图像)转换为可用于机器学习的数字特征。

        步骤:特征提取(dataframe类型不用)---- 无量纲化(预处理)---- 降维

API:

DictVectorizer  	字典特征提取
CountVectorizer 	文本特征提取
TfidfVectorizer 	TF-IDF文本特征词的重要程度特征提取 
MinMaxScaler 		归一化
StandardScaler 		标准化
VarianceThreshold 	底方差过滤降维
PCA  				主成分分析降维

一、特征提取

        1、字典特征提取

        稀疏矩阵:一个矩阵中大部分元素为零,只有少数元素是非零的矩阵。由于稀疏矩阵中零元素非常多,存储和处理稀疏矩阵时,通常会采用特殊的存储格式,以节省内存空间并提高计算效率

        三元组表:一种稀疏矩阵类型数据,存储非零元素的行索引、列索引和值:(行,列)值

        非稀疏矩阵(稠密矩阵):是指矩阵中非零元素的数量与总元素数量相比接近或相等,也就是说矩阵中的大部分元素都是非零的。通常采用二维数组形式存储

from sklearn.feature_extraction import DictVectorizer

示例:

(稀疏矩阵对象调用toarray()函数, 得到类型为ndarray的二维稀疏矩阵 )

        2、文本特征提取

from sklearn.feature_extraction.text import CountVectorizer

构造函数关键字参数stop_words值为list,表示词的黑名单(不提取的词)                              fit_transform函数的返回值为稀疏矩阵

        2.1 英文文本提取

        2.2 中文文本提取

        中文文本不像英文文本,中文文本文字之间没有空格,所以要先分词,一般使用jieba分词

# 下载jieba组件
pip install jieba

示例:

        3、TF-IDF文本特征词的重要程度特征提取

from sklearn.feature_extraction.text import TfidfVectorizer

词频(Term Frequency, TF), 表示一个词在当前篇文章中的重要性

逆文档频率(Inverse Document Frequency, IDF), 反映了词在整个文档集合中的稀有程度

逆文档频率衡量一个词的普遍重要性。如果一个词在许多文档中都出现,那么它的重要性就会降低。

代码与CountVectorizer的示例基本相同,仅仅把CountVectorizer改为TfidfVectorizer即可,继续上面中文文本提取的示例修改(把三段文字分别看成三份文档)

(这里方便对比数据,用的pandas做了个表)

根据输出结果可以看到,明明 “喜欢” 出现次数最多,反而在每一篇的重要性偏低,这是为什么?

这里要注意,TF-IDF 的核心假设:一个词如果在很多文档都出现,那它对区分文档就没有什么价值。IDF 的作用是抑制全局高频词的影响,以突出在某些文档中特有的、有区分度的词。

所以,“喜欢” 在每一份文档中都出现了,它的重要性反而比较低,“小明” 只在第一篇中出现过,所以 “小明” 在第一篇中的重要性很高

由此可见,TF-IDF有着严重的局限性,一定要注意其符不符合使用场景,误伤高频关键词!!

二、无量纲化-预处理

        无量纲,即没有单位的数据,无量纲化包括"归一化"和"标准化", 为什么要进行无量纲化呢?

是为了去掉单位影响,提取本质参数,让方程、数据或现象在数值计算和理论分析中更简单、更稳定、更有可比性

        1 MinMaxScaler 归一化

from sklearn.preprocessing import MinMaxScaler

        通过对原始数据进行变换把数据映射到指定区间(默认为0-1)

        归一化公式是:

示例:

(缺点:最大值和最小值容易受到影响,所以鲁棒性较差,常使用标准化的无量纲化 )

        2 normalize归一化

from sklearn.preprocessing import normalize
normalize(data, norm='l2', axis=1)
# data是要归一化的数据
# norm是使用那种归一化:"l1"  "l2"  "max"
# axis=0是列  axis=1是行

        normalize 归一化主要指把数据按某种规则缩放到一个统一的尺度(常见是 0~1 或者向量长度为 1),以减少量纲和数值范围对计算的影响

L1:绝对值相加作为分母,,特征值作为分子

L2:平方相加作为分母,特征值作为分子

max:max作为分母,特征值作为分子

示例:

        3 StandardScaler 标准化

from sklearn.preprocessing import StandardScale

在机器学习中,标准化是一种数据预处理技术,也称为数据归一化或特征缩放。它的目的是将不同特征的数值范围缩放到统一的标准范围,以便更好地适应一些机器学习算法,特别是那些对输入数据的尺度敏感的算法

这是标准化前后分布的对比图:左边是原始数据(均值 50,标准差 10),右边是 StandardScaler 标准化后(均值变成 0,标准差变成 1)。就是把左边的分布“平移+缩放”成右边的形状

三、特征降维

        实际数据中,有时候特征很多,会增加计算量,降维就是去掉一些特征,或者转化多个特征为少量个特征,特征降维其目的:是减少数据集的维度,同时尽可能保留数据的重要信息。

        1、特征选择

        1.1 VarianceThreshold 低方差过滤特征选择

from sklearn.feature_selection import VarianceThreshold

        如果一个特征的方差很小,说明这个特征的值在样本中几乎相同或变化不大,包含的信息量很少,模型很难通过该特征区分不同的对象

        1.2 主成份分析(PCA)

from sklearn.decomposition import PCA
PCA(n_components=None)n_components:实参为小数时:表示降维后保留百分之多少的信息实参为整数时:表示减少到多少特征

        PCA的核心目标是从原始特征空间中找到一个新的坐标系统,使得数据在新坐标轴上的投影能够最大程度地保留数据的方差,同时减少数据的维度

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

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

相关文章

谈谈SQL计算存储引擎中的索引和计算

背景 最近在这家公司做了一些事情,做的事情和以往的工作不太一样,不一样的点呢就是 之前我主要的工作是关注计算这方面,因为数据量大,研究的是怎么加速查询,怎么研究规则去优化,怎么去解规则的bug等等。因为…

vscode.window.activeTextEditor 获取不到 png 图片路径问题

vscode 的 extensions 插件开发时用 vscode.window.activeTextEditor?.document.uri 获取不到编辑器打开的图片路径,文档路径可以获取到。个人猜测因为图片不能编辑,所以没有 activeTextEditor 属性吧。解决办法:巧用右键获取路径和相对的路…

Java 大视界 -- Java 大数据在智能医疗手术机器人操作数据记录与性能评估中的应用(390)

Java 大视界 -- Java 大数据在智能医疗手术机器人操作数据记录与性能评估中的应用(390)引言:正文:一、传统手术机器人的 “黑箱困境”:记不全、算不清、追不到1.1 设备与临床的 “断层”1.1.1 数据记录 “太粗放”1.1.…

C++的结构体指针

结构体变量和结构体指针的区别特性结构体变量结构体指针存储内容结构体的实际数据内存地址内存开销结构体总大小固定4/8字节(指针大小)成员访问运算符.->函数传参时的行为值拷贝(新副本)地址传递(操作原数据&#x…

pdf文件转word免费使用几个工具

在线工具(无需安装) Smallpdf ✅ 核心功能: 网页端直接操作,支持 PDF 与 Word 格式互转 免费用户每日限 2 次转换(免注册) 自动清除服务器文件,确保隐私安全 🔗 访问链接&#xff1a…

Vue3 组件化开发

文章目录前言组件化开发底部菜单 TabMenu父子组件相互传数据父传子:自定义属性子传父:自定义事件父子组件互传案例插槽 slot多个插槽总结组件化开发总结Vue组件的基本组成子组件使用的三个步骤父子组件相互传递数据前言 提示:这里可以添加本…

服务器硬件电路设计之I2C问答(二):I2C总线的传输速率与上拉电阻有什么关系?

I2C 总线传输速率与上拉电阻关系密切。上拉电阻阻值决定总线电平切换速度:电阻越小,充放电电流越大,信号边沿更陡,支持更高速率(如 400kHz 快速模式);电阻过大则切换慢,限制速率&…

大语言模型提示工程与应用:LLMs文本生成与数据标注实践

提示词应用实践 学习目标 本课程通过LLMs生成情感分析样本和标注葡萄9品鉴数据,展示了其文本生成和数据标注能力。同时,利用PAL模型解决日期计算问题,学习了LLMs与编程运行时结合实现复杂推理的方法,为自然语言处理应用提供了实…

node.js 零基础入门

Node.js 零 基础入门与核心语法 适用对象:完全没接触过 Node.js 的同学 目标:从 0 到能写 CLI、小型 HTTP 服务、文件脚本、调用系统/网络资源 目录 什么是 Node.js安装与运行运行脚本与 REPL模块体系:CommonJS 与 ES Modules基础语法在 Node…

《Day3-PyTorch 自动微分入门:从计算图到梯度下降的实践指南》

八、自动微分自动微分模块torch.autograd负责自动计算张量操作的梯度,具有自动求导功能。自动微分模块是构成神经网络训练的必要模块,可以实现网络权重参数的更新,使得反向传播算法的实现变得简单而高效。1. 基础概念张量Torch中一切皆为张量…

apache cgi测试

test.cgi #!/bin/sh echo "Content-type: text/html" echo "" echo "<h1>Hello from a Mac CGI script!</h1>" echo "<p>Current time is: $(date)</p>"ƒ% 放置目录 /opt/homebrew/Cellar/mapserver/8.4.0_1…

力扣 30 天 JavaScript 挑战 第二题笔记

这道题是涉及知识–闭包 1. 闭包定义以及相关知识点 官方定义为&#xff1a;在 JavaScript 中&#xff0c;函数具有对在相同作用域以及任何外部作用域中声明的所有变量的引用。这些作用域被称为函数的 词法环境。函数与其环境的组合被称为 闭包。 简单理解&#xff1a;内层函数…

OpenAI GPT-5 深度解析:API Key定价与ChatGPT(Free, Plus, Pro)用户的区别

前言&#xff1a;两年等待&#xff0c;只为这一跃 在科技圈长达两年的屏息期待与无尽猜想之后&#xff0c;2025年8月8日北京时间凌晨&#xff0c;OpenAI终于揭开了其新一代旗舰模型——GPT-5的神秘面纱。这不仅仅是一次常规的产品迭代&#xff0c;更被整个行业视为一块试金石&a…

ClickHouse集群部署实践---3分片2副本集群

ClickHouse集群部署实践—3分片2副本集群 未完待续。。。 喜欢的先点赞收藏&#xff01;&#xff01; 由于我们准备部署的是3分片2副本的集群&#xff0c;现在来解释一下配置参数的意思&#xff1a; shard标签代表分片的意思&#xff0c;如上图我们有3个分片&#xff0c;clickh…

Unity_VR_Pico开发手册

文章目录一、配置开发环境1.下载PICO Unity Integration SDK2.安装 Unity 编辑器&#xff08;添加安卓开发平台模块&#xff09;3.导入下载的SDK4.项目配置和切换开发平台5.导入 XR Interaction Toolkit6.安装 Universal RP(通用渲染管线)并设置 (选做)二、调试环境搭建&#x…

Linux系统之Docker命令与镜像、容器管理

目录 一、 Docker命令 docker命令帮助 docker常用子命令&#xff08;必须背会&#xff09; docker管理子命令(暂时不需要) swarm集群管理子命令&#xff08;不需要&#xff09; docker容器管理子命令&#xff08;必须背会&#xff09; docker全局选项 二、 docker镜像管…

比亚迪第五代DM技术:AI能耗管理的深度解析与实测验证

比亚迪第五代DM技术&#xff1a;AI能耗管理的深度解析与实测验证 &#xff08;面向新能源汽车研发/测试工程师&#xff09;目录 技术背景与核心突破AI能耗管理系统架构解析关键技术创新点 2.1 动力域三脑合一控制2.2 全温域热管理协同2.3 导航数据深度耦合 实测数据与场景验证 …

sqli-labs通关笔记-第37关POST宽字符注入(单引号闭合 手工注入+脚本注入 3种方法)

目录 一、宽字符注入 二、sqlmap之unmagicquotes 三、addslashes与mysqli_real_escape_string 四、源码分析 1、代码审计 2、SQL注入安全性分析 五、渗透实战 1、进入靶场 2、正确用户名密码探测 3、手工注入&#xff08;方法1&#xff09; &#xff08;1&#xff…

Kubernetes 集群密钥与机密管理方案对比分析:Vault、Sealed Secrets 与 AWS KMS

Kubernetes 集群密钥与机密管理方案对比分析&#xff1a;Vault、Sealed Secrets 与 AWS KMS 在容器化与编排环境中&#xff0c;机密&#xff08;Secrets&#xff09;管理是确保应用安全性的重要环节。对于 Kubernetes 集群而言&#xff0c;内置的 Secret 对象存在明文存储的风…

Java基础-TCP通信单服务器接受多客户端

目录 案例要求&#xff1a; 实现思路&#xff1a; 代码&#xff1a; User类&#xff1a;用户端 Client类&#xff1a;服务端 ServerReader类&#xff1a;多线程通信类 总结&#xff1a; 案例要求&#xff1a; TCP通信下,正常的写法只能单个服务器和单个客户端进行通信&a…