首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VizPool,一个超强的Python可视化库!

VizPool,一个超强的Python可视化库!

作者头像
小F
发布于 2024-03-22 05:14:35
发布于 2024-03-22 05:14:35
19100
代码可运行
举报
运行总次数:0
代码可运行
大家好,我是小F~

最近发现一个非常不错的Python可视化库,VizPool。

低代码,只需几行代码即可实现多种数据可视化图表的制作。

而且还能用来制作机器学习模型,以及指标评估。

相关文档地址如下

https://github.com/Hassi34/VizPool

https://jovian.ai/hasnainmehmood3435/vizpool-static-api

可以使用pip安装使用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install vizpool -i https://mirror.baidu.com/pypi/simple

安装好以后,导入相关库。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import vizpool as vizpool

from vizpool.static import EDA
from vizpool.static import Evaluation

import seaborn as sns
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression, SGDClassifier,  LinearRegression
from sklearn.svm import SVC
from sklearn.tree import ExtraTreeClassifier
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
from sklearn.preprocessing import LabelEncoder

# 加载数据集
df = pd.read_csv("tips.csv")

# EDA实例化(Exploratory Data Analysis)
tips_eda = EDA(df)

加载数据,进行数据探索分析工作。

其中tips.csv可以在【GitHub】上获取。

https://github.com/mwaskom/seaborn-data/blob/master/tips.csv

其中数据含义如下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
total_bill:消费总金额
tip:小费金额
sex:性别
smoker:是否吸烟
day:消费日期
time:消费时段
size:聚餐人数

下面就来看看图表示例吧。

01. 饼图条形图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 饼图条形图
plt = tips_eda.pie_bar(hue='sex');
plt.savefig("Pie_bar.png")

