抢人饭碗了!推荐一款全自动的机器学习建模神器PyCaret

低代码机器学习库--Pycaret 目录 PyCaret2.3简介 PyCaret安装 PyCaret功能模块 一、数据初始化 1.设置数据集、标注目标值 2.训练集/测试集划分 3.数据预处理 4.类别型特征值处理 5.编码转换 6.数据标准化 7.数据转换 8.特征衍生 9.特征选择 10.样本平衡处理 二、模型训练 1.比较模型 2.创建模型 3.模型调参 4.模型融合 三、模型可视化分析 1.性能分析(plot_model) 2.解释性分析(interpret_model) 3.模型校准. 阅读详情

 Datawhale干货 

编译:张峰,Datawhale成员

寄语:PyCaret,是一款 Python中的开源低代码(low-code)机器学习库,支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率。

本文对PyCaret低代码库进行了简单介绍,并对其操作方法进行了详细的解读。现在,让我们一起来领略下:如何用仅仅几行代码搞定一个机器学习模型吧。

首发 PyCaret 1.0.0

我们很高兴能宣布PyCaret,这是一个使用Python的开源机器学习库,用于在Windows上训练和部署有监督和无监督的机器学习模型低码环境。通过PyCaret,您可以在选择笔记本电脑环境后的几秒钟内,从准备数据到部署模型。

与其他开源机器学习库相比,PyCaret是一个备用的低代码库,可用于仅用很少的单词替换数百行代码。这使得实验快速而有效地成指数增长。PyCaret本质上是Python的包装器,它围绕着多个机器学习库和框架,例如scikit-learn,XGBoost,Microsoft LightGBM,spaCy等。

PyCaret简单易用。在PyCaret中执行的所有操作都按顺序存储在完全协调部署的管道中,无论是估算缺失值、转换分类数据、进行特征工程亦或是进行超参数调整,PyCaret都能自动执行所有操作。要了解有关PyCaret的更多信息,请观看此1分钟的视频。

PyCaret入门

可以安装PyCaret的第一个稳定版本(PyCaret1.0.0)。使用命令行(command line)界面或笔记本(notebook)环境,运行下面的代码单元以安装PyCaret。

pip install pycaret
如果您使用的是Azure笔记本或Google Colab,请运行以下代码单元以安装PyCaret。

!pip install pycaret

当您安装PyCaret时,将自动安装所有依赖项。完整依赖项列表参照下方链接:

https://github.com/pycaret/pycaret/blob/master/requirements.txt


没有比这更容易????,现在来直观感受下PyCaret的强大。

分步教程????

1. 获取数据

在本次循序渐进的教程中,我们将使用“糖尿病”数据集,目标是根据血压,胰岛素水平,年龄等多种因素来预测患者结果。直接从存储库导入数据集的最简单方法是使用pycaret.datasets模块中的get_data函数。

PyCaret的github仓库:https://github.com/pycaret/pycaret

from pycaret.datasets import get_data
diabetes = get_data('diabetes')

????特别提醒: PyCaret可以直接与pandas数据框(dataframe)一起使用。

2. 搭建环境

PyCaret中任何机器学习实验的第一步都是通过导入所需的模块并初始化setup()来设置环境的。本示例中使用的模块是pycaret.classification。导入模块后,将通过定义数据框('diabetes')和目标变量('Class variable')来初始化setup()。

from pycaret.classification import *
exp1 = setup(diabetes, target = 'Class variable')

所有预处理步骤都在setup()中应用。PyCaret拥有20多种功能,可为机器学习准备数据,它会根据setup函数中定义的参数创建转换管道(transformation pipeline)。

它会自动编排管道(pipeline)中的所有依赖项,因此您不必手动管理对测试数据集或未知的数据集进行转换的顺序执行。PyCaret的管道可以轻松地在各种环境之间转移,以实现大规模运行或轻松部署到生产环境中。以下是PyCaret首次发布时可用的预处理功能。PyCaret的预处理能力如下图:

