Coggle 30 Days of ML (23年7月)任务二:数据可视化

这篇具有很好参考价值的文章主要介绍了Coggle 30 Days of ML (23年7月)任务二:数据可视化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Coggle 30 Days of ML (23年7月)任务二:数据可视化

任务二:对数据集字符进行可视化,统计标签和字符分布
  • 说明:在这个任务中,需要使用Pandas库对数据集的字符进行可视化,并统计数据集中的标签和字符的分布情况,以便更好地理解数据集。
  • 实践步骤:
    1. 使用Pandas库读取和加载数据集。
    2. 使用Pandas的可视化功能,如柱状图或饼图,对数据集的字符进行可视化展示。
    3. 使用Pandas的统计功能,如value_counts()方法,统计数据集中的标签和字符的分布情况。

数据读取

与任务一相同,首先利用Pandas库读取和加载数据集

train_data = pd.read_csv('ChatGPT/train.csv')
test_data = pd.read_csv('ChatGPT/test.csv')

数据可视化

接下来进行数据可视化,name字段是顺序是无意义的,所以我们主要是看有关于label字段和content字段的信息

在数据中,我发现有一个比较奇怪的地方,在content字段中,每一个数字都是占4位,以空格为分隔,为了方便操作,我先将其转为数字的数组,“ 0”也变成“0”,把左右两边的空格去掉,方便后续进行统计,统计得到数据如图所示

Coggle 30 Days of ML (23年7月)任务二:数据可视化,?学习打卡,信息可视化

接下来我首先统计了一下content字段的数字列表长度,发现大部分长度实际上都是200,只有少部分长度不是200

train_data['char_count'] = train_data['content'].apply(lambda x:len(x.split(' ')))
print(train_data['char_count'].value_counts())


# 绘制字符数量分布柱状图
train_data['char_count'].plot(kind='hist', bins=30, rwidth=0.8)
plt.xlabel('Character Count')
plt.ylabel('Frequency')
plt.title('Distribution of Character Counts')
plt.show()
200    13956
176        3
150        3
1          2
188        2
181        2
198        2
184        2
193        2
167        2
177        2
187        2
166        2
81         1
197        1
180        1
196        1
160        1
134        1
199        1
130        1
102        1
142        1
172        1
173        1
171        1
185        1
195        1
154        1
186        1
161        1
Name: char_count, dtype: int64

Coggle 30 Days of ML (23年7月)任务二:数据可视化,?学习打卡,信息可视化

处于好奇心,我对这一部分长度不是200的进行筛选,查看有什么关系

train_data[train_data['char_count'] != 200]['label'].value_counts()
1    30
0    14
Name: label, dtype: int64

对于整体的数据来说,几乎大部分都是200的长度,另外不同的数据里面,大部分都是标签为1的数据,所以在这种情况下,数据更可能是gpt生产的

标签分布可视化

接下里对标签分布进行可视化,从结果可以看出,大部分的数据分布额都是Label为0的,数据的比例大概是5:1,所以存在一部分样本不平衡的情况,可以后续进行改进。

# 统计标签分布
label_counts = train_data['label'].value_counts()
print(label_counts)
# 绘制标签分布条形图
plt.bar(label_counts.index, label_counts.values)
plt.xlabel('Label')
plt.ylabel('Count')
plt.title('Label Distribution')

# 添加标签名称
label_names = ['Label 0', 'Label 1']  # 用实际的标签名称替换这些示例名称
plt.xticks(label_counts.index, label_names)

plt.show()
0    11836
1     2164
Name: label, dtype: int64

Coggle 30 Days of ML (23年7月)任务二:数据可视化,?学习打卡,信息可视化

字符分布统计

接下来统计每一个content中的数字的分布,查看出现最多的50个,如下图所示,可以看到3125这个数字出现过很多次,也可以猜测这是一个主语等,后续可以对其进行分析

# 获取字符数量分布数据
char_distribution = train_data['content'].str.split(' ', expand=True).stack().value_counts()

# 绘制前50个字符数量分布柱状图
char_distribution[:50].plot(kind='bar', figsize=(12, 6))
plt.xlabel('Character')
plt.ylabel('Frequency')
plt.title('Character Distribution (Top 50)')
plt.show() 

Coggle 30 Days of ML (23年7月)任务二:数据可视化,?学习打卡,信息可视化

为了查看不同标签数据的分布,我也分别进行筛选查看字符分布统计

Label为0

# 获取字符数量分布数据
char_distribution = train_data[train_data['label']==0]['content'].str.split(' ', expand=True).stack().value_counts()

# 绘制前50个字符数量分布柱状图
char_distribution[:50].plot(kind='bar', figsize=(12, 6))
plt.xlabel('Character')
plt.ylabel('Frequency')
plt.title('Character Distribution (Top 50) Label = 0')
plt.show() 

Coggle 30 Days of ML (23年7月)任务二:数据可视化,?学习打卡,信息可视化

Label为1

# 获取字符数量分布数据
char_distribution = train_data[train_data['label']==1]['content'].str.split(' ', expand=True).stack().value_counts()

# 绘制前50个字符数量分布柱状图
char_distribution[:50].plot(kind='bar', figsize=(12, 6))
plt.xlabel('Character')
plt.ylabel('Frequency')
plt.title('Character Distribution (Top 50) Label = 1')
plt.show() 

