Python | 自动探索性数据分析(EDA)库SweetViz

SweetViz是一个开放源代码Python库,主要用于生成精美的高密度可视化文件,启动探索性数据分析(EDA),输出为完全独立的HTML应用程序。

探索性数据分析(EDA)是分析和总结数据集主要特征的过程,通常旨在了解数据中的潜在模式,关系和趋势。

SweetViz库的特点

主要包括以下几个方面:

  • 快速生成可视化图表:通过仅两行代码或更少,SweetViz可以快速生成美观且高密度的可视化图表,便于进行探索性数据分析(EDA)。
  • 目标值分析:帮助用户分析目标特征,例如如何将目标值(布尔值或数字值)与其他特征关联起来。
  • 可视化和比较数据集:支持对不同的数据集(例如训练与测试数据)进行可视化及比较分析,也可以对同个数据集的不同类别进行比较。
  • 混合型关联分析:无缝集成了数字(皮尔森相关性)、分类(不确定性系数)和分类数字(相关性)数据类型的关联,以提供所有数据类型的最大信息。
  • 独立HTML应用程序:SweetViz的输出是一个完全独立的HTML应用程序,用户可以轻松地分享和查看生成的图表和报告。

总的来说,SweetViz库旨在为用户提供一种快速、简便的方法来进行数据分析和可视化,帮助用户更好地理解数据和特征之间的关系。

安装

首先,我们将使用下面给出的pip install命令安装SweetViz库:

pip install sweetviz

导入必要的库

# import the required libraries 
import pandas as pd
import sweetviz as sv
from sklearn.model_selection import train_test_splitprint("SweetViz Version : {}".format(sv.__version__))

输出

SweetViz Version : 2.3.1

加载数据集

df = pd.read_csv('california_housing.csv')
df.info()

输出

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3000 entries, 0 to 2999
Data columns (total 9 columns):#   Column              Non-Null Count  Dtype  
---  ------              --------------  -----  0   longitude           3000 non-null   float641   latitude            3000 non-null   float642   housing_median_age  3000 non-null   float643   total_rooms         3000 non-null   float644   total_bedrooms      3000 non-null   float645   population          3000 non-null   float646   households          3000 non-null   float647   median_income       3000 non-null   float648   median_house_value  3000 non-null   float64
dtypes: float64(9)
memory usage: 211.1 KB

生成分析报告

为了生成报告,我们有3个函数:

  • analyze() 用于单个数据集
  • compare() 用于比较2个数据集(例如,Test与Train)
  • compare_intra() 用于比较一个数据集中某个选项的数据集的不同

这里,我们有一个单一的数据集,所以在这个时候我们将使用analyze()函数;

report = sv.analyze([df, 'Train'], target_feat='median_house_value')

一旦我们创建了我们的报告对象,然后简单地将其传递给两个’show’函数之一:
show_html()或show_ notebook()
show_html()函数将在给定的文件路径下创建并保存一个HTML报告(HTML页面),
show_notebook()函数将报表嵌入到Notebook中。

# show the report in a form of an HTML file
report.show_html('Report.html')

在这里插入图片描述

比较训练和测试数据集

# Split the dataset 
train_df, test_df = train_test_split(df, train_size=0.75)
# compare the dataset
compare = sv.compare(source=train_df, compare=test_df, target_feat="median_house_value")# Show the result
compare.show_html('Compare.html')

在这里插入图片描述
将鼠标悬停在报告左侧导航栏中的“Associations”按钮上,将在报告左侧显示关联图。关联图显示数据集中所有特征对之间的成对关系,每个点表示两个特征的唯一组合。点的大小和颜色表示两个特征之间关联的强度和方向,较大和较暗的点表示较强的正关联,较小和较亮的点表示较弱或负关联。

在这里插入图片描述
比较一个数据集中两个不同子群