????特别提醒:当setup()初始化时,将自动执行机器学习必需的数据预处理步骤,例如缺失值插补,分类变量编码,标签编码(将yes或no转换为1或0)和训练、测试集拆分(train-test-split)。

3.比较模型

这是在有监督的机器学习实验(分类或回归)中建议的第一步。此功能训练模型库中的所有模型,并使用k倍交叉验证(默认10倍)比较通用评估指标。使用的评估指标是:

  • 分类:Accuracy(准确度),AUC,Recall(召回率),Precision(精确度),F1,Kappa

  • 回归:MAE,MSE,RMSE,R2,RMSLE,MAPE

compare_models()

????特别提醒:

  • 默认情况下,使用10倍交叉验证来评估指标。可以通过更改fold参数的值来更改它。

  • 默认情况下,表格按“准确度”(从最高到最低)排序。可以通过更改sort参数的值来更改。

4.创建模型

在PyCaret的任何模块中创建模型就像编写create_model一样简单。它仅接受一个参数,即作为字符串输入传递的模型名称。此函数返回具有k倍交叉验证分数和训练有素的模型对象的表格。

adaboost = create_model('ada')

变量“ adaboost”存储一个由create_model函数返回的经过训练的模型对象,该对象是scikit-learn评估器。可以通过在变量后使用点(.)来访问训练对象的原始属性。请参见下面的示例。

????特别提醒:ret具有60多个开源即用型(ready-to-use)算法。查看PyCaret中可用的估算器/模型的完整列表:https://www.pycaret.org/create-model

5.调整模型

tune_model功能用于机器学习模型的自动调整超参数。PyCaret 在预定义的搜索空间上使用随机网格搜索。此函数返回具有k倍交叉验证分数和训练有素的模型对象的表格。

tuned_adaboost = tune_model('ada')

????特别提醒:tune_model位于无监督模块,如函数pycaret.nlp,pycaret.clustering和pycaret.anomal可与监督模块结合使用。例如,PyCaret的NLP模块可用于通过监督ML模型(例如“准确度”或“ R2”)评估目标/成本函数来调整主题参数(topics parameter)的数量。

6.集成模型

ensemble_model功能用于ensembling训练的模型。它仅采用一个参数,即经过训练的模型对象。此函数返回具有k倍交叉验证得分和训练模型对象的表。

# creating a decision tree model
dt = create_model('dt')
# ensembling a trained dt model
dt_bagged = ensemble_model(dt)

????特别提醒:

  • 默认情况下,“Bagging”方法用于ensembling,可使用ensemble_model函数中的method参数将其更改为“Boosting” 。

  • PyCaret还提供blend_models和stack_models功能来集成多个训练过的模型。


7.显示模型

可以使用plot_model函数对经过训练的机器学习模型进行性能评估和诊断。它使用训练有素的模型对象和作图的类型作为plot_model函数中的字符串输入。

# create a model
adaboost = create_model('ada')
# AUC plot
plot_model(adaboost, plot = 'auc')
# Decision Boundary
plot_model(adaboost, plot = 'boundary')
# Precision Recall Curve
plot_model(adaboost, plot = 'pr')
# Validation Curve
plot_model(adaboost, plot = 'vc')

了解有关PyCaret中不同可视化的更多信息:https://www.pycaret.org/plot-model

或者,您可以使用评估模型(evaluate_model)函数通过botebook中的用户界面查看作图效果。

evaluate_model(adaboost)

????特别提醒: plot_model函数pycaret.nlp模块可用于显示文本语料库和语义主题模型。

8.解释模型

在现实生活中通常是这样,当数据之间的关系是非线性时,我们总是看到基于树的模型(tree-based )比简单的高斯模型(simple gaussian models)做得更好。但是,这是以失去可解释性为代价的,因为基于树的模型没有像线性模型那样提供简单的系数。PyCaret 使用interpret_model函数实现SHAP(SHapley Additive exPlanations)。

# create a model
xgboost = create_model('xgboost')
# summary plot
interpret_model(xgboost)
# correlation plot
interpret_model(xgboost, plot = 'correlation')

