不平衡的数据集将如何影响模型的性能?示例说明

news2024/9/24 19:24:18

一、说明

        朋友们,您可能听说过,在不平衡数据集上训练的模型可能会受到泛化不佳和少数类检测减少的影响。在接下来的几篇文章中,我将给你一个例子来展示不平衡的数据集如何影响模型的性能,以及我们如何处理这个问题。在这篇文章中,我们将首先下载数据并对其进行处理以进行进一步分析。

二、下载数据

        为了说明这个不平衡的数据集问题,我们将使用Ronny Kohavi和Barry Becker(数据挖掘和可视化,Silicon Graphics)从1994年人口普查局数据库中提取的数据。预测任务是确定一个人的年收入是否超过 50 万美元。您可以从以下链接下载数据集:

成人人口普查收入

根据人口普查数据预测收入是否超过 50K<>K/年

www.kaggle.com

2.1 预处理数据

# Load the data the check first lines 
import pandas as pd
df = pd.read_csv("adult.csv")
df.head()

        然后,我们将删除缺失值和分析不需要的值。

# Drop missing values 
import numpy as np
df[df=='?']=np.nan
new_df=df.dropna(axis=0)

# Drop the fnlwgt column which is useless for later analysis
new_df = new_df.drop('fnlwgt', axis=1)

        我们还将收入值替换为 0 (≤50K) 和 1(>50K)。

new_df['income'].replace({'<=50K':0,'>50K':1},inplace=True)

# Examine if there are missing value
new_df.info()

2.2 One-Hot

        每条记录有几个非数字特征。通常,学习算法期望输入是数字,这需要转换非数字特征(称为分类变量)。此处使用独热编码方案转换分类变量。

# 使用 sklearn 对“features_log_minmax_transform”数据进行独热编码。OneHotEncoder# 分类列的名称
cat_feats = new_df.dtypes[new_df.dtypes=='object'].index.tolist()cat_idx = [new_df.columns.get_loc(col) for col in cat_feats]

#
从 sklearn.preprocessing import 创建编码器 OneHotEncoder
编码器 = OneHotEncoder

(handle_unknown=“ignore”, sparse=False)


# 在分类特征上拟合和变换编码器 encoded_cat_feats = encoder.fit_transform(new_df.loc[:, cat_feats])# 获取原始列
中每个类别的唯一值 unique_values = [new_df[col].unique()

 for col in cat_feats]# 为编码的分类特征生成特征

名称 encoded_cat_feats_name = []


对于 i,枚举 (cat_feats) 中的 col:对于 unique_values[i]中的值:
encoded_cat_feats_name.append(f“{col}_{value}”)
#

 创建编码的分类特征数据帧
encoded_cat_feats_df = pd。DataFrame(encoded_cat_feats, columns=encoded_cat_feats_name)encoded_cat_feats_df.head()

# 定义数字列名
列表 num_col = [col 表示 new_df.columns 中的 col,如果 col 不在 cat_feats

 中]] 提取仅包含数字特征的数据帧 num_feats_df = new_df[num_col].reset_index()

# 将数字和编码的分类特征
连接在一起
df_encoding = pd.merge(num_feats_df, encoded_cat_feats_df, left_index=True, right_index=True).drop('index', axis=1)df_encoding.head()

        为了显示数据集的偏斜程度,我们可以运行以下代码:

income_1_count = df_encoding[df_encoding['收入'] == 1]。shape[0]
print(“收入 = 1 的数据点数:”, income_1_count)

income_0_count = df_encoding[df_encoding['收入'] == 0]。shape[0]
print(“收入 = 0 的数据点数:”,  income_0_count)

--> 结果:收入 = 1 的数据点数:7508
 收入 = 0 的数据点数:
22654

        最后,我们将编码的数据保存到新的CSV文件中。

df_encoding.to_csv('encoded_data.csv', index=False)

三、总结 

        到目前为止,我们所做的是使我们的数据集为分类任务做好准备。接下来,我们将使用多层感知器(MLP)对一个人的收入是否超过50K进行分类。敬请👀关注