# import the necessary libraries
import sweetviz as sv
from sklearn.datasets import load_breast_cancer# Load the dataset
cancer = load_breast_cancer(as_frame=True)
# dataframe
df = cancer.frame# Define the FeatureConfig object to force 
# the target feature to be numerical
my_feature_config = sv.FeatureConfig(force_num=['target'])# Create a boolean array to use as the grouping condition
condition_series = df['target'] == 0# Analyze the dataset with the specified FeatureConfig object 
# and grouping condition
my_report = sv.compare_intra(df, condition_series, ['malignant', 'benign'], feat_cfg=my_feature_config, target_feat='target')# Generate and display the report
my_report.show_html()

在这里插入图片描述

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

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

相关文章

uni-app(优医咨询)项目实战 - 第7天

学习目标&#xff1a; 能够基于 WebSocket 完成问诊全流程 能够使用 uniCloud 云存储上传文件 能够完成查看电子处方的功能 能够完成医生评价的功能 一、问诊室 以对话聊天的方式向医生介绍病情并获取诊断方案&#xff0c;聊天的内容支持文字和图片两种形式。 首先新建一…

AOP案例

黑马程序员JavaWeb开发教程 文章目录 一、案例1.1 案例1.2 步骤1.2.1 准备1.2.2 编码 一、案例 1.1 案例 将之前案例中增、删、改相关节后的操作日志记录到数据库表中。 操作日志&#xff1a;日志信息包含&#xff1a;操作人、操作时间、执行方法的全类名、执行方法名、方法…

网关(Gateway)- 内置过滤器工厂

官方文档:Spring Cloud Gateway 内置过滤器工厂 AddRequestHeaderGatewayFilterFactory 为请求添加Header Header的名称及值 配置说明 server:port: 8088 spring:application:name: api-gatewaycloud:nacos:discovery:server-addr: 127.0.0.1:8847username: nacospassword: …

Java中的垃圾回收机制详解

一、技术难点 Java中的垃圾回收机制&#xff08;Garbage Collection, GC&#xff09;是Java语言的一个核心特性&#xff0c;它负责自动管理堆内存中的对象&#xff0c;自动回收不再使用的对象占用的内存空间&#xff0c;从而避免了C/C等语言中常见的内存泄漏和野指针问题。然而…

52.WEB渗透测试-信息收集-CDN识别绕过(5)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;51.WEB渗透测试-信息收集-CDN识别绕过&#xff08;4&#xff09; 端口扫描其他内容参考&…

几何裁剪技术在AI去衣应用中的革新作用

引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;其在图像处理领域的应用也日益广泛。特别是在AI去衣技术中&#xff0c;几何裁剪技术扮演着至关重要的角色。本文将深入探讨几何裁剪技术在AI去衣中的应用及其带来的影响。 一、几何裁剪技术概述 几何裁剪技术是一种基…

容器技术的发展与影响

一、引言 容器技术近年来在软件开发和运维领域引起了广泛关注。本文将探讨容器技术的发展历程、其在技术领域的应用及其深远影响。 二、容器技术的发展历程 1.1 初期的容器技术 容器技术并非新概念&#xff0c;其历史可以追溯到Unix操作系统。早在20世纪70年代&#xff0c;…

【线性表】顺序存储和链式存储的实现

文章目录 顺序存储链式存储单向链表循环链表 线性表的定义 (1)概念定义&#xff1a;用数据元素的有限序列表示叫做线性表&#xff1b;线性表中数据元素的类型可以为简单类型&#xff0c;也可以为复杂类型。许多实际应用问题所涉的基本操作有很大相似性&#xff0c;不应为每个具…

DALL-2E是什么?它有什么功能和特性?它值不值得我们去学习?我们该如何去学习呢?

1.DALL-2E是什么&#xff1f; DALL-2E 是一个智能对话生成模型&#xff0c;其全称为Diverse All-round Language Generation for Effective Conversation。该模型是由微软研究院于2022年开发的&#xff0c;目的是为了提高对话生成系统在多样性和全面性方面的表现。 DALL-2E 基…

建模杂谈系列244 TimeTraveller

