svc.fit(X=, y=, sample_weight=)理解这句代码

文章探讨了拟合、训练和学习在机器学习中的概念,它们是模型通过数据调整和优化的过程。拟合关注模型与数据的匹配,训练侧重参数调整,学习则指模型从数据中获取知识。三者虽常互换使用,但在不同上下文中有各自侧重。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fit的过程就是在将分类器拟合的过程


拟合和学习,训练是不是同一概念

拟合、训练和学习都可以被视为模型通过数据获取知识、调整自身以适应数据模式的过程。这些过程都涉及使用优化算法、损失函数和梯度下降等技术,以最小化预测误差并提高模型的预测能力。

尽管可以将这些术语视为同一概念,但有时也可以在特定上下文中将它们区分开来,以强调不同的方面或阶段。例如,拟合可能更强调将模型的输出与已知数据对齐的过程,训练可能更强调通过迭代优化来调整模型参数的过程,而学习可能更强调模型从数据中提取知识和模式的过程。

综上所述,拟合、训练和学习可以被视为相同的概念,但在特定的上下文中也可以从不同的角度加以区分和理解。

% ========== 训练阶段:统一预处理流程 ========== clc; clear; % ========== 参数配置 ========== test_dir = 'F:\dataset\test'; val_dir = 'F:\dataset\val'; save_dir = 'F:\results'; rows = 480; cols = 480; bands = 300; sg_params.window = 11; sg_params.order = 3; % ========== 加载训练数据 ========== roi_dir = 'F:\dataset_roi_masks'; [X_train, Y_train] = load_all_rois(roi_dir); if iscell(X_train), X_train = cell2mat(X_train); end X_train = double(X_train); % SG 滤波 X_train = apply_sg_filter(X_train, sg_params.window, sg_params.order); % 去除NaN nan_rows = any(isnan(X_train), 2); X_train(nan_rows, :) = []; Y_train(nan_rows, :) = []; % PCA:训练阶段只 fit 一次 [coeff, ~, latent, ~, explained, mu] = pca(X_train); cum_explained = cumsum(explained); num_pc = find(cum_explained >= 95, 1); X_train_pca = (X_train - mu) * coeff(:, 1:num_pc); num_pc = min(num_pc, 10); pca_coeff = coeff; pca_mu = mu; fprintf('选择主成分数 num_pc = %d,累计贡献率 = %.2f%%\n', num_pc, cum_explained(num_pc)); % 类别样本权重(平衡) num_0 = sum(Y_train == 0); num_1 = sum(Y_train == 1); weight_0 = length(Y_train) / (2 * num_0); weight_1 = length(Y_train) / (2 * num_1); sample_weights = zeros(size(Y_train)); sample_weights(Y_train == 0) = weight_0; sample_weights(Y_train == 1) = weight_1; % ========== SVM 训练 ========== C = 0.1; Gamma = 0.1; SVMModel = fitcsvm(X_train_pca, Y_train, ... 'KernelFunction', 'rbf', ... 'BoxConstraint', C, ... 'KernelScale', Gamma, ... 'Weights', sample_weights, ... 'Standardize', true, ... 'ClassNames', [0; 1]); fprintf('训练完成,支持向量数量: %d\n', size(SVMModel.SupportVectors, 1)); % 保存模型与参数 save('SVMModel.mat', 'SVMModel', 'pca_coeff', 'pca_mu', 'sg_params', 'num_pc'); % ========== 批量预测 ========== predict_folder(test_dir, SVMModel, rows, cols, bands, ... sg_params, pca_coeff, pca_mu, num_pc, save_dir, 'test_'); predict_folder(val_dir, SVMModel, rows, cols, bands, ... sg_params, pca_coeff, pca_mu, num_pc, save_dir, 'val_'); 分析代码
最新发布
06-25
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王摇摆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值