可以使用“plot = 'reason'”评估测试数据集中特定数据点(也称为原因自变量'reason argument')的解释。在下面的示例中,我们正在检查测试数据集中的第一个实例。

interpret_model(xgboost, plot = 'reason', observation = 0)

9.预测模型

到目前为止,我们看到的结果仅基于训练数据集的k倍交叉验证(默认为70%)。为了查看模型在test / hold-out上的预测和性能,使用了predict_model函数。

# create a model
rf = create_model('rf')
# predict test / hold-out dataset
rf_holdout_pred = predict_model(rf)

predict_model函数还用于预测未知的数据集。现在,我们将使用与训练时相同的数据集作为新的未知数据集的代理(proxy )。实际上,每次使用新的未知数据集时,predict_model函数将被迭代使用。
predictions = predict_model(rf, data = diabetes)

????特别提醒:

  • predict_model函数还可以预测使用stack_models和create_stacknet函数创建的模型的顺序链(sequential chain)。

  • predict_model函数还可以使用deploy_model函数直接从AWS S3上托管的模型进行预测。


10.部署模型

利用训练后的模型在未知数据集上生成预测的一种方法是:在训练过模型的同一notebooks / IDE中使用predict_model函数。但是,对未知数据集进行预测是一个迭代过程。根据用例,进行预测的频率可以是从实时预测到批量预测。PyCaret的deploy_model函数允许notebook环境在云端部署整个管道,包括经过训练的模型。

deploy_model(model = rf, model_name = 'rf_aws', platform = 'aws',authentication =  {'bucket'  : 'pycaret-test'})

11.保存模型/保存实验

训练完成后,包含所有预处理转换和训练后的模型对象的整个管道都可以保存为二进制pickle文件。

# creating model
adaboost = create_model('ada')
# saving model
save_model(adaboost, model_name = 'ada_for_deployment')

您还可以将包含所有中间输出的整个实验保存为一个二进制文件。
save_experiment(experiment_name = 'my_first_experiment')

????特别提醒:您可以使用PyCaret所有模块中可用的load_model和load_experiment函数加载保存的模型和保存的实验。

延伸阅读

【1】回归:https://pycaret.org/reg101/

【2】聚类:https://pycaret.org/clu101/

【3】异常检测:https://www.pycaret.org/anom101

【4】自然语言处理:https://pycaret.org/nlp101/

【5】关联规则挖掘:https://pycaret.org/arul101/

【6】预处理功能:https://www.pycaret.org/preprocessing

【7】模型列表:https://www.pycaret.org/create-model

【8】可视化信息:https://www.pycaret.org/plot-model


利用pycaret:低代码,自动化机器学习框架解决分类问题 之前我介绍了利用pycaret来解决回归问题的博客,有兴趣的朋友可以查看我之前的博客,今天我再来介绍一下关于使用pycaret来解决分类问题,首先我们还是来简单介绍一下pycaret框架的基础知识:PyCaret 是 Python 中的一个开源、低代码机器学习库,它可以自动执行机器学习工作流。它是一种端到端的机器学习和模型管理工具,它可成倍的提高您的工作效率。与其他开源机器学习库相比,PyCaret 是一个低代码的机器学习框架,可用于仅用几行代码替换您之前写的几百行代码。这使得开发过程以指数方式快速和高效。 阅读详情

相关推荐

pycaret的具体使用流程

PyCaret的具体使用流程 PyCaret是Python中的一个开源、低代码机器学习库,旨在减少从数据处理到模型部署的周期时间。PyCaret库只需几行代码就可以完成从准备数据到部署模型,其中包括有数据处理,模型训练,参数搜索,模型可解释性,模型选择,实验日志查询。 一、PyCaret安装 在使用pycaret库进行机器学习处理时,pycaret2.3要求scikit-learn在是0.22版,然而,在python3.7下没有找到相应匹配的版本。为避免安装不兼容,我首先尝试了将pycaret降级为2.0版

