面向数据科学家的懒惰Python 库

news2025/2/24 17:47:11

你今天感到昏昏欲睡吗?使用这五个库来提高您的工作效率

一、介绍

        数据科学既鼓舞人心,又具有挑战性。通过绘制各种图表以及微调模型以获得最佳结果来执行数据预处理和清理并从数据中生成见解是相当费力的。

        在这篇博客中,我将向您介绍五个 Python 库,它们为您自动化这些过程,从而节省您的时间并提高您的工作效率。

        只需几行代码即可生成全面的报告、调整超参数,甚至部署机器学习模型。事不宜迟,让我们从博客开始。

        出于数据分析和模型构建的目的,我们将使用鸢尾花数据集。您可以在此处找到数据。我将使用此存储库来预览 HTML 文件。

#Importing the pandas 
import pandas as pd

#Loading the data
data = pd.read_csv('Iris.csv')

以下是提高工作效率的五个库:

二、sweetviz(甜蜜可视化)

        这是一个开源的 Python 库,主要用于探索性数据分析 (EDA)。只需几行代码,该库就能够生成带有图形和视觉效果的综合报告。

        这些报告以 HTML 或 Jupyter Notebook 格式生成,便于查看和共享。此外,该报告还包括相关性分析(热图)、直方图和各种其他可视化效果。

        还可以通过指定目标变量、更改图表类型甚至更改布局来自定义报表。此外,您将能够比较两个不同的数据集并因此生成有用的见解。

        若要安装库,请在命令提示符下键入以下代码:

pip install sweetviz

        若要生成数据集的报告,可以使用分析函数。

#Importing SweetViz
import sweetviz

#Generating report
report = sweetviz.analyze(data)
#To save the HTML format of the report, use this:
report.show_html()

#To view the report inside a Jupyter Notebook, use this:
report.show_notebook()

HTML 报告如下所示:

网页报告

SweetViz HTML Report(来源:作者)

要了解有关该库及其功能的更多信息,可以在此处查看文档。您可以在此处找到报告的预览。

三、pandas分析

        Pandas 库中有各种函数可用于分析数据,包括 data.info()、data.isnull()、data.describe() 等。 但是,单独应用这些功能可能需要相当长的时间。

        通过使用 Pandas 分析库可以自动执行这些过程,该库只需几行代码即可生成全面的报告。该库与SweetViz非常相似,但它提供了更多功能。

        若要安装库,请在命令提示符下键入以下代码:

pip install pandas-profiling

        我们可以通过使用配置文件报告生成报告。

#Importing ProfileReport
from pandas_profiling import ProfileReport

#Generating Report
report = ProfileReport(data)

该报告分为许多部分,分别是:

  1. 概述部分:
    在本节中,我们找到诸如变量类型、重复行、缺失值和观测值总数等信息。
  2. 警报部分:
    在本节中,我们将了解变量的分布、变量之间的相关性以及与数据集相关的问题。
  3. 复制:
    它提供有关分析开始和结束日期的信息。此外,它还告诉我们执行整个分析需要多长时间。
  4. 变量
    可以对本节中选择的任何要素执行单变量分析。它提供有关特征的信息,例如其平均值、中位数、非重复值的数量等。
  5. 交互作用:
    本节的目的是执行双变量分析。使用它,我们可以绘制任意两个特征之间的散点图。
  6. 相关性
    此部分包括显示两个变量之间相关性的热图。
  7. 缺失值:
    在本节中,我们提供了一个缺失值矩阵,使我们能够可视化数据集中的缺失值
  8. 示例:
    允许我们查看数据集的前 10 行和后 10 行,类似于 data.head(10) 和 data.tail(10)。

要了解有关该库及其功能的更多信息,可以在此处查看文档。 您可以在此处查看个人资料报告。