达门·

·

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

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

相关文章

【pdf密码】忘记了密码该如何编辑PDF文件?

PDF文件设置了密码&#xff0c;无法编辑PDF文件&#xff0c;如果忘记了PDF密码&#xff0c;无法取消限制编辑&#xff0c;那么这种情况&#xff0c;我们该如何解决&#xff1f;分享两个方法。 方法一&#xff1a; 将PDF文件转换为其他格式&#xff0c;这里&#xff0c;我们可…

Navicat:解决导入csv文件中文乱码的问题

文章目录 1 问题描述2 解决方案 1 问题描述 导入时编码格式默认选择UTF-8 后面发现源字段中文显示乱码 2 解决方案 用记事本txt格式打开csv文件&#xff0c;查看右下角编码格式是否为UTF-8 一般通过xls另存的csv&#xff0c;编码格式为ANSI&#xff0c;需要转换为UTF-8 转…

解决小程序中textarea ios端样式不兼容的方法

问题描述 &#xff0c;今天在调试小程序的时候有个需求需要textarea与标题对其&#xff0c;微信开发工具和安卓系统都没有问题 但是ios系统textarea存在内边距。出现不兼容的情况 解决方法&#xff1a;我们看官网的textarea的属性 textarea | uni-app官网 disable-default-p…

插座上亚马逊美国站UL1449测试报告标准

美规插座有UL498&#xff1b;UL1363&#xff1b;UL1449等标准。不同结构&#xff1b;不同形式使用的标准不同。UL498插座部分主要是对结构和常规性测试的要求&#xff1b;此类插座称为Receptacle&#xff1b;UL1363主要是对室内用的延长线插座的要求&#xff1b;此类插座常简写…

基于ssm+vue舞蹈网站的设计与实现

基于ssmvue舞蹈网站的设计与实现111 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技…

开发指导—利用CSS动画实现HarmonyOS动效(一)

注&#xff1a;本文内容分享转载自 HarmonyOS Developer 官网文档 一. CSS 语法参考 CSS 是描述 HML 页面结构的样式语言。所有组件均存在系统默认样式&#xff0c;也可在页面 CSS 样式文件中对组件、页面自定义不同的样式。请参考通用样式了解兼容 JS 的类 Web 开发范式支持的…

易基因:De novo组装和转录组表征:东方田鼠原发性卵巢癌机制新见解|项目文章

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 2022年&#xff0c;中南大学湘雅医学院周智君教授团队在Mol Med Rep发表了题为" De novo assembly and transcriptome characterization: Novel insights into the mechanisms of p…

PDF转成翻页的电子图册?或许这样做你也可以

PDF转成翻页的电子图册是一种很有趣的方式&#xff0c;可以让读者像翻阅实体书一样浏览电子文档。这种形式的电子图册可以通过将PDF文件转换为HTML5格式来实现翻页效果。这样做的好处是可以增加用户的阅读体验&#xff0c;使阅读更加生动有趣。 如果你也想转换成翻页的电子图册…

首批!八家大模型企业面向全民开放

Datawhale干货 开放&#xff1a;国产大模型&#xff0c;编辑&#xff1a;司玉鑫 前 言 在科技领域&#xff0c;一项重要的消息引起了广泛关注&#xff1a; 8月31日凌晨&#xff0c;首批大模型产品终于获得了正式批准。这一消息不仅令行业内的巨头企业欢欣鼓舞&#xff0c;也使…

探索隧道ip如何助力爬虫应用

在数据驱动的世界中&#xff0c;网络爬虫已成为获取大量信息的重要工具。然而&#xff0c;爬虫在抓取数据时可能会遇到一些挑战&#xff0c;如IP封禁、访问限制等。隧道ip&#xff08;TunnelingProxy&#xff09;作为一种强大的解决方案&#xff0c;可以帮助爬虫应用更高效地获…

什么是malloxx勒索病毒,服务器中malloxx勒索病毒了怎么办?

