机器学习-特征工程

一、特征工程介绍

1.1 什么是特征

数值特征(连续特征)、文本特征(离散特征)

1.2 特征的种类

 1.3 特征工程

特征是机器学习可疑直接使用的,模型和特征之间是一个循环过程;

实际上特征工程就是将原始数据处理成机器学习可以直接使用数据的过程;

特征工程,降噪、将特征转化为数字,更好构建数学模型。

二、特征预处理

现实中数据集可能杂乱,如存在异常值、缺失值(非常大或小),这个时候是没法做特征工程的,需要数据预处理后,在做特征工程,这样效果更好!

特征预处理的⽅法

2.1 缺失值处理

⼀般缺失值可以⽤均值、中位数、众数等填充,或者直接将缺失值当做⼀个 特定的值来对待。还可以利⽤⼀些复杂的插值⽅法,如样条插值等来填充缺失值。如果缺 失值不多,还可以将包含缺失值的样本丢弃。

2.2 归⼀化

不同特征之间由于量纲不⼀样,数值可能相差很⼤,直接将这些差别极⼤的特征 灌⼊模型,会导致数值⼩的特征根本不起作⽤,⼀般我们要对数值特征进⾏归⼀化处理, 常⽤的归⼀化⽅法有min-max归⼀化、分位数归⼀化、正态分布归⼀化、⾏归⼀化等。

2.3异常值与数值截断

  对于数值型特征,可能会存在异常值,包括异常⼤和异常⼩的值。在统计数据处理中有所谓3σ准则,即对于服从正态分布的随机变量,该变量的数值分布在 (μ-3σ,μ+3σ)中的概率为0.9974,这时可以将超出该范围的值看成异常值,采⽤向上截断 (⽤μ-3σ)和向下截断(⽤μ+3σ)的⽅法来为异常值赋予新的值。对于真实业务场景,可能还要根据特征变量的实际意义来进⾏处理。

2.4⾮线性变换

有时某个属性不同值之间差别较⼤(⽐如年收⼊),有时为了让模型具备更多的⾮线性能⼒(特别是对于线性模型),这两种情况下都需要对特征进⾏⾮线性变换,⽐如值取 对数(值都是正的情况下)作为最终的特征,也可以采⽤多项式、⾼斯变换、logistic变换等转化为⾮线性特征。

 三、特征构建

所谓特征构建是从原始数据中提取特征,将原始数据空间映 射到新的特征向量空间,使得在新的特征空间中,模型能够更好地学习 数据中的规律。

离散特征

1.1 one-hot编码(n-hot)

1.2 计数编码

次数来编码,如所有样本中,A歌手出现的次数,A歌手直接转化为次数。

1.3 散列编码(映射到低维向量空间)

1.4 离散特征之间交叉(⽤户地域与视频语⾔)

1.5 离散特征与连续特征交叉(视频语⾔与⽤户年龄)

连续(数值)特征

1) 直接使⽤

2) 离散化(分桶)

3) 特征交叉(⾮线性函数)

时间特征

1) 转化为数值

离基准时间,如离1900年多少年,

2) 将时间离散化(是否⼯作⽇、周⼏和一天的那个时间点)

是否为周日(0或者1)

地理位置特征

1) ⾏政区划表示

1-北京,2-天津....  其实one-hot编码也是可以的

2) 经纬度表示

二维向量来表示

3) 距离表示

商家离你的距离,一维数字来表示,近的会优先表示

⽂本特征

TF-IDF、LDA、Word2Vec

富媒体特征

领域相关的⽅法

嵌⼊特征

基于内容的嵌⼊、基于⾏为的嵌⼊

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

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

相关文章

程序员福利,免费好用的API汇总

全国快递物流地图轨迹查询:【H5物流轨迹、单号识别】通过物流单号和收寄件地址,自动评估物流时效,并在地图中展示包裹运输轨迹。包括顺丰、圆通、申通等主流快递公司。自动识别快递公司及单号,实时查询,稳定高效&#…

js的垃圾回收机制?

JavaScript 的垃圾回收机制是自动进行的,开发者不需要手动管理内存。垃圾回收机制的主要目标是找出不再使用的变量,并释放其占用的内存空间。在 JavaScript 中,当一个变量或对象不再被引用时,垃圾回收器会认为它不再需要&#xff…

Redsync 源码简单分析

