【ML】探索性数据分析 (EDA)
简介
探索性数据分析 (EDA) 以了解我们数据集的信号和细微差别。这是一个循环过程,可以在我们开发过程的各个阶段(标记之前/之后、预处理等)完成,具体取决于问题的定义程度。例如,如果我们不确定如何标记或预处理我们的数据,我们可以使用 EDA 来解决这个问题。
我们将从 EDA 开始我们的项目,这是一个经常被误解的重要(且有趣)的过程。以下是对 EDA 的思考:
- 不仅仅是可视化一组规定的图(相关矩阵等)。
- 目标是说服自己您拥有的数据足以完成任务。
- 使用 EDA 回答重要问题并更容易地提取洞察力
- 不是一次性的过程;随着数据的增长,您希望重新访问 EDA 以捕捉分布变化、异常等。
让我们使用 EDA 回答几个关键问题。
from collections import Counter
import ipywidgets as widgets
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
from wordcloud import WordCloud, STOPWORDS
sns.set_theme()
warnings.filterwarnings("ignore")
标签分布
每个标签有多少个数据点?
# Distribution of tags
tags, tag_counts = zip(*Counter(df.tag.values).most_common())
plt.figure(figsize=(10, 3))
ax = sns.barplot(list(tags), list(tag_counts))
plt.title("Tag distribution", fontsize=20)
plt.xlabel("Tag", fontsize=16)
ax.set_xticklabels(tags, rotation=90, fontsize=14)
plt.ylabel("Number of projects", fontsize=16)
plt.show()
# Most common tags
tags = Counter(df.tag.values)
tags.most_common()
Output:
[('natural-language-processing', 388),('computer-vision', 356),('mlops', 79),('reinforcement-learning', 56),('graph-learning', 45),('time-series', 31)]
我们将在拆分为我们的训练拆分之后和训练我们的模型之前解决数据不平衡问题。
词云
每个标签的标题和描述中是否有足够的信号?这很重要,因为我们想要验证我们最初的假设,即项目的标题和描述是极具影响力的特征。
# Most frequent tokens for each tag
@widgets.interact(tag=list(tags))
def display_word_cloud(tag="natural-language-processing"):# Plot word clouds top top tagsplt.figure(figsize=(15, 5))subset = df[df.tag==tag]text = subset.title.valuescloud = WordCloud(stopwords=STOPWORDS, background_color="black", collocations=False,width=500, height=300).generate(" ".join(text))plt.axis("off")plt.imshow(cloud)
看起来title
文本特征对各自的类有一些很好的信号,并且符合我们的直觉。我们也可以对description
文本功能重复此操作。当我们决定如何使用我们的特征进行建模时,这些信息将变得有用。
【ML】探索性数据分析 (EDA)相关推荐
- python进行探索性数据分析EDA(Exploratory Data Analysis)分析
python进行探索性数据分析EDA(Exploratory Data Analysis)分析 show holy respect to python community, for there ded ...
- 探索性数据分析EDA及数据分析图表的选择
文章目录 一.探索性数据分析EDA 二.数据分析图表的选择 一.探索性数据分析EDA 探索性数据分析(Exploratory Data Analysis,简称EDA),指对数据分析的过程中尽量不加入先 ...
- 数据挖掘:探索性数据分析(EDA)(补充)
数据挖掘:探索性数据分析(EDA)(补充) 在上一篇文章数据挖掘:探索性数据分析(EDA)中,已经讨论了一些探索性分析的方法,但去敏数据的处理方式和一些多元统计的方法没有做介绍.本篇文章主要讲这两方面 ...
- 数据挖掘:探索性数据分析(EDA)
数据挖掘:探索性数据分析(EDA) 一.什么是探索性数据分析 EDA (Exploratory Data Analysis),即对数据进行探索性的分析.充分了解数据,为之后的数据清洗和特征工程等提供想 ...
- Python探索性数据分析(EDA)统计数据和建模
探索性数据分析(EDA) 在统计学中,探索性数据分析是一种分析数据集以总结其主要特征的方法,通常使用统计图形和其他数据可视化方法. 可以使用或不使用统计模型,但主要是 EDA 用于查看数据可以告诉我们 ...
- 机器学习笔记 - 探索性数据分析(EDA) 入门案例五
1.Kaggle比赛 - 泰坦尼克号 泰坦尼克号的沉没是历史上最著名的沉船事件之一.1912 年 4 月 15 日,在她的处女航中,泰坦尼克号在与冰山相撞后沉没,2224 名乘客和船员中有 1502 ...
- 探索性数据分析EDA(一)——变量识别与分析
前言 探索性数据分析(Exploratory Data Analysis,EDA) 是学习数据分析.机器学习最开始的第一步. 在过去的学习中多少都有涉及到EDA的内容,但是一直都是零零散散,没有一个系 ...
- 探索性数据分析(EDA)
全版英文教程在此 探索性数据分析(EDA)目的是最大化对数据的直觉,完成这个事情的方法只能是结合统计学的图形以各种形式展现出来.通过EDA可以实现: 1. 得到数据的直观表现 2. 发现潜在的结构 3 ...
- 探索性数据分析EDA(二)—— 缺失值处理
接上一篇 <探索性数据分析(1)-- 变量识别和分析>, 这篇笔记主要内容为缺失值处理方法介绍,以及相关python工具包sklearn.impute的使用介绍. 目录 1. 为什么需要处 ...
最新文章
- [转](不理想)Ubuntu下更改主显示器
- linux shell中fork、source、exec的区别
- 白话经典算法系列之六 快速排序 快速搞定
- 性能测试需求调研分析方法
- python线程同步锁_[python] 线程间同步之Lock RLock
- jQuery基础 - 改变CSS样式
- AndroidStudio_百度人脸识别离线SDK_代码分析_使用流程_随时更新---Android原生开发工作笔记217
- Java开发笔记(一百三十二)Swing的表格
- Java语法总结 - 方法
- 普通话-汉语拼音字母表
- 阳阳智能开关固件2.0版本
- USACO 2021 January Contest, BronzeProblem 2. Even More Odd Photos题解
- top在linux的命令,Linux命令详解之–top命令 | Linux大学
- 如何解决3G模块和USB转串口冲突问题
- 单频点单输入功率只含基波X模型的提取与验证
- 一个10年IT技术人的历程-Java架构师的演变
- matlab 小波 清浊音,matlab语音信号处理如何判别清浊音?
- 修改远程桌面默认端口
- 如何定义日志消息的级别?详解日志的5个级别
- 079-mxd-冒险岛-自主学习搭建-单机联机都可以,详细教程
热门文章
- 【Web技术】1021- 一名合格前端工程师必备素质:代码整洁之道
- Java封装类和基本类型的区分
- 分布式和集群实现的原理
- 我辞退了一位简历造假的程序员...
- 重庆理工大学计算机专业复试分数线,【计算机考研】2018年重庆理工大学考研录取工作通知...
- vivo手机光环助手下载游戏怎么打不开_全新5G自拍手机,vivo S6系列正式发布
- excle表格的纵向合并
- 光储控制器,风光储、风光储并网直流微电网模型
- 如何安装github下载到的源码库
- 笔记本摄像头正常却无法使用,提示未能创建视频预览,谁有解决办法?