四、lazypredict懒惰预测

        在某些情况下,我们希望将不同的机器学习模型应用于数据集,并确定哪个模型可提供最佳结果。手动导入它们并训练它们可能被证明是一个费力的过程。在这种情况下,LazyPredict库很有用。

        这是一个开源的 Python 库,允许在不调整超参数的情况下比较各种模型。在几行中,可以训练和比较各种机器学习模型。它既可用于分类问题,也可用于回归问题。

        若要安装库,请在命令提示符下键入以下代码:

pip install lazypredict

        使用此库,要查找鸢尾花数据集的最佳模型,请执行以下操作:

# Separating the target variable and rest of the data.
y = data['Species']
data.drop('Species',inplace=True,axis=1)
X = data

# Splitting the dataset into train and test data
X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=.5,random_state =1)


clf = LazyClassifier(verbose=0,ignore_warnings=True, custom_metric=None)

#Training the models
models,predictions = clf.fit(X_train, X_test, y_train, y_test)

# Printing the output
models

懒惰预测输出(来源:作者)

它根据各种指标(包括准确性、F1 分数和执行时间)比较模型。

要了解有关库及其功能的更多信息,您可以查看此 GitHub 存储库。 此外,您可以查看我的博客,其中我已经在烟雾检测数据上实现了LazyPredict。

六、FLAML机器学习模型 

        与LazyPredict一样,FLAML允许我们比较不同的机器学习模型,但它也帮助我们调整超参数并选择最佳模型。

        它由Microsoft开发,并使用Microsoft研究开发的超参数优化和模型选择系统。

        在 FLAML 中,LightGBM、XGBoost、Random Forest 等是默认模型。我们还能够添加模型并指定训练模型的时间限制。

        若要安装库,请在命令提示符下键入以下代码:

pip install flaml

        使用 FLAML 查找最佳模型:

from flaml import AutoML
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split

# Separating the target variable and rest of the data.
y = data['Species']
data.drop('Species',inplace=True,axis=1)
X = data

#Using Label Encoder to convert categorical variables to numerical variables
label_endcoder = LabelEncoder()
y = label_endcoder.fit_transform(y)

# Splitting the dataset into train and test data
X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=.5,random_state =1)

automl = AutoML()

#Training the models
automl.fit(X_train, y_train, task="classification")

要找出最佳模型,请使用以下代码:

automl.best_estimator

在这种情况下,最好的模型是xgb_limitdepth。

若要获取有关最佳模型的超参数的信息,请键入以下代码:

automl.best_config 
 

最佳模型的超参数信息(来源:作者)

要了解有关该库及其功能的更多信息,可以在此处查看文档

七、PyCaret模型

        它的开发目的是花更少的时间编码,花更多的时间分析数据。它是一种端到端的模型管理工具,可帮助我们自动化机器学习过程。

        PyCaret 可自动执行特征工程、缺失值插补、超参数调整,甚至部署。

        作为数据准备过程的一部分,PyCaret 允许我们使用主成分分析 (PCA) 执行归一化、缩放、特征选择、异常值去除和许多其他功能。

        在训练阶段,我们可以添加和删除模型,指定时间约束,比较不同的模型,并绘制各种图形,例如ROC曲线。

该模型可以部署在AWS,Google Cloud Platform(GCP)或Microsoft Azure上。还可以将转换管道和训练的模型对象另存为 pickle 文件,并随时检索它们。

若要安装库,请在命令提示符下键入以下代码:

pip install pycaret 

准备数据:

from pycaret.classification import *

#Loading the data, defining the target varaible and performing normalizing 
#the data using z-score
clf = setup(data = data, target = 'Species',normalize=True,
             normalize_method='zscore'))

设置数据(来源:作者)

寻找最佳模型:

# compare models
compare_models()

最佳模特(来源:作者)

绘制逻辑回归的 ROC 曲线:

lr = create_model('lr')

# plotting the ROC Curve
plot_model(lr, plot = 'auc')

