【MATLAB第86期】基于matlab的Catboost多输入单输出分类预测模型 catboost-1.1.1版本

2023-12-27 10:15

本文主要是介绍【MATLAB第86期】基于matlab的Catboost多输入单输出分类预测模型 catboost-1.1.1版本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于matlab的Catboost多输入单输出分类预测模型 catboost-1.1.1版本

运行环境

windows10 matlab2020a
catboost版本:catboost-1.1.1
往期:
【MATLAB第20期】基于matlab的Catboost多输入单输出回归预测模型 catboost-1.1.1版本

一、导入数据

采用12输入,1输出,4分类,共357组数据,其中240个数据训练,117个数据测试。

%%  导入数据
res = xlsread('分类数据集.xlsx');%%  划分训练集和测试集
temp = randperm(357);
train_num=240;% 训练数量P_train = res(temp(1: train_num), 1: 12)';
T_train = res(temp(1: train_num), 13)';
M = size(P_train, 2);P_test = res(temp(train_num+1: end), 1: 12)';
T_test = res(temp(train_num+1: end), 13)';
N = size(P_test, 2);

二、数据归一化

%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test  = mapminmax('apply', P_test, ps_input);

三、建立catboost模型

fit1=table(Ypred1,'VariableNames',{'RawFormulaVal'});
fit2=table(Ypred2,'VariableNames',{'RawFormulaVal'});writetable(fit1,'fit1.txt');
writetable(CD,'trainlabel.txt');
writetable(traindata,'traindata.txt');
command1 = 'catboost-1.1.1.exe fit % Catboost训练集拟合fit函数创建
status1 = system(command1)writetable(fit2,'fit2.txt');
writetable(CD,'testlabel.txt');
writetable(testdata,'testdata.txt');
command2 = 'catboost-1.1.1.exe fit % Catboost测试集拟合fit函数创建
status2 = system(command2)

Catboost常见参数设置

%params={"iterations":43, %迭代次数%"learning_rate":.001,%初始学习率%"cat_features":cat_feature,%  "depth":8,% "verbose":50,% "od_type":"Iter",#overfit detector.%"od_wait":50,%"eval_metric":"AUC",% "random_seed":SEED}

四、预测仿真

Catboost模型将非线性回归的拟合结果进行预测拟合,得到残差值(预测结果-非线性回归拟合)

Pred1=A1.RawFormulaVal;% Catboost训练集残差拟合结果
Pred1=Ypred1+Pred1;%Catboost训练集预测结果
YPRED1 = round(Pred1); %回归结果转分类结果
Y1=T_train;Pred2=A2.RawFormulaVal;% Catboost测试集残差拟合结果
Pred2=Ypred2+Pred2;%Catboost测试集预测结果
YPRED2 =round(Pred2);%回归结果转分类结果
Y2=T_test;

五、分类结果修正

因回归代码改分类,round函数转分类结果时,标签可能会新增,则需要通过代码进行判定,对错误结果进行修正。此处代码略。

六、预测结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、代码下载链接获取

后台私聊回复“第86期”可获取下载链接。限制获取,仅针对“第20期”客户。

这篇关于【MATLAB第86期】基于matlab的Catboost多输入单输出分类预测模型 catboost-1.1.1版本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/542783

相关文章

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

使用TomCat,service输出台出现乱码的解决

《使用TomCat,service输出台出现乱码的解决》本文介绍了解决Tomcat服务输出台中文乱码问题的两种方法,第一种方法是修改`logging.properties`文件中的`prefix`和`... 目录使用TomCat,service输出台出现乱码问题1解决方案问题2解决方案总结使用TomCat,

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe