案例实操 | 利用Lambda函数来进行特征工程,超方便的!!

news2024/11/30 11:57:01

特征工程对于我们在机器学习的建模当中扮演着至关重要的角色,要是这一环节做得好,模型的准确率以及性能就被大大地被提升,今天小编就通过Python当中的lambda函数来对数据集进行一次特征工程的操作,生成一些有用的有价值的特征出来。

导入数据集

那么首先呢,我们先导入数据集,导入Pandas模块

import pandas as pd
import numpy as np
df=pd.read_csv(‘students_performance.csv’)
df

output

70396e1d91d85f122aebc074c54a031e.png

离散化处理

首先我们将写作这一列“writing score”的值做一个离散化处理,基于具体的写作的分数,将其分成是“Outstanding”和“Satisfactory”两种,代码如下

df["WritingCategory"] = df["writing score"].apply(lambda x: "Outstanding" if x >= 90 else "Satisfactory")
df.head()

output

5fd60d31f6b66d48b0c5558edb898b4d.png

数据聚合

我们还可以计算出总分,也就是把写作的分数、数学的分数以及阅读的分数加起来,求一个总和,代码如下

df1 = df.assign(Total_Score=lambda x: (x['math score'] + x['reading score'] + x['writing score']))
df1.head()

output

4a5c398b9578aaa9afc11d0d25932bbf.png

数据的过滤

数据的过滤我们也可以用到lambda函数,过滤出我们想要的数据,代码如下

filtered_greater_than_eighty = df1[df1.apply((lambda x: (x['Total_Score']/300 * 100)>80),axis=1)]
filtered_greater_than_eighty.head()

output

c104ca05f90b323b9638bf2777e1326b.png

二进制编码处理

而针对“lunch”这一列当中的值,我们来进行二进制处理,通过调用map()函数以及lambda函数来完成,代码如下

df['lunch'] = df['lunch'].map(lambda x: '1' if x == 'standard' else '0')
df.head()

output

61400d80a0f9b90aa4e325815c702174.png

特征编码

对于“race/ethnicity”这一列,我们将离散型变量转换成连续型的数值,通过调用lambda函数,代码如下

categorical_encoding = df.assign(encoded_race = lambda x: (pd.factorize(df["race/ethnicity"])[0]))
categorical_encoding.head()

output

82733035b706f07b689793438f5bf1e4.png

标准化处理

数据的标准化(normalization)是将数据按比例缩放,使之落入在一个小的特定区间,其中最典型的就是数据的归一化处理,即将数据统一映射到【0,1】区间上,常见的数据归一化的方法有

z-score 标准化

也叫标准化标准化,经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数是:

2af4b7cbe30a53710a4df5f2642c4fd5.png

而调用lambda函数来进行转换的话,例如我们针对数学的分数“math score”来进行转换,代码如下

df['zscore_mathvalue'] = df.apply((lambda x: round((x['math score']-df['math score'].mean())/ 
                                                   df['math score'].std(), 2)), axis=1)
df.head()

cbc34888afa64a867d950efefff64dc7.png

Min-Max标准化

也叫做是离差标准化,是对原始数据的线性变换,使得结果落在【0,1】区间内,转换的函数如下:

b5ee94123197a028ca1aff6483f3821d.png

其中max为样本数据的最大值,min为样本数据的最小值,当然这种方法存在着缺陷就是当有新数据加入时,可能导致maxmin的变化。我们针对阅读的分数“reading score”来进行标准化处理,代码如下

df['minmax_reading_score'] = df.apply((lambda x: round((x['writing score']-df['writing score'].min())/ 
                                                       (df['writing score'].max() - df['writing score'].min()), 2)), axis=1)
df.head()

output

a69c48f4ee340fb117d16851f043c7c4.png

IQR

通过四分位间距,我们可以找到哪些是极值。这里我们就那“writing score”也就是写作的分数举例子,代码如下

Q1 = df['writing score'].quantile(0.25)
Q3 = df['writing score'].quantile(0.75)

IQR = Q3 - Q1

df['writing score'].apply(lambda x: 'Outliers' if (x > Q3 + 1.5 * IQR) or 
                          (x < Q1 - 1.5 * IQR) else 'Normal')
df.head()

output

598c84b43da3d2de8f71d62d0339c941.png

NO.1

往期推荐

Historical articles

Python数据清洗 & 预处理入门完整指南

案例实操|手把手教你搭建 RFM 客户价值分析模型

分享5个好用到爆的第三方Python模块

值得收藏的30道Python练手题(附详解)

分享、收藏、点赞、在看安排一下?

fb9f7d875632f468d9832f47a2599732.gif

9d6b39e77b7ea9864590bbc2b9ff6e91.gif

206271bc5371c63462e6c64bc2bfcd0a.gif

cf7b85011ede96b065d70bab0ddad2b5.gif

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

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

相关文章

nacos--基础--3.4--集成--spring--spring上下文中的一些关键的特性

nacos–基础–3.4–集成–spring–spring上下文中的一些关键的特性 1、spring上下文中的一些关键的特性 注解驱动依赖注入外部化配置事件驱动 2、注解驱动 2.1、 启用 Nacos EnableNacos 是一个模块驱动的注解EnableNacos 支持 Nacos Spring 的所有功能 服务发现&#xff1…

香港服务器托管带宽怎么选?

香港服务器托管时&#xff0c;带宽的选择非常重要&#xff0c;带宽用量的大小不同&#xff0c;最终的费用也就会不同。用户在香港托管服务器的时候&#xff0c;应该选择多大的带宽才合适呢?应该如何选择香港服务器带宽大小呢? 香港服务器托管带宽怎么选? 其实&#xff0c;大…

5G无线技术基础自学系列 | 无线电波传播模型

素材来源&#xff1a;《5G无线网络规划与优化》 一边学习一边整理内容&#xff0c;并与大家分享&#xff0c;侵权即删&#xff0c;谢谢支持&#xff01; 附上汇总贴&#xff1a;5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 无线电波传播模型用于预测无线电波在各…

JAVA开发(JWTUtil工具类实现token源码赏析)

一、token解决问题的背景&#xff1a; 1、 单点登录&#xff0c; 2、分布式登录状态&#xff0c; 3、在信任期内 避免 重新输入用户名密码登录。 4、跨系统免登陆等。 5、一些接口的请求权限验证。 总结以上token最终都是为了解决在在分布式系统中信任期内 避免 重新输入用户名…

如何选择合适的统计学方法

一般来说&#xff0c;使用哪种统计方法&#xff0c;取决于我们的应用场景、我们的研究目的是什么。 这里面一个麻烦的地方在于&#xff0c;不管你使用哪种统计方法&#xff0c;似乎都可以得出一个’结果’或一个p值&#xff0c;但这个结果有没有意义就两说了。 在我看来&…

【WEB安全】Xstream最新反序列化poc执行报错问题

前言 最近有个需求&#xff0c;用Xstream反序列化打个内存马&#xff0c;从通用性来讲&#xff0c;肯定用1.4.17的洞去打应用范围最广。众所周知&#xff0c;Xstream官方会提供其漏洞的poc。在我实验之下&#xff0c;1.4.17的几个poc只要涉及到任意java代码执行的都会报错&…

VMware创建共享文件夹并实现文件传输(Windows主机,Ubuntu虚拟机)

文章目录创建共享文件夹安装/更新VMware tool挂载共享文件夹共享文件夹的实现更改配置项&#xff0c;实现自动挂载&#xff08;推荐直接用这个&#xff09;数据传输参考博客创建共享文件夹 1、开启虚拟机的共享文件夹配置 首先在虚拟机中打开设置&#xff0c;在选项中点击共享…

Java springboot+vue+MySQLJava大型CRM客户关系管理源码带手机端和小程序源码 Java客户全流程高效管理CRM系统源码

springbootvue MySQL数据库 1. 前端&#xff1a;Vue 2. 后端&#xff1a;Spring boot 3. 数据库&#xff1a;MySQL 源码已经亲测 1. 前端&#xff1a;Vue 2. 后端&#xff1a;Spring boot 3. 数据库&#xff1a;MySQL 小程序是用UNIAPP开发的。 后台登录账户&#xff1a…

(附源码)springboot智能服药提醒app 毕业设计 102151

基于springboot智能服药提醒app 摘 要 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;智能服药提醒app程序被用户…

平均价格算法:TWAP vs. VWAP

