ML之XGBoost:基于泰坦尼克号数据集(填充/标签编码/推理数据再处理)利用XGBoost算法(json文件的模型导出和载入推理)实现二分类预测应用案例

news/2024/12/2 15:39:55/

ML之XGBoost:基于泰坦尼克号数据集(填充/标签编码/推理数据再处理)利用XGBoost算法(json文件的模型导出和载入推理)实现二分类预测应用案例

目录

基于泰坦尼克号数据集(独热编码/标签编码)利用XGBoost算法(json文件的模型导出和载入推理)实现二分类预测应用案例

# 1、定义数据集

# 2、数据预处理

# 2.1、缺失值填充

# 2.2、构造特征

# 2.3、特征编码

# 2.4、分离特征与标签

# 3、模型训练与评估

# 3.1、数据集划分为训练集和测试集

# 3.2、模型训练与评估

# 3.3、模型导出为JSON文件

# 获取模型的参数

# 4、模型推理

# 4.1、载入模型文件

# 4.2、创建模型并载入模型jason参数

# 4.3、模型推理

# 4.3.1、加载一条新样本

# 4.3.2、预处理新样本数据

# 4.3.3、基于json文件需要模型再训练,然后推理预测


相关文章
ML之XGBoost:基于泰坦尼克号数据集(填充/标签编码/推理数据再处理)利用XGBoost算法(json文件的模型导出和载入推理)实现二分类预测应用案例
ML之XGBoost:基于泰坦尼克号数据集(填充/标签编码/推理数据再处理)利用XGBoost算法(json文件的模型导出和载入推理)实现二分类预测应用案例实现代码

基于泰坦尼克号数据集(独热编码/标签编码)利用XGBoost算法(json文件的模型导出和载入推理)实现二分类预测应用案例

# 1、定义数据集

RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):#   Column       Non-Null Count  Dtype  
---  ------       --------------  -----  0   PassengerId  891 non-null    int64  1   Survived     891 non-null    int64  2   Pclass       891 non-null    int64  3   Name         891 non-null    object 4   Sex          891 non-null    object 5   Age          714 non-null    float646   SibSp        891 non-null    int64  7   Parch        891 non-null    int64  8   Ticket       891 non-null    object 9   Fare         891 non-null    float6410  Cabin        204 non-null    object 11  Embarked     889 non-null    object 
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB
NonePassengerId  Survived  Pclass  ...     Fare Cabin  Embarked
0            1         0       3  ...   7.2500   NaN         S
1            2         1       1  ...  71.2833   C85         C
2            3         1       3  ...   7.9250   NaN         S
3            4         1       1  ...  53.1000  C123         S
4            5         0       3  ...   8.0500   NaN         S[5 rows x 12 columns]5

# 2、数据预处理

# 2.1、缺失值填充

# 2.2、构造特征

after fillna and FE
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 10 columns):#   Column      Non-Null Count  Dtype  
---  ------      --------------  -----  0   Survived    891 non-null    int64  1   Pclass      891 non-null    int64  2   Sex         891 non-null    object 3   Age         891 non-null    float644   SibSp       891 non-null    int64  5   Parch       891 non-null    int64  6   Fare        891 non-null    float647   Embarked    891 non-null    object 8   FamilySize  891 non-null    int64  9   IsAlone     891 non-null    int32  
dtypes: float64(2), int32(1), int64(5), object(2)
memory usage: 66.3+ KB
None

# 2.3、特征编码

after LabelEncoder
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 10 columns):#   Column      Non-Null Count  Dtype  
---  ------      --------------  -----  0   Survived    891 non-null    int64  1   Pclass      891 non-null    int64  2   Sex         891 non-null    int32  3   Age         891 non-null    float644   SibSp       891 non-null    int64  5   Parch       891 non-null    int64  6   Fare        891 non-null    float647   Embarked    891 non-null    int32  8   FamilySize  891 non-null    int64  9   IsAlone     891 non-null    int32  
dtypes: float64(2), int32(3), int64(5)
memory usage: 59.3 KB
None

# 2.4、分离特征与标签

# 3、模型训练与评估

# 3.1、数据集划分为训练集和测试集

# 3.2、模型训练与评估

XGBoost
Accuracy:  0.8435754189944135
F1:  0.7812500000000001
AUC:  0.8275978407557355
XGBoost 0.8435754189944135 0.7812500000000001 0.8275978407557355
ACCF1AUC
XGBoost0.8324022350.7656250.815519568
XGBoost+FamilySize0.8435754190.781250.827597841
XGBoost+FamilySize+IsAlone0.8435754190.781250.827597841

# 3.3、模型导出为JSON文件

# 获取模型的参数