wxfu2010的博客 4951

Pycaret使用教程

文档链接:https://pycaret.org/setup/ 模块介绍: 1.数据导入 #Importing data using pandas import pandas as pd data = pd.read_csv('c:/path_to_data/file.csv’) #Loading data from pycaret from pycaret.datasets import get_data data = get_data('juice’) 2.导入模型模块 #

xudonglovedandan的博客 9603

model.evaluate函数详解

Keras:Keras是一个高层次的神经网络API,提供了一种简单且高效的方式来构建深度学习模型。其model.evaluate函数封装了模型的评估过程,具有简单易用、多指标支持和可扩展性的特点。TensorFlow:TensorFlow是一个开放源代码的深度学习框架,提供了丰富的功能和灵活性。在TensorFlow中,可以通过编写评估函数来评估模型,但相对于Keras的model.evaluate函数而言,代码量较多且相对繁琐。

泛红尘的博客 1万+

机器学习建模神器PyCaret已开源!提升效率,几行代码轻松搞定模型

Datawhale干货编译:张峰,Datawhale成员寄语:PyCaret,是一款 Python中的开源低代码(low-code)机器学习库,支持在「低代码」环境中训练和部署有监督...

Datawhale 8236

Pycaret-Multiclass-Classification:pycaret对多类目标变量的预测

Pycaret-多类分类 pycaret对多类目标变量的预测。

产业园区运营负责人如何精准对接企业技术需求与科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

10款2021年国外顶尖的lowcode开发平台

低代码开发平台是一种为用户提供图形界面进行编程的应用程序,通过这种方式我们可以非常快速地开发代码并减少传统的编程工作。这些工具通过减少手工编码的工作量来帮助快速开发代码。它们不仅有助于编码...

趣谈前端 2198

SC8F073单片机串口通信保姆级教程:从寄存器配置到完整收发Demo(附避坑指南)

本文详细解析了SC8F073单片机串口通信的寄存器配置与调试技巧,涵盖TXSTA、RCSTA和SPBRG寄存器的逐位设置,提供精确的波特率计算方法和工业级抗干扰策略。通过完整的收发Demo和避坑指南,帮助开发者快速掌握底层串口通信技术,适用于工业控制等严苛环境。

weixin_33724046的博客 486

工具系列:PyCaret介绍_二分类模型

setup函数在 PyCaret 中初始化实验,并根据传入函数的所有参数创建转换流水线。在执行任何其他函数之前,必须调用setup函数。data和target。所有其他参数都是可选的,用于配置数据预处理流水线。# 使用setup函数对数据进行预处理和设置# 参数data表示要处理的数据# 参数target表示目标变量的名称,即要预测的变量# 参数session_id表示设置的会话ID,用于重现结果要访问由设置函数创建的所有变量,例如转换后的数据集、随机状态等,您可以使用get_config方法。

数智笔记 1807

欧姆龙485通讯示例程序_【精品实验】PLC学习神器与温湿度变送器的通讯

BFH点击蓝字关注我们↑↑↑↑  PLC学习神器提供RS485接口,可支持无协议RS指令、无协议RS2指令、Modbus通讯功能,可通过设置通讯格式改变通讯协议,RS485对应的通讯格式地址是D8400;  本案例以RS485接口与温湿度变送器通讯,通讯格式如下一温湿度变送器的说明书介绍1.1主要技术参数1.2 通讯协议 1、所有通讯回路都应遵照主/从方式。依照主从方式,数据可以在一个主...

weixin_39860201的博客 1万+

vmware vsphere5---部署vCSA(VMware vCenter Server)附带第二阶段安装报错解决方案

因为这份文档我是边做边写的,遇到问题重新装了好几次所以IP会很乱ESXI主机为192.168.20.10VCSA为192.168.20.7,后台为192.168.20.7:5480后期请自行对应,后面的192.168.20.57请对应192.168.20.7,或根据自己的来。

m0_70212665的博客 5715

太赞了!分享一个数据科学利器 PyCaret,几行代码搞定从数据处理到模型部署