Redsync 源码简单分析 加锁自动续期解锁 加锁 使用 setnx 进行加锁,没有实现分布式锁的可重入性。 func (m *Mutex) acquire(ctx context.Context, pool redis.Pool, value string) (bool, error) {conn, err : pool.Get(ctx)if err ! nil {return false, err}def…

在Photoshop中如何校正倾斜的图片

在Photoshop中如何校正倾斜的图片呢?今天就教大家如何操作。 将需要操作的图片拉到PS软件中,自动形成项目。 点击上方“滤镜”中的“镜头校正”。 进入“镜头校正”窗口,点击左侧的“拉直工具”。文章源自设计学徒自学网-http://www.sx1c.co…

Incremental Object Detection via Meta-Learning【论文解析】

Incremental Object Detection via Meta-Learning 摘要1 介绍2 相关工作3 方法3.1 问题描述3.2元学习梯度预处理3.3增量式目标检测器摘要 摘要:在真实世界的情境中,目标检测器可能会不断遇到来自新类别的物体实例。当现有的目标检测器应用于这种情景时,它们对旧类别的性能会…

java虚拟机参数

一、设置参数:java虚拟机可以使用JAVA_HOME/bin/java(JAVA_HOME为jdk的安装目录)。java进程命令行语法: java [options] class [args...] classpath path:指定Java虚拟机应该搜索类文件的路径。与javac编译器选项-cp相…

Docker(1)——安装Docker以及配置阿里云镜像加速

目录 一、简介 二、安装Docker 1. 访问Docker官网 2. 卸载旧版本Dokcer 3. 下载yum-utils(yum工具包集合) 4. 设置国内镜像仓库 5. 更新yum软件包索引 6. 安装Docker 7. 启动Docker 8. 卸载Docker 三、阿里云镜像加速 1. 访问阿里云官网 2. …

ElasticSearch快速入门实战

全文检索 什么是全文检索 全文检索是一种通过对文本内容进行全面索引和搜索的技术。它可以快速地在大量文本数据中查找包含特定关键词或短语的文档,并返回相关的搜索结果。全文检索广泛应用于各种信息管理系统和应用中,如搜索引擎、文档管理系统、电子…

Scan2BIM实战:从3D扫描到BIM模型生成

最近,我被问过很多次这个问题,所以我想我会尽力传达答案。 我应该指出,以下是概述,而不是非常详细的分步过程。 有很多因素会决定这项工作; 详细程度、扫描设备、点云配准软件和 CAD 软件等。 由于不知道你可能拥有或感…

netty实战-手写通信框架

通信框架功能设计 功能描述 通信框架承载了业务内部各模块之间的消息交互和服务调用,它的主要功能如下: 基于 Netty 的 NIO 通信框架,提供高性能的异步通信能力; 提供消息的编解码框架,可以实现 POJO 的序列化和反序…

Android Studio打包AAR

注意 依赖的Android Studio版本为4.2.2 更高的Android Studio版本使用方法可能有所不同,gradle的版本和gradle plugins的版本都会影响使用方式。 基于此,本文只能作为参考,而不能作为唯一答案,如果要完全依赖本文,则…

基于深度学习的菠萝与果叶视觉识别及切断机构设计

收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、课题内容二、总体方案确定2.1 方案选择2.2 菠萝的视觉识别流程2.3 菠萝果叶切断机构设计流程 三 基于深度学习的菠萝检测模型3.1 卷积神经网络简介3.2 YOLO卷积神经网络3.3 图像采集与数据制作3.4 数据训练与…

ubuntu(18.04)中架设HiGlass docker镜像服务,已尝试mcool、bedpe、wig格式文件

前言 使用到的软件 docker 文档 : https://www.docker.com/ HiGlass 文档:http://docs.higlass.io/higlass_docker.html#running-locally higlass-docker 地址:https://github.com/higlass/higlass-docker nginx 文档: htt…

Modelsim 使用教程(2)——Basic Simulation

一、概述 在本文中,我们将介绍Modelsim基本的仿真流程,包括有: Create the Working Design Library(创建工具库) Compile the Design Units(编译设计单元) Optimize the Design(优化…

C#开发的OpenRA游戏之步兵训练

C#开发的OpenRA游戏之步兵训练 前面已经分析过建造物品的窗口,在这里步兵训练也是一样的过程,不过还是有一点区别,那就是步兵会自己走去,而建造的物品是不会自己行动的。步兵也是一个主要攻击手段,并且便宜,现在就来分析步兵训练的实际过程。 步兵是定义在文件OpenRA\mo…

曾经遇到过的无法解释的问题

因为不能直接展示生产数据与生产数据结构&#xff0c;所以写一个简单的例子 class Stu{ private String name; private int age; getter setter constructor 略 } List<Stu> list new ArrayList(); list.add(new Stu("s1",16)); list.add(new Stu("…

数据库概论

目录 什么是数据库数据库的概念模型层次模型网状模型关系模型 为什么要使用关系型数据库完整性约束结构化查询语言SQL基本语句 什么是数据库 考虑这些问题&#xff1a;当用户使用软件计算时&#xff0c;如果想要保存计算结果或者想选择不同的题目&#xff0c;是否要保存、读取…

利用云计算和微服务架构开发可扩展的同城外卖APP

如今&#xff0c;同城外卖APP已经成为了人们点餐的主要方式之一。然而&#xff0c;要构建一款成功的同城外卖APP&#xff0c;不仅需要满足用户的需求&#xff0c;还需要具备可扩展性&#xff0c;以适应快速增长的用户和订单量。 一、了解同城外卖APP的需求 在着手开发同城外卖…

设计模式(23)解释器模式

一、介绍&#xff1a; 1、定义&#xff1a;解释器(Interpreter)模式是一种对象的行为模式。给定一个语言&#xff0c;定义它的文法的一种表示&#xff0c;并定义一个解释器&#xff0c;这个解释器使用该表示来解释语言中的句子。 2、组成结构&#xff1a; &#xff08;1&…

vue项目打包时按一定的名称规范生成对应的压缩包

在项目部署中经常需要将打包的dist按一定的名称压缩成压缩包&#xff0c;今天记录一下打包时生成压缩包的过程。其中有用到的npm包需要自己安装一下。 js文件放置的目录如下 compress.js内容如下&#xff1a; // compress.jsimport fs from "fs"; import shell fro…