model.json {'objective': 'binary:logistic', 'use_label_encoder': None, 'base_score': None, 'booster': None, 'callbacks': None, 'colsample_bylevel': None, 'colsample_bynode': None, 'colsample_bytree': None, 'early_stopping_rounds': None, 'enable_categorical': False, 'eval_metric': None, 'feature_types': None, 'gamma': None, 'gpu_id': None, 'grow_policy': None, 'importance_type': None, 'interaction_constraints': None, 'learning_rate': None, 'max_bin': None, 'max_cat_threshold': None, 'max_cat_to_onehot': None, 'max_delta_step': None, 'max_depth': None, 'max_leaves': None, 'min_child_weight': None, 'missing': nan, 'monotone_constraints': None, 'n_estimators': 100, 'n_jobs': None, 'num_parallel_tree': None, 'predictor': None, 'random_state': None, 'reg_alpha': None, 'reg_lambda': None, 'sampling_method': None, 'scale_pos_weight': None, 'subsample': None, 'tree_method': None, 'validate_parameters': None, 'verbosity': None}

# 4、模型推理

# 4.1、载入模型文件

# 4.2、创建模型并载入模型jason参数

# 4.3、模型推理

# 4.3.1、加载一条新样本

# 4.3.2、预处理新样本数据

raw test dataPclass   Sex  Age  SibSp  Parch  Fare Embarked  FamilySize  IsAlone
0       3  male   25      1      0  7.25        S           2        0
test data after LabelEncoderPclass  Sex  Age  SibSp  Parch  Fare  Embarked  FamilySize  IsAlone
0       3    0   25      1      0  7.25         0           2        0

# 4.3.3、基于json文件需要模型再训练,然后推理预测

Model Reasoning Pclass  Sex  Age  SibSp  Parch  Fare  Embarked  FamilySize  IsAlone
0       3    0   25      1      0  7.25         0           2        0
推理结果: [0]


http://www.ppmy.cn/news/79487.html

相关文章

数据可视化是什么?怎么做?看这篇文章就够了

数据可视化是什么 数据可视化主要旨在借助于图形化手段&#xff0c;清晰有效地传达与沟通信息。也就是说可视化的存在是为了帮助我们更好的去传递信息。 我们需要对我们现有的数据进行分析&#xff0c;得出自己的结论&#xff0c;明确要表达的信息和主题&#xff08;即你通过…

【软件测试】5年测试老鸟总结,自动化测试成功实施,你应该知道的...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 自动化测试 Pytho…

MicroBlaze系列教程(9):xilisf串行Flash驱动库的使用

文章目录 1. xilisf库简介2. xilisf库函数3. xilisf配置4. xilisf应用示例工程下载本文是Xilinx MicroBlaze系列教程的第9篇文章。 1. xilisf库简介 xilisf库(Xilinx In-system and Serial Flash Library) 是Xilinx 提供的一款串行Flash驱动库,支持常用的 Atmel 、Intel、S…

Go学习圣经:队列削峰+批量写入 超高并发原理和实操

说在前面&#xff1a; 本文是《Go学习圣经》 的第二部分。 第一部分请参见&#xff1a;Go学习圣经&#xff1a;0基础精通GO开发与高并发架构&#xff08;1&#xff09; 现在拿到offer超级难&#xff0c;甚至连面试电话&#xff0c;一个都搞不到。 尼恩的技术社群中&#xf…

web功能测试方法大全—完整!全面!(纯干货,建议收藏哦~)

本文通过六个部分为大家梳理了web功能测试过程中&#xff0c;容易出现的遗漏的部分&#xff0c;用以发掘自己工作中的疏漏。&#xff08;纯干货&#xff0c;建议收藏哦~&#xff09; 一、输入框 1、字符型输入框 2、数值型输入框 3、日期型输入框 4、信息重复 在一些需要命…

Spring IOC - Bean的初始化

在bean的初始化阶段&#xff0c;bean已经被实例化及属性填充了&#xff0c;此时的bean已相对成熟&#xff0c;接下来的初始化阶段还会做一些额外的工作对bean做进一步处理&#xff0c;主要包括以下四个方面&#xff1a; 调用aware接口方法 初始化前&#xff1a;调用初始化前的…

人人都能看懂的Spring源码解析,Spring声明式事务关于传播特性、事务挂起与恢复的处理

人人都能看懂的Spring源码解析&#xff0c;Spring声明式事务关于传播特性、事务挂起与恢复的处理 原理解析AbstractPlatformTransactionManager事务传播特性事务挂起与恢复通过DataSourceTransactionManager看事务挂起和恢复的具体实现 代码走读总结 往期文章&#xff1a; 人人…

【图像处理】CCL算法--二值图的连通域提取

https://en.wikipedia.org/wiki/Connected-component_labeling 目录 一、说明 二、连通性是拓扑模型 2.1 拓扑连通定义 2.2 道路连通