作者:xiaoyu,数据爱好者 Python数据科学出品 学习数据科学很久了,从数据探索、数据预处理、数据模型搭建和部署这些过程一直有些重复性的工作比较浪费时间,尤其当你有个新的想法想要快速尝试下效果的时候,效率很低。 东哥最近发现一个开源的Python机器学习库,名字叫PyCaret,这个轮子正好可以为了解决我刚才所描述的困扰,它的特点是以low-code低代码量来快速解决从数据预处理到模型部署的整个流程。 用了一下感觉确实有点香,因此也和大家分享一下。 PyCaret是什么? PyCaret是一个.

Python数据科学 3215

STM32G4实战:用CubeMX+Keil五分钟搞定FreeRTOS多任务LED控制(避坑指南)

本文详细介绍了如何在STM32G4系列芯片上使用CubeMX和Keil快速配置FreeRTOS实现多任务LED控制,包括环境准备、时钟配置、任务创建及常见问题解决方案。重点解决了时钟源冲突等高频问题,并提供了优化建议和进阶应用示例,帮助开发者高效完成嵌入式开发任务。

joy55的博客 225

低代码平台开发 python_GitHub - steedos/awesome-low-code: Awesome Low-Code Application Platforms | 全球低代码平台开发...

Awesome Low-Code Application Platforms | 全球低代码平台开发资源大全收集整理全球最好的低代码开发平台,以及相关的开发资源。LeadersSalesforce Platform: The Salesforce Platform empowers developers to quickly build and deploy trusted cloud appli...

weixin_39963174的博客 696

Anthropic发布10款金融AI智能体模板深度解析:重构华尔街工作范式

摘要:2026年5月,Anthropic发布10款金融AI智能体模板,标志着AI从辅助工具升级为"虚拟同事"。这些智能体深度集成到Word、Excel等办公软件中,覆盖投行、商行、资管三大场景的核心工作流,预计可提升效率35-85%。技术架构基于Claude3.5Sonnet模型,具备200K上下文窗口和95%+的财务图表解析准确率,并与彭博等金融数据源直连。发布引发传统金融数据服务商股价下跌,摩根大通等机构则视其为成本优化工具。落地需分四阶段推进,关键在于数据治理和复合型人才培养。未来

yyq916的博客 635

工业仪表读数识别:YOLO目标检测 + OCR混合方案实战

仪表整体(meter):粗定位整只仪表,用于快速裁剪、排除背景干扰表盘区域(dial):精确的圆形/方形表盘区域,用于后续矫正和读数数字区域(display)/指针(pointer):数显表定位数码管区域,指针表可辅助定位指针为什么要分三级?因为现场仪表安装角度、距离、光照差异极大。先粗检再精检,比一步到位的准确率高很多,也方便后续做透视变换。工业仪表读数识别,技术路线的选择比算法精度更重要。选对了路线,事半功倍;选错了,怎么调都达不到验收标准。几条落地建议:指针表优先传统算法。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 96

工具系列:PyCaret介绍_多分类代码示例

这个函数在PyCaret中初始化实验,并根据传入函数的所有参数创建转换流水线。在执行任何其他函数之前,必须调用设置函数。data和target。所有其他参数都是可选的,并用于配置数据预处理流水线。# 设置数据集和目标变量# data: 数据集# target: 目标变量,即要预测的变量# session_id: 用于重现实验结果的随机种子要访问由设置函数创建的所有变量,例如转换后的数据集、随机状态等,您可以使用get_config方法。# 获取所有可用的配置信息 get_config()

数智笔记 3656

[特殊字符] 从零构建携程/飞猪机票价格爬虫:Python异步抓取与反爬对抗实战