Malloxx勒索病毒是一种新型的电脑病毒&#xff0c;它通过加密用户电脑中的重要文件数据来威胁用户&#xff0c;并以此勒索钱财。这种病毒并不是让用户的电脑瘫痪&#xff0c;而是以非常独特的方式进行攻击。在感染了Malloxx勒索病毒后&#xff0c;它会加密用户服务器中的数据&a…

使用(七牛云)为例子实现将文件上传到云服务器

目的 目前&#xff0c;用户的头像、分享生成的长图等文件都是存放在本地的&#xff0c;我们可以将他们存放在云服务器中&#xff0c;此处我们使用七牛云作为例子示范。 七牛云 创建账户并申请如下的两个bucket&#xff0c;分别是用户头像的存储空间和分享长图的存储空间。 …

浅谈电能计量管理系统在煤矿上的应用

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 摘要&#xff1a;随着煤矿供电系统管、控一体化的发展需要&#xff0c;本文提出了一种基于矿井光纤网络构成的煤矿电参数计量系统&#xff0c;该系统具有实现变电所各类开关、动力设备的用电高精度计量&#xff1b;远程实时监…

Linux命令grep的使用方法大全

常用总结&#xff1a; 1.在当前路径下搜索&#xff1a; grep "whetherInCommon" ./* -n执行效果参考&#xff1a; 说明&#xff1a;这里我指定在当前路径下搜索关键字&#xff1a; “whetherInCommon” 并显示行号 -n&#xff08;–line-number&#xff09;&…

Bytebase 2.7.0 - ​新增分支(Branching)功能

&#x1f680; 新功能 新增支持与 Git 类似的分支&#xff08;Branching&#xff09;功能来管理 schema 变更。支持搜索所有历史工单。支持导出审计日志。 &#x1f384; 改进 变更数据库工单详情页面全新改版。优化工单搜索体验。SQL 审核规则支持针对不同数据库进行独立配…

gdb 快速上手(附带测试案例)

在终端使用 gdb 对程序进行调试比较复杂&#xff0c;本文旨在帮助小白快速上手 gdb &#xff0c;所以只介绍了一些比较重要的命令&#xff01; 案例代码在文末&#xff01; 一、gdb 调试 1、编译源文件 gcc -g test.c -o test 2、启动程序 gdb ./test 结果如下&#xff1a;…

Fortinet独揽OT领导者称号丨Westlands 《Navigator工业网络安全展望报告》发布

专注推动网络与安全融合的全球网络安全领导者Fortinet&#xff08;NASDAQ: FTNT&#xff09;近日宣布&#xff0c;业内领先的OT安全行业分析和战略公司Westlands Advisory&#xff08;威士兰咨询&#xff0c;以下简称WA&#xff09;&#xff0c;在最新发布的《工业网络安全展望…

pandas|判断是否包含|contains|isin

文章目录 1. 方法简介1.1 pandas.Series.str.contains1.2 pandas.DataFrame.isin 2. 示例13. 示例24. 相关文章(1) pandas分组聚合|agg|transform|apply(2) 缺省值判断 pd.isnull, pd.isna, pd.notna, pd.notnull, np.isnan, math.isnan 区别(3) pandas中DataFrame字典互转(4) …

初识Java 4-1 初始化与清理

目录 通过构造器进行初始化 无参构造器 方法的重载 使用基本类型的重载 this关键字 在构造器中调用构造器 static的含义 成员初始化 初始化顺序 静态数据的初始化 显式的静态初始化&#xff08;静态块&#xff09; 非静态实例的初始化 数组初始化 动态数组的创建 …

kubernetes进阶 (一) 环境搭建

我是基于一台centos7.6的腾讯云主机进行操作的&#xff0c;配置为4C8G&#xff0c;之前的文档自己试着搭建发现有问题了&#xff0c;这里重新整理下笔记&#xff0c;集群版本选择1.22.2&#xff08;一年前搭的&#xff09;用的还不错 清理环境 之前我的环境可能装过docker或者什…