ROC Curve (Source: Author)

Saving the model:

#Saving the model in a pikle file (pipeline.pkl)
save_model(lr,'pipeline')
 

保存模型(来源:作者)

要了解有关该库及其功能的更多信息,可以在此处查看文档

八、结论

·        不过,我建议手动执行从数据准备到部署的所有过程。通过这些过程,您可以增强您的知识并获得经验。

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

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

相关文章

YOLO v8目标跟踪详细解读(一)

在此之前,我们已经对yolo系列做出了详细的探析,有兴趣的朋友可以参考yolov8等文章。YOLOV8对生态进行了优化,目前已经支持了分割,分类,跟踪等功能,这对于我们开发者来说,是十分便利。今天我们对…

沐渥六门氮气柜技术参数详解

氮气柜是用来存储电子元器件、芯片、半导体器件、金属材料、电路板、精密仪器等物品的设备,通过充入氮气降低柜内湿度,达到防潮、防氧化、防静电、防锈和防霉效果。 六门氮气柜参数 1、容积:约1380L;外尺寸:W1200*D700…

【人工智能前沿弄潮】—— SAM系列:SAM从提示生成物体mask

SAM从提示生成物体mask Segment Anything Model(SAM)根据指示所需的对象来预测对象掩码。该模型首先将图像转换为图像嵌入,从而可以从提示中高效地生成高质量的掩码。 SamPredictor类为模型提供了一个简单的接口来提示模型。用户可以首先使…

LeetCode 33题:搜索旋转排序数组

目录 题目 思路 代码 暴力解法 分方向法 二分法 题目 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 …

Macbook pro、air、imac 在打字好卡,延迟特别严重,要怎么解决?

MacBook pro在打字好卡&#xff0c;延迟特别严重&#xff0c;到底是什么问题呢&#xff1f;卡的死&#xff0c;打个字要反应很久很久才能响应过来&#xff0c;这不是我理想中的macbook pro。以前也没有这样的问题&#xff0c;找找原因。 上网逛了一圈&#xff0c;发现大家都说…

自动切换HTTP爬虫ip助力Python数据采集

在Python的爬虫世界里&#xff0c;你是否也被网站的IP封锁问题困扰过&#xff1f;别担心&#xff0c;我来教你一个终极方案&#xff0c;让你的爬虫自动切换爬虫ip&#xff0c;轻松应对各种封锁和限制&#xff01;快来跟我学&#xff0c;让你的Python爬虫如虎添翼&#xff01; 首…

@Transactional 注解下,事务失效的七种场景

文章目录 1、异常被捕获后没有抛出2、抛出非运行时异常3、方法内部直接调用4、新开启一个线程5、注解到private方法上6、数据库本身不支持7、事务传播属性设置错误 Transactional是一种基于注解管理事务的方式&#xff0c;spring通过动态代理的方式为目标方法实现事务管理的增强…

腾讯云服务器镜像操作系统大全_Linux_Windows清单

腾讯云CVM服务器的公共镜像是由腾讯云官方提供的镜像&#xff0c;公共镜像包含基础操作系统和腾讯云提供的初始化组件&#xff0c;公共镜像分为Windows和Linux两大类操作系统&#xff0c;如TencentOS Server、Windows Server、OpenCloudOS、CentOS Stream、CentOS、Ubuntu、Deb…

Python基础小项目

今天给大家写一期特别基础的Python小项目&#xff0c;欢迎大家支持&#xff0c;并给出自己的完善修改 &#xff08;因为我写的都是很基础的&#xff0c;运行速率不是很好的 目录 1. 地铁票价题目程序源码运行截图 2. 购物车题目程序源码运行截图 3. 名片管理器题目程序源码运行…

应用程序运行报错:First section must be [net] or [network]:No such file or directory