在出行决策、竞品分析、价格预测模型训练等场景中,稳定获取携程(Ctrip)和飞猪(Fliggy)的实时机票价格波动数据是刚需。然而,这两大平台均部署了业界顶尖的反爬体系——包括但不限于:动态请求签名(SignToken设备指纹采集(UACanvasWebGL接口参数加密(X-Sign_abtestcookie混淆)频率限制与 IP 封禁(滑动窗口 + 行为检测)目录前言:为什么需要自建机票价格爬虫?一、技术选型与项目架构1.1 核心技术栈1.2 系统架构图(文字描述)1.3 法律与道德声明。

2201_76125261的博客 341

8个提高数据科学效率的 Python库!

你为什么要合并在一起?当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。这种不同的方法意味着它不是无意义的地尝试每一个值,而是在尝试之前寻找最佳候选者,这样可以节省时间,否则这些时间会花在尝试没有希望的替代品上(并且可能也会产生更好的结果)。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

weixin_67991858的博客 167

微信小程序 - 解决报错 {“errcode“:41002,“errmsg“:“appid missing, rid: X“} 微信报错错误码errcode“:41002问题分析及解决教程(详细排查)

【微信小程序】报错{“errcode“:41002,“errmsg“:“appid missing, rid: 64e55770-67c1fb7e-027c5a70“}:【微信小程序】微信小程序登录请求出现appid missing提示,微信公众号{"errcode":41002,"errmsg":"appid missing"},微信 报错{“errcode“:41002,“errmsg“:“appid missing,微信小程序获取openid返回appid missing的问题,微信小程序提示Erro

🏆 前端领域优质创作者 5661

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

pip升级不可以使用总是报错cannot import name 'FormatControl',解决办法

(emotion) G:\shiyan\sencond_Dimensional\Facial-emotion-Recognition-master>pip3 list Traceback (most recent call last): File "F:\anaconda\envs\emotion\Scripts\pip3-script.py", line 11, in <modu...

weixin_43506858的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

七个开源免费的低代码/无代码后端项目

无代码/低代码系统是一种用于支持开发人员在不编写代码的情况下构建应用程序或者管理数据库的平台或工具。这类系统提供了可视化界面和预构建组件,使开发人员能够设计和创建API、管理数据和配置应用程序逻辑,无需进行传统模式的编程。

Z__7Gk的博客 8153

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Python 可视化 web 神器:websim 、streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO

Streamlit 是Python可视化 web 神器 ,是一个开箱即用的工具集,可以让开发者免于学习繁杂的前端知识,仅需几行代码就可以轻松、快速的构建一个简洁、优雅、令人惊叹的可视化 web app 应用。用于机器学习、数据可视化。当快速搭建一个 web app 的时候 Streamlit 绝对是开发神器。

freeking101的博客 2万+

GitHub 上适合新手的开源项目(Python 篇)

作者:HelloGitHub-卤蛋 随着 Python 语言的流行,越来越多的人加入到了 Python 的大家庭中。为什么这么多人学 Python ?我要喊出那句话了:“人生苦短,我用 Python!”,正是因为语法简单、容易学习,所以 Python 深受大家喜爱。(Python!Python!Python!) Python 初学者在迈过安装编程环境和基本语法的门槛 ,准备大展身手的时候,可能突然就会进入迷茫期:不知道做些什么、再学些什么。然后对编程的兴趣就会慢慢消退,找不到坚持下去的理由,从而慢慢淡忘之.

HelloGitHub 的博客 1万+

利用pycaret:低代码,自动化机器学习框架解决回归问题

PyCaret 是 Python 中的一个开源、低代码机器学习库,可自动执行机器学习工作流。它是一种端到端的机器学习和模型管理工具,可成倍的提高您的工作效率。与其他开源机器学习库相比,PyCaret 是一个低代码的机器学习框架,可用于仅用几行代码替换数百行代码。这使得开发过程以指数方式快速和高效。PyCaret 本质上是几个机器学习库和框架的 Python 包装器,例如 scikit-learn、XGBoost、LightGBM、CatBoost、spaCy、Optuna、Hyperopt、Ray 等...

weixin_42608414的博客 3930
上一篇: 深度学习的多个 loss 是如何平衡的?
下一篇: 干货 | 深度学习检测小目标常用方法
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值