02. 箱线图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 所有数值列的箱线图网格
plt = tips_eda.boxplot(height=3, width=10)
plt.savefig("Box_all.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 指定分类的所有数值列的箱线图网格
plt = tips_eda.boxplot(hue='sex', height=6)
plt.savefig("Box_sex.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 特定数值列的箱线图
plt = tips_eda.boxplot(col_to_plot=['total_bill'], width=4, height=3)
plt.savefig("Box_total_bill.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 指定分类的任何数值的箱线图
plt = tips_eda.boxplot(col_to_plot=['total_bill'], hue='sex', width=4, height=3)
plt.savefig("Box_sex_total_bill.png")

03. 计数图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 数据中所有非数字列的计数图网格
plt = tips_eda.countplot()
plt.savefig("Count.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 单个分类列的计数图
plt = tips_eda.countplot(['sex'], height=4, width=4)
plt.savefig("Count_sex.png")

04. 直方图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 所有数值列的直方图网格
plt = tips_eda.histogram(height=7)
plt.savefig("Histogram.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 直方图, 其中分类列作为关键字参数传递给hue
plt = tips_eda.histogram(hue='sex', height=7)
plt.savefig("Histogram_sex.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 特定数值列的直方图
plt = tips_eda.histogram(col_to_plot=['total_bill'], height=4, width=6)
plt.savefig("Histogram_total_bill.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 指定分类的特定数值列的直方图
plt = tips_eda.histogram(col_to_plot=['total_bill'], hue='sex', height=4, width=6)
plt.savefig("Histogram_sex_total_bill.png")

05. 柱状图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 所有分类列相对于所提供的数字列的条形图网格
plt = tips_eda.barplot(y='tip', estimator='sum')
plt.savefig("Bar.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 针对所提供的数字列的所有分类列的条形图网格,色调设置为分类列
plt = tips_eda.barplot(y='tip', hue='time').show()
plt.savefig("Bar_time.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 选取单变量的柱状图
plt = tips_eda.barplot(y='tip', col_to_plot='smoker', hue='time', height=3, width=4)
plt.savefig("Bar_single.png")

06. 小提琴图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 针对目标列或分类列的所有数值列的Violinplot作为关键字参数传递
plt = tips_eda.violinplot(hue='sex', height=7)
plt.savefig("Violin.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 作为关键字参数传递的针对目标列或分类列的选择性数值列的Violinplot
plt = tips_eda.violinplot(col_to_plot=['total_bill', 'tip'], hue='sex', height=5)
plt.savefig("Violin_col.png")

07. 热力图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 热力图
plt = tips_eda.corr_heatmap(height=5, width=5)
plt.savefig("Correlation_Heatmap.png")

08. 联合图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 两个数值变量的联合图
plt = tips_eda.jointplot(x='total_bill',
                         y='tip',
                         height=5, width=5,
                         color='green')
plt.savefig("Joint.png")

09. 特征图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 包含作为关键字参数传递的分类列的所有数值特征的成对图
plt = tips_eda.pairplot(hue='sex', height=5, width=8)
plt.savefig("Pair.png")

10. 模型训练和评估

选择列数据, 并尝试预测这个人是否吸烟。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 使用sklearn机器学习管道获取特征重要性
pipeline_data = df[["total_bill", "tip", "size", "sex", "smoker"]]
target_class_labels = pipeline_data['smoker'].unique().tolist()
target = LabelEncoder().fit_transform(pipeline_data.pop('smoker'))
X_train, X_val, y_train, y_val = train_test_split(pipeline_data, target, test_size=0.2, random_state=42)

# 实例化评估类
model_eval = Evaluation(y_val)

col_trans = ColumnTransformer(transformers=[
    ('num_processing', StandardScaler(), ["total_bill", "tip", "size"]),
    ('cat_processing', OneHotEncoder(), ['sex'])
], remainder='drop')
pipe_rfc = Pipeline(steps=[
    ('tranformer', col_trans),
    ('classifier', RandomForestClassifier())
])
pipe_rfc.fit(X_train, y_train)
plt = model_eval.feature_importance(pipe_rfc, X_val=X_val, pipeline=True,
                                    height=6, width=16)
plt.savefig("RandomForestClassifier.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 用估计器获得特征的重要性
df = df[["total_bill", "tip", "size", "smoker"]]
target_class_labels = df['smoker'].unique().tolist()
target = LabelEncoder().fit_transform(df.pop('smoker'))
X_train, X_val, y_train, y_val = train_test_split(df, target, test_size=0.2, random_state=42)
X_train.shape, X_val.shape, y_train.shape, y_val.shape

logistic_reg_clf = LogisticRegression()
logistic_reg_clf.fit(X_train, y_train)
logistic_predictions = logistic_reg_clf.predict(X_val)

etc = ExtraTreeClassifier()
etc.fit(X_train, y_train)
etc_predictions = etc.predict(X_val)

svc = SVC(probability=True)
svc.fit(X_train, y_train)
svc_predictions = svc.predict(X_val)

sgd = SGDClassifier()
sgd.fit(X_train, y_train)
sgd_predictions = sgd.predict(X_val)
plt = model_eval.feature_importance(etc, X_val=X_val,
                                    height=6, width=16)
plt.savefig("ExtraTreeClassifier.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 带比率的混淆矩阵
plt = model_eval.confusion_matrix(logistic_predictions,
                                  target_names=target_class_labels,
                                  height=3, width=4)
plt.savefig("predictions_rate.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 带计数的混淆矩阵
plt = model_eval.confusion_matrix(logistic_predictions, target_names=target_class_labels,
                                  height=3, width=4, normalize=False)
plt.savefig("predictions_count.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# ROC曲线
plt = model_eval.auc_roc_plot(X_val, [sgd, svc, logistic_reg_clf, etc],
                              ['SGDClassifier', 'SVC', 'Logistic Regression', 'ExtraTreeClf'],
                              height=5, width=8)
plt.savefig("ROC.png")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 残差图
# 训练线性回归模型
lr = LinearRegression()
X = df[['size', 'total_bill']]
y = df['tip']
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=42)
lr.fit(X_train, y_train)
y_predicted = lr.predict(X_val)

# 模型评估
lr_model_eval = Evaluation(y_val)
plt = lr_model_eval.residplot(y_predicted=y_predicted, color='red')
plt.savefig("predicted.png")
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 法纳斯特 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
pandas读取数据(1)
访问数据是进行各类操作的第一步,本节主要关于pandas进行数据输入与输出,同样的也有其他的库可以实现读取和写入数据。
python数据可视化之路
2023/02/23
2.6K0
pandas读取数据(1)
20个经典函数细说Pandas中的数据读取与存储
大家好,今天小编来为大家介绍几个Pandas读取数据以及保存数据的方法,毕竟我们很多时候需要读取各种形式的数据,以及将我们需要将所做的统计分析保存成特定的格式。
用户6888863
2021/12/10
3.4K0
20个经典函数细说Pandas中的数据读取与存储
系统性总结了 Pandas 所有知识点
Numpy已经能够帮助我们处理数据,能够结合matplotlib解决部分数据展示等问题,那么pandas学习的目的在什么地方呢?
数据STUDIO
2021/12/27
3.4K0
系统性总结了 Pandas 所有知识点
Python 读取txt、csv、mat数据并载入到数组
这里结合上一篇博文的数据来讲怎么方便的载入.txt文件到一个数组,数据如下所示:
全栈程序员站长
2022/07/23
5K0
Python 读取txt、csv、mat数据并载入到数组
Pandas-DataFrame基础知识点总结
1、DataFrame的创建 DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。DataFrame既有行索引,也有列索引,它可以看作是由Series组成的字典,不过这些Series公用一个索引。 DataFrame的创建有多种方式,不过最重要的还是根据dict进行创建,以及读取csv或者txt文件来创建。这里主要介绍这两种方式。 根据字典创建 data = { 'state':['Ohio','Ohio','Ohio','Nevada','Nevada'], '
石晓文
2018/04/11
4.4K0
Pandas-DataFrame基础知识点总结
python pandas教程
#coding=utf-8 import numpy as np import pandas as pd import matplotlib.pyplot as pyplot #s=pd.Series([7,'Heisenberg',3.14,-1789710578,'Happy Eating!']) #print s #Series可以转换字典 d = {'Chicago': 1000, 'New York': 1300, 'Portland': 900, 'San Francisco': 110
李智
2018/08/03
1.5K0
[编程经验] Pandas中比较好用的几个方法
话说我现在好久不做深度学习的东西了,做了一段时间是的NLP,以为可以去尝试各种高大上的算法,然而现在还并没有,反而觉得更像是做数据挖掘的。。平时遇到的比较多的问题,大多数都是数据清洗的工作,这时候工具就显得很重要,有一个好的工具能起到事半功倍的效果,比如突然有个idea,然后自己开始呼哧呼哧的造轮子,最后才发现,哦,原来都有现成的方法,本来一行代码就可以搞定的问题,到最后写了几十行。 正所谓,“欲闪其事,必先利其器”啊。 好了,废话不多说,下面介绍几个神奇的方法。 数据筛选 先把数据导
用户1622570
2018/04/11
2K0
Pandas读取TXT文件
本文记录的是如何使用Pandas来读取不同情况下的TXT文件,主要是介绍部分常见参数的使用。
皮大大
2023/08/25
6520
pandas入门①数据统计
本指南直接来自pandas官方网站上的10分钟pandas指南。 我将它改写以使代码更易于访问。 本指南适用于之前未使用pandas的初学者。
用户1359560
2018/08/27
1.6K0
python数据分析——详解python读取数据相关操作
一般在做数据分析时最常接触的就是逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。
刘早起
2020/04/22
3.4K0
Pandas vs Spark:数据读取篇
按照前文所述,本篇开始Pandas和Spark常用数据处理方法对比系列。数据处理的第一个环节当然是数据读取,所以本文就围绕两个框架常用的数据读取方法做以介绍和对比。
luanhz
2021/09/02
2K0
Pandas | 数据读取
本文框架 0.导入Pandas 1.读取csv文件 1.1 查看读取前的csv数据 1.2 读取数据 1.3 初步数据探索 2. 读取txt文件 2.1 查看读取前的txt数据 2.2 读取数据 3. 读取excel文件 0.导入Pandas 我们在使用Pandas时,需要先将其导入,这里我们给它取了一个别名pd。 import pandas as pd 1.读取csv文件 1.1 查看读取前的csv数据 文件数据以逗号分隔。 userId,movieId,rating,timestamp 1,1,4.
生信real
2022/12/20
1.2K0
快乐学习Pandas入门篇:Pandas基础
寄语:本文对Pandas基础内容进行了梳理,从文件读取与写入、Series及DataFrame基本数据结构、常用基本函数及排序四个模块快速入门。同时,文末给出了问题及练习,以便更好地实践。
Datawhale
2020/04/22
2.6K0
Pandas数据显示不全?快来了解这些设置技巧! ⛵
我们在应用 Python 进行数据分析挖掘和机器学习时,最常用的工具库就是 Pandas,它可以帮助我们快捷地进行数据处理和分析。
ShowMeAI
2022/07/12
3.3K0
Pandas数据显示不全?快来了解这些设置技巧! ⛵
Pandas笔记_python总结笔记
https://blog.csdn.net/xinxing__8185/article/details/48022401
全栈程序员站长
2022/09/27
7980
Pandas数据挖掘与分析
请注意,本文编写于 979 天前,最后修改于 979 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
1.5K0
Pandas数据挖掘与分析
R数据读取(数据文件解析)
1,控制读入的数据行数,非批处理,有点类似数据库中的指标操作,可对文件中的数据逐行操作。
云深无际
2020/10/23
2.7K0
R数据读取(数据文件解析)
Pandas速查手册中文版
本文翻译自文章: Pandas Cheat Sheet - Python for Data Science,同时添加了部分注解。 对于数据科学家,无论是数据分析还是数据挖掘来说,Pandas是一个非常重要的Python包。它不仅提供了很多方法,使得数据处理非常简单,同时在数据处理速度上也做了很多优化,使得和Python内置方法相比时有了很大的优势。 如果你想学习Pandas,建议先看两个网站。 (1)官网: Python Data Analysis Library (2)十分钟入门Pandas: 10 Mi
Niucas_Mao
2018/04/12
12.9K0
Pandas使用 (一)
What is pandas Pandas是python中用于处理矩阵样数据的功能强大的包,提供了R中的dataframe和vector的操作,使得我们在使用python时,也可以方便、简单、快捷、高效地进行矩阵数据处理。 具体介绍详见http://pandas.pydata.org/。 A fast and efficient DataFrame object for data manipulation with integrated indexing; Tools for reading and wri
生信宝典
2018/02/05
2.6K0
【Seaborn绘图】深度强化学习实验中的paper绘图方法
第一个维度表示每个时间点采样不同数目的数据(可认为是每个x对应多个不同y值) 第二个维度表示不同的时间点(可认为是x轴对应的x值)
小白学视觉
2022/09/28
1.1K0
【Seaborn绘图】深度强化学习实验中的paper绘图方法
相关推荐
pandas读取数据(1)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档