时间加权平均价格 (TWAP) 和成交量加权平均价格 (VWAP) 算法应用不同的方法来计算资产价格&#xff0c;这是所有去中心化金融 (DeFi) 原语的组成部分。 在本文中&#xff0c;我们介绍了 TWAP 和 VWAP 算法之间的差异&#xff0c;解释了它们如何在区块链环境中为资产定价&#…

化学工程与装备杂志化学工程与装备杂志社化学工程与装备编辑部2022年第10期目录

科学研究与开发《化学工程与装备》投稿&#xff1a;cnqikantg126.com 槐木活性炭处理生活废水的研究 孔繁铸;高丽娟;赵开创;钱程; 1-3 基于Pumplinx的水泵机械密封温升仿真研究 赵雪飞;贾红杰;李雪峰;李雷;王景新;张晓辉; 4-728 全固态石墨烯-Ag/AgCl海洋电场探测电…

功率放大器的输入阻抗和输出阻抗是交流还是直流电阻

功率放大器的输入阻抗和输出阻抗一般是指交流电阻。交流电阻指一些伏安特性曲线的斜率。所以放大器输入阻抗和输出阻抗都是理论分析计算为主&#xff0c;而不使用万用表测量其大小。 输入阻抗一般是指电路输入端的等效阻抗&#xff0c;输入端加上一个电压源U&#xff0c;测量输…

WRF模式安装+详细运行教程

安装教程在安装之前&#xff0c;首先需要去查看自己的 Linux 系统&#xff08;虚拟机或者服 务器&#xff09;上的编译环境&#xff0c;也就是确定自己是否安装编译器或安装了哪种编 译器。&#xff08;因为安装过程需要选择编译器&#xff09;常用的编译器分为三种系列&#x…

Typora基础使用技巧

Typora Tutorial 1.数学符号及公式 (1).常用数学符号 数学符号没什么特别的语法&#xff0c;这里顺道总结以下方便使用&#xff1a; &#xff0b; &#xff0d; ≠ ≈ / &#xff1e; &#xff1c; ≯ ≮ ≤ ≥ ∵ ∴ ∽ ≌&#xff0c; √&#xff0c; Φ Χ Ψ Ωα…

antd-protable的分页逻辑封装

一、前言 这次的分页基于pro-table进行封装。 前端分页看似是个小功能&#xff0c;但里面隐藏的逻辑还是非常多的&#xff0c;比如我们业务中需要的分页器除了能进行正常的页码切换等操作外&#xff0c;还需要如下的功能&#xff1a; 次页删除最后一条数据需要跳转至第一页&…

计算机研究生就业方向之去大厂做大数据

我一直跟学生们说你考计算机的研究生之前一定要想好你想干什么&#xff0c;如果你只是转码&#xff0c;那么你不一定要考研&#xff0c;至少以下几个职位研究生是没有啥优势的&#xff1a; 1&#xff0c;软件测试工程师&#xff08;培训一下就行&#xff09; 2&#xff0c;前…

JUC并发编程第十篇,谈谈ThreadLocal原理与内存泄露的那些事儿

JUC并发编程第十篇&#xff0c;谈谈ThreadLocal原理与内存泄露的那些事儿一、ThreadLocal是什么&#xff1f;能干嘛&#xff1f;二、ThreadLocal 使用场景举例三、阿里开发规范中 ThreadLocal 的使用&#xff08;SimpleDateFormat&#xff09;四、ThreadLocal 底层源码架构分析…

一个帖子教你实现 商品下单、获取商品订单信息、商品送货时发送通知 一体化功能

1、介绍 总览 通过无缝数据库结构&#xff0c;在保证数据的可用性、一致性、安全性外&#xff0c;云数据库能够实现数据在客户端和云端之间的无缝同步。云函数提供serverless环境&#xff0c;AppGallery Connect的其他服务为云函数提供事件源。监听事件源可以触发相关函数。 …

Word处理控件Aspose.Words功能演示:使用 C++ 将 PowerPoint 演示文稿转换为 Word 文档

Aspose API 支持旗下产品覆盖文档、图表、PDF、条码、OCR、CAD、HTML、电子邮件等各个文档管理领域&#xff0c;为全球.NET 、Java、C 等10余种平台开发人员提供丰富的开发选择。 在某些情况下&#xff0c;您有一个 PowerPoint 演示文稿并想要创建一个详细描述其内容的文档。为…

[附源码]Python计算机毕业设计电影院购票系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…