PLS、RF、CNN---Matlab实现

 1.设置训练验证集

% 设置随机种子

rng(39);

% 读取 Excel 文件

data = readtable('F:\07xiaolunwen\model\速效钾(筛选后.xlsx');

% 将第一列作为目标变量

target = data{:, 1};

% 其余列作为特征

features = data{:, 2:end};

% 计算特征的均值和标准差

means = mean(features);

stds = std(features);

% 创建一个矩阵,将均值和标准差合并

statsMatrix = [means; stds]; % 第一行是均值,第二行是标准差

% 转换为 double 类型

features_stats = double(statsMatrix);

target_mean = mean(target);

target_std = std(target);

% 使用 features_stats 对特征进行标准化

features_standardized = (double(features) - features_stats(1, :)) ./ features_stats(2, :);

% 划分训练集和测试集(例如,70% 训练集,30% 测试集)

cv = cvpartition(size(features, 1), 'HoldOut', 0.3);

X_train = features_standardized(training(cv), :);

X_test = features_standardized(test(cv), :);

y_train = (target(training(cv)) - target_mean) / target_std;

y_test = (target(test(cv)) - target_mean) / target_std;

2.训练随机森林模型

%% 1. 训练随机森林模型

rf_model = fitrensemble(X_train, y_train, ...

'Method', 'Bag', ... % 使用 Bagging 随机森林

'NumLearningCycles', 716); % 每棵树的最大分裂数

rf_predictions = predict(rf_model, X_test);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值