Coggle 30 Days of ML (23年7月)任务二:数据可视化,?学习打卡,信息可视化

从结果可以看出,label不同的时候,整体的分布在top5的分布差异不大,但是在后续,似乎有不同,可能是因为数据量大小原因,后续可以进行探究和学习文章来源地址https://www.toymoban.com/news/detail-538849.html

到了这里,关于Coggle 30 Days of ML (23年7月)任务二:数据可视化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 可视化任务编排&拖拉拽 | Scaleph 基于 Apache SeaTunnel的数据集成

      这次在 6月 Meetup 为大家带来的是Scaleph 基于 Apache SeaTunnel (Incubating) 的数据集成介绍,希望你有所收获。 本次演讲主要包括五个部分: 关于Scaleph Scaleph架构功能简介 SeaTunnel社区贡献 系统演示 开发计划 Apache SeaTunnel (Incubating)  王奇 Apache SeaTunnel Contributor 搜索推荐工程师,大

    2024年02月08日
    浏览(34)
  • 《Python数据分析技术栈》第03章 03 可视化各级数据(Visualizing various levels of data)

    《Python数据分析技术栈》第03章 03 可视化各级数据(Visualizing various levels of data) Whenever you need to analyze data, first understand if the data is structured or unstructured. If the data is unstructured, convert it to a structured form with rows and columns, which makes it easier for further analysis using libraries like Pandas. On

    2024年01月21日
    浏览(31)
  • 新起点!大数据分布式可视化的 DAG 任务调度系统 Taier 正式发布1.4版本

    我们很高兴向大家宣布,2023年4月14日,Taier 正式发布 1.4 版本。自2022年2月份 Taier 正式开源以来,收到了很多开发者和行业用户的积极评价,在诸多生产环境中已得到充分应用。Taier 1.4版本正是吸收了各类实践经验及大家的建议,进行了此次迭代优化。 本次更新不仅包含了性

    2023年04月20日
    浏览(32)
  • Python可视化神器:pyecharts,轻松绘制 30+ 种超实用精美图表!

    欢迎关注 ,专注 Python、数据分析、数据挖掘、好玩工具! 如果要问:Python 中有那些可视化工具库?我想很多人都能想起来 matplotlib,这是一款初学者绕不开的库,但随着对数据可视化的要求越来越高,matplotlib 已无法满足了。 今天我将和大家详细讲解 Pyecharts 模块,说到它

    2023年04月08日
    浏览(30)
  • 【23-24 秋学期】NNDL 作业13 优化算法3D可视化

    分别画出  和  的3D图 代码如下: 分别画出  和  的3D轨迹图 (1) 结果如下:  (2) 结合3D动画,用自己的语言,从轨迹、速度等多个角度讲解各个算法优缺点 Animations that may help your intuitions about the learning process dynamics.  Left: Contours of a loss surface and time evolution of different

    2024年02月04日
    浏览(26)
  • Python|30行代码实现微博热榜爬虫(及可视化进阶)

    当你想要跟踪微博的热门话题时,通过编写一个Python爬虫,来获取微博热搜榜单上的实时数据,并将其可视化展示出来,通过邮件或QQ机器人将其推送,亦可以将其存档,用以保留不同时期的舆论热点。 此外,排行榜项目一向是学习Python爬虫时必备的练手项目,通过本项目,

    2024年02月05日
    浏览(33)
  • Days 23 ElfBoard 板git版本管理工具

    一、 介绍 git 就是一个版本管理库,也是一个版本管理工具,它的作用就是帮助我们记录版本信息,以及修改内容。git 的结构是分布式的资源库,特点是没有严格的服务器概念,每个单体都可作为资源库。这个特点就让我们人人有自己的 git 仓库这件事变得容易实现。 git仓库

    2024年02月20日
    浏览(37)
  • 基于 Quartz.NET 可视化任务调度平台 QuartzUI

    QuartzUI 是基于 Quartz.NET3.0 的定时任务 Web 可视化管理,Docker 打包开箱即用、内置 SQLite 持久化、语言无关、业务代码零污染、支持 RESTful 风格接口、傻瓜式配置、异常请求邮件通知等。 QuartzUI 从 2022 年到现在没有提交记录,这里的部署使用的是最后一个版本的镜像。Windows D

    2024年04月25日
    浏览(23)
  • Oracle之可视化ETL任务调度设计接口实现方案

    以前的项目有这么一个需求,线上的任务需要灵活的可视化配置,而一般的ETL任务调度需要写JOB的SQL脚本(需要对Oracle的dbms_job比较熟悉),而维护成本比较高,虽然可以查看执行的信息,但是权限比较高,不利于项目后台数据的安全。所以通过需求背景,自研设计任务调度

    2024年02月01日
    浏览(30)
  • DataWhale 机器学习夏令营第三期——任务二:可视化分析

    DataWhale 机器学习夏令营第三期 ——用户新增预测挑战赛 2023.08.17 已跑通baseline,换为lightgbm基线,不加任何特征线上得分 0.52214 ; 添加baseline特征,线上得分 0.78176 ; 暴力衍生特征并微调模型参数,线上得分 0.86068 2023.08.23 数据分析、衍生特征: 0.87488 衍生特征、模型调参:

    2024年02月11日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包