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

43 篇文章 2 订阅
22 篇文章 0 订阅

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_split
 
print("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   float64
 1   latitude            3000 non-null   float64
 2   housing_median_age  3000 non-null   float64
 3   total_rooms         3000 non-null   float64
 4   total_bedrooms      3000 non-null   float64
 5   population          3000 non-null   float64
 6   households          3000 non-null   float64
 7   median_income       3000 non-null   float64
 8   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()

在这里插入图片描述

  • 22
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
探索性数据分析EDA)是数据分析的第一步,它帮助我们了解数据的基本情况,包括变量类型、分布、关系和缺失值等。在Python中进行探索性数据分析可以使用pandas来导入和处理数据。\[1\] 在进行探索性数据分析时,我们可以按照以下步骤进行: 1. 数据导入:使用pandas的read_csv函数导入数据集。 2. 检查数据:查看数据的基本信息,包括列名、数据类型和缺失值等。 3. 特征分析:对不同类型的变量进行分析,包括分类性变量、定序变量、连续型变量和离散型变量等。可以使用统计图表和描述统计等方法进行分析。 4. 相关性分析:通过计算变量之间的相关系数来了解它们之间的关系。 在进行探索性数据分析时,可以使用各种Python和函数来辅助分析,例如pandas、matplotlib和seaborn等。\[2\] 需要注意的是,以上是一般的探索性数据分析步骤,具体的分析方法和技巧可以根据数据集的特点和分析目的进行调整和选择。\[1\] 总之,Python提供了丰富的工具和来进行探索性数据分析,通过对数据的基本情况进行分析,我们可以为后续的模型建立和特征工程提供基础。\[1\] #### 引用[.reference_title] - *1* *2* [利用python进行探索性数据分析EDA):以Kaggle泰坦尼克号数据集为例](https://blog.csdn.net/weixin_45052363/article/details/124432266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Python探索性数据分析](https://blog.csdn.net/m0_72829928/article/details/126772827)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值