应用程序报错环境&#xff1a; 在linux下&#xff0c;调用darknet训练的模型&#xff0c;报错&#xff1a;First section must be [net] or [network]:No such file or directory&#xff0c;并提示&#xff1a;"./src/utils.c:256: error: Assertion 0 failed." 如…

GAMES101:作业1记录

主要记录一下GAMES101作业的记录和思考。 1 总览2. 代码编写get_model_matrix(float rotation_angle)get_projection_matrix(float eye_fov,float aspect_ratio,float zNear,f1 oat zFar)进阶代码 Eigen::Matrix4f get_model_matrix_anyaxis(Vector3f axis, float angle) 3. 其…

如何学习嵌入式软件开发?

首先就是认知和基础阶段的学习。这部分一般都是要求学习一些行业认知类的课程&#xff0c;指导嵌入式未来的发展前景和就业趋势&#xff0c;C语言的入门&#xff0c;开发工具的使用&#xff0c;常见的命令&#xff0c;数据结构算法等内容。这一部分主要的就是要靠记忆力&#x…

odoo-034 float 浮点数比较

文章目录 前提问题解决总结 前提 odoo 版本&#xff1a;13 python&#xff1a;3.6.9 问题 比较销售订单行中已送货跟已开票&#xff0c;在 tree 视图显示搜索后的结果。发现搜索条件为已送货 > 已开票时&#xff0c;结果中会包含已送货已开票的。 解决 把这两个值打印出…

【ARM 调试】如何从 crash 信息找出问题原因

一、问题背景 粉丝在进行 ARM-A 系列软件编程时遇到以下问题&#xff0c;串口打印这段日志后就重启了&#xff0c;粉丝求助问是什么原因&#xff1f; Unhandled Exception in EL3. x30 0x0000000000b99b84 x0 0x00000000179a25b0 x1 …

【LeetCode】1572.矩阵对角线元素的和

题目 给你一个正方形矩阵 mat&#xff0c;请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1&#xff1a; 输入&#xff1a;mat [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;25 解释&#xff1a;对角线的和为&a…

『向阳花赠书活动 | 第一期』《互联网广告系统:架构、算法与智能化》

大家好&#xff0c;我是向阳花&#xff0c;数据科学路上&#xff0c;与你同行。&#x1f680; 个人主页&#xff1a;向阳花个人主页 声明&#xff1a;赠书活动是博主与出版社达成合作&#xff0c;为粉丝专属福利&#xff0c;免费参与&#xff0c;非粉丝中奖不算&#xff01; 『…

Server - WandB 统计运行 Epoch 以及 手动上传日志

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132227253 WandB (Weights & Biases) 是在线的模型训练可视化工具&#xff0c;可以帮助跟踪机器学习项目&#xff0c;记录运行中的超参数和输…

yum仓库简介

yum仓库网络服务 一.yum仓库简介二.yum配置文件2.1yum主配置文件2.2仓库设置2.3日志文件 三.yum命令详解3.1查询软件包命令3.2查询软件包组命令3.3yum安装升级3.4软件卸载 四.搭建yum仓库4.1 http方式搭建仓库 一.yum仓库简介 yum是基于RPM包构建的软件更新机制&#xff0c;能够…

从初学者到专家:Java运算符的完整指南

目录 1.算数运算符 2.增量运算符 2.1自增/自减运算符 4. 逻辑运算符 5.位运算符 6.移位运算符 7. 条件运算符 导言&#xff1a; Java作为一门广泛使用的编程语言&#xff0c;其运算符是编写代码时必不可少的一部分。本篇博客将为你详细介绍Java中的各种运算符&#xf…

【AndV】ant-design-vue中select使用mode=“combobox“无效:

文章目录 一、问题:二、解决: 一、问题: Warning: [antdv: Select] The combobox mode of Select is deprecated,it will be removed in next major version,please use AutoComplete instead 二、解决: 将mode"combobox"改为mode"SECRET_COMBOBOX_MODE_DO_NOT_…