说明 所有的基于时间处理和运行的程序将以同样的节奏同步和执行 TT(TimeTraveller)是一个新的设计&#xff0c;它最初会服务与量化过程的大量任务管理&#xff1a;分散开发、协同运行。但是很显然&#xff0c;TT的功能将远不止于此&#xff0c;它将服务大量的&#xff0c;基于时…

【四大组件】-- 内容提供器 ContentProvider

目录 内容提供器 ContentProvider定义&#xff0c;是什么作用&#xff0c;为什么原理&#xff0c;机制使用方法统一资源标识符 URIMIMEUriMatcherContentUrisContentProviderContentResolver监听数据变化 总结面试问题 内容提供器 ContentProvider Android ContentProvider 基…

【spring】第二篇 bean实例化

对象已经能交给Spring的IOC容器来创建了&#xff0c;但是容器是如何来创建对象的呢? 就需要研究下bean的实例化过程&#xff0c;在这块内容中主要解决两部分内容&#xff0c;分别是 bean是如何创建的 实例化bean的三种方式&#xff0c;构造方法,静态工厂和实例工厂 在讲解这…

Linux C/C++时间操作

C11提供了操作时间的库chrono库&#xff0c;从语言级别提供了支持chrono库屏蔽了时间操作的很多细节&#xff0c;简化了时间操作 Unix操作系统根据计算机产生的年代把1970年1月1日作为UNIX的纪元时间&#xff0c;1970年1月1日是时间的中间点&#xff0c;将从1970年1月1日起经过…

WPF -> MVVM

1.1安装MVV MLight 打开 Visual Studio 2022。 在顶部菜单栏中选择“工具” -> “NuGet 包管理器” -> “程序包管理器控制台”。 在控制台中输入以下命令&#xff0c;并按回车键运行&#xff1a; Install-Package MvvmLightLibsStd104.等待安装完成后&#xff0c;你就…

十_信号13 - abort()

abort() 1 首先进程不能忽略 SIGABRT信号 2 要么在 SIGABRT信号的处理函数中 清理缓冲区并自己退出进程。如果信号处理函数中没有执行退出进程操作&#xff0c;返回到 abort()函数中&#xff0c;要求在 abort()函数中结束进程&#xff0c;不能返回到其调用者

数据库(17)——DCL数据控制语言

DCL DCL是Data Control Language数据控制语言&#xff0c;用来管理数据库用户、控制数据库的访问权限。 DCL-管理用户 语法 1.查询用户 USE mysql; SELECT * FROM user; 也可以直接在datagrip找到user表 我们要操作用户要通过User和Host同时定位。Host表示当前用户只能在哪个…

音视频开发9 FFmpeg 解复用相关整体说明,重要API说明

一&#xff0c;播放器框架 二 常用音视频术语 容器&#xff0f;文件&#xff08;Conainer/File&#xff09;&#xff1a; 即特定格式的多媒体文件&#xff0c; 比如mp4、flv、mkv等。 媒体流&#xff08;Stream&#xff09;&#xff1a; 表示时间轴上的一段连续数据&#xff0…

SIMBA:单细胞嵌入与特征

目前大多数单细胞分析管道仅限于细胞嵌入&#xff0c;并且严重依赖于聚类&#xff0c;而缺乏显式建模不同特征类型之间相互作用的能力。此外&#xff0c;这些方法适合于特定的任务&#xff0c;因为不同的单细胞问题的表述方式不同。为了解决这些缺点&#xff0c;SIMBA作为一种图…

050、Python 随机生成数据的方法

要生成随机数据&#xff0c;我们可以使用 random 模块。random 模块提供了多种函数来生成随机数、随机选择元素等。 以下是一些常用的方法&#xff1a; 1、生成随机整数&#xff1a; random.randint(a, b): 生成一个在区间 [a, b] 内的随机整数。random.randrange(start, st…

【Python网络爬虫】详解python爬虫中URL资源抓取

&#x1f517; 运行环境&#xff1a;PYTHON &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&#x1f917;&#x1f91…