机器学习40:超参数选择方法

Python 机器学习:超参数调优 超参数(hyper parameters)就是机器学习或深度学习算法中需要预先设置的参数,这些参数不是通过训练数据学习到的参数;原始算法一般只给出超参数的取值范围和含义,根据不同的应用场景,同一个算法的同一超参数设置也不同。那超参数应该如何设置呢?似乎没有捷径,去尝试不同的取值,比较不同的结果取最好的结果。本文整理了不同的尝试方法,如下:GridSearch贝叶斯优化(Bayesian optimization)本文介绍三种超参数优化的策略,希望对你有帮助。 阅读详情

摘要

        本文介绍了机器学习中两种重要的超参数优化技术:交叉验证与网格搜索。交叉验证通过将数据集划分为多个互斥子集,轮流作为验证集进行多次训练与评估,以获得更稳定的模型性能估计。网格搜索则通过穷举预设的超参数组合,系统性地寻找最优参数配置。文章进一步阐述了将两者结合使用的优势,并通过鸢尾花数据集上的KNN分类案例,演示了GridSearchCV API的具体用法,包括最优参数输出与模型评估。这些方法为提升模型泛化能力和调参效率提供了可靠工具。

Abstract

        This article introduces two important hyperparameter optimization techniques in machine learning: cross-validation and grid search. Cross-validation provides more stable model performance estimates by partitioning the dataset into multiple mutually exclusive subsets and using each in turn as a validation set for training and evaluation. Grid search systematically finds optimal parameter configurations by exhaustively searching over a predefined set of hyperparameter combinations. The article further explains the advantages of combining these two methods and demonstrates the use of the GridSearchCV API through a KNN classification case study on the Iris dataset, including optimal parameter output and model evaluation. These methods provide reliable tools for improving model generalization and tuning efficiency.

一.交叉验证(Cross-Validation)

1.交叉验证原理

informer中的超参数调优 阅读详情

相关推荐

机器学习40讲-12:正则化处理收缩方法与边际化

那么利用训练数据$\bf y$估计测试数据$y^*$时,输出的预计分布(predictive distribution)就可以写成以下的条件概率$$p(y^* | {\bf y}, \alpha, \sigma ^ 2)$$$$= \int p(y^* | {\bfw}, \sigma ^ 2) p({\bfw} | {\bf y}, \alpha, \sigma ^ 2) {\rmd}{\bfw}$$在这个式子中,$\alpha$和$\sigma ^ 2$都是独立于训练数据的超参数。

了解➔熟悉➔掌握➔精通 471

机器学习40讲-07:模型的验证方法

上图就是一个典型的过拟合例子:黑点代表的离散数据可以看成是满足线性关系的原始数据和随机噪声的叠加,受噪声的影响,即使是生成数据的直线也不能完全拟合数据,总归存在一定的残留误差。定性而论,模型在训练集上的精度不能太低。做老师的都知道,一次考试中的学生成绩应该是近似满足正态分布的,所以在评估教学效果时,学生样本的构成就至关重要:如果选的都是成绩较好的学生,那他们在自习室自学的效果可能还比上课更好;由于每一轮中选择的验证集都互不相同,每一轮验证得到的结果也是不同的,$k$个结果的均值就是对泛化性能的最终估计值。

了解➔熟悉➔掌握➔精通 942

机器学习40讲-09:实验设计

这个假设在实际的学习任务中显然并不总是成立的,埃塞姆·阿帕丁(Ethem Alpaydin)在他的《机器学习导论》(Introduction to Machine Learning, 3rd Edition)中提到,在主成分分析的预处理与$K$近邻分类的级联算法中,主成分数目的每个选择都给后面的$K$近邻定义出一个全新的输入空间,这会使$K$近邻的最优超参数出现变化——在10维输入中计算出的最优近邻数目未必适用于15维的输入。机器学习的目标是模拟数据的内在生成机制,取得较低的泛化误差和较强的预测精度。

了解➔熟悉➔掌握➔精通 370

元启发式算法新星:PO在机器学习超参数调优中的实战评测

本文深入评测了元启发式算法新星——美洲狮优化算法(PO)在机器学习超参数调优中的实战表现。通过对比实验证明,PO算法凭借独特的相变机制和动态平衡策略,在CNN和LSTM任务中显著提升模型性能,同时大幅降低调优时间。文章还提供了MATLAB/Python实现差异分析和工程落地中的关键技巧。

weixin_29081163的博客 564

GAPSO-LSTM:遗传粒子群优化算法优化LSTM超参数的数据回归预测方法

例如,我们可以用GAPSO-LSTM对某一行业的多个产品进行超参数优化,然后进行数据回归预测,以此来提高产品的质量和竞争力。在数据回归预测方面,GAPSO-LSTM展现出显著的优势。通过串行操作,GAPSO-LSTM可以在多个维度上寻找到最优的超参数组合,从而提高回归预测的准确性。GAPSO-LSTM,即遗传粒子群优化算法优化LSTM的超参数做数据回归预测,多输入单输出,预测精度高于PSO-LSTM,算法原理为串行GAPSO,PSO的寻优结果再引入高斯变异和个体杂交,可以解决PSO容易陷入局部最优的问题。

sJHmXFltTNL的博客 1029

损失函数与优化器:从「梯度是怎么被造出来的」到「梯度是怎么被用掉的」

本文揭示损失函数与优化器本质一体:优化器仅依赖损失产生的梯度,而损失决定梯度的方向、尺度与噪声特性。错误的损失选择(如分类用MSE)会导致梯度失衡,使优化器失效;不同损失(如Huber、Focal)通过调控梯度分布影响优化过程。实测表明,归约方式、标签结构与损失配对直接决定梯度行为,进而影响收敛性与泛化。核心观点:选对损失,才是让优化器“看得懂”的前提。

reset2021的博客 317

随机森林算法的超参数调优策略

随机森林(Random Forest)是一种基于决策树的集成学习算法,通过构建多棵决策树并将它们的预测结果进行组合来实现分类或回归任务。随机森林具有较高的准确性、鲁棒性和泛化能力,广泛应用于各个领域。随机森林算法凭借其优异的性能和鲁棒性,已成为机器学习领域的重要工具之一。算法改进:如何进一步提高随机森林的性能和效率,如何更好地处理高维、稀疏、不平衡等复杂数据超参数优化:如何更高效、自动化地搜索最优超参数组合,如何权衡计算成本和模型性能。

AI天才研究院 2183

C#上位机+AI落地3步走:从ML.NET建模到PLC缺陷检测,缺陷率降40%的实战手记

摘要:工业AI落地实战——C#+ML.NET实现电机轴承缺陷检测与PLC联动控制 针对传统人工巡检效率低下的问题,本文提出基于C#上位机和ML.NET框架的工业AI解决方案。通过振动传感器与PLC数据采集,采用小样本增强和特征工程(如振动比值)提升模型准确率至92.5%。ML.NET的AutoML功能实现10秒快速训练,缺陷检出率达88%。系统集成PredictionEngine实现100ms级实时预测,并通过多线程处理实现PLC数据采集、AI判断与UI显示的同步运行。最终将电机不良品率从8%降至4.8%,

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 877

22、机器学习模型的超参数优化与实践

本文介绍了机器学习模型开发过程中常见的过拟合问题及其解决方法,并重点探讨了使用PyTorch Lightning框架和Optuna进行超参数优化的实践方法。通过重构模型实现、引入日志框架、优化超参数配置(如学习率、优化器、隐藏层结构等),以及应用批量归一化技术,可以显著提升模型的性能和泛化能力。文章还展示了完整的DC出租车模型实现代码,并分析了不同超参数对模型训练的影响,为读者提供了一套系统的超参数优化解决方案。

rgv234567的博客 97

40、数据工程与机器学习实战

本文深入探讨了机器学习中的关键实践技术,涵盖多模型评估与选择、基于F1分数的性能比较,重点分析了Gradient boosting模型的优势。文章详细介绍了超参数调优的网格搜索方法及其在SVM模型中的应用,并展示了如何使用Scikit-Learn的GridSearchCV提升模型表现。同时,阐述了K折交叉验证的原理与优势,强调其在小数据集上充分利用数据的能力。此外,博文还总结了监督与无监督学习、分类与回归的应用场景判断,并以自动驾驶和线性回归为例说明实际问题中的机器学习建模思路,提供了系统的知识框架与实践建

w1x2y3的博客 55

15、SHMEM-ML与OpenSHMEM扩展:高效机器学习与任务编程的新探索

本文介绍了SHMEM-ML与OpenSHMEM主动消息扩展的最新研究成果。SHMEM-ML利用OpenSHMEM技术显著加速了Scikit-Learn和TensorFlow的机器学习工作流,在单节点和多节点环境下均实现了大幅性能提升。同时,OpenSHMEM的主动消息(AM)扩展为任务编程模型提供了轻量级支持,增强了其在现代高性能计算中的任务调度和负载平衡能力。文章详细分析了技术实现、性能评估以及未来发展方向,为高效机器学习与并行计算提供了新的解决方案。

rgv23456789的博客 79

40、基于BYY学习的核CMAC优化与最近源选择方法

本博文探讨了两个重要的研究方向:一是基于贝叶斯阴阳(BYY)学习的核CMAC(KCMAC)优化,通过系统调优超参数提高模型的建模能力和稳定性;二是利用独立向量分析(IVA)和混合通道特性进行最近源选择,为信号处理中的目标源选择提供有效解决方案。详细介绍了KCMAC-BYY的技术流程和IVA在最近源选择中的应用,并通过实验验证了方法的有效性。最后,总结了两种方法的技术流程、应用场景及未来发展趋势。

m9n0o的博客 93

16、机器学习中的超参数调优与深度学习网络架构优化

本文探讨了在机器学习中利用遗传算法进行超参数调优和深度学习网络架构优化的方法。首先,以 Wine 数据集和 AdaBoost 分类器为例,比较了传统网格搜索、遗传算法驱动的网格搜索以及直接遗传方法在超参数调优上的性能表现,结果显示直接遗传方法能够找到更优的超参数组合,显著提高分类准确率。随后,文章介绍了如何利用遗传算法对基于多层感知器(MLP)的深度学习模型进行网络架构和超参数的综合优化,并通过代码示例展示了实现流程。最后,推荐了一些基于遗传算法的优化库,如 sklearn-genetic-opt 和 TP

q5r6s7的博客 73

40、机器学习助力激发态非绝热分子动力学模拟

本博文探讨了机器学习在激发态非绝热分子动力学模拟中的应用,重点介绍了两种结合机器学习的方法:HEOM和TSH。通过使用机器学习模型替代传统高计算成本的方法,显著提高了模拟效率,同时讨论了当前面临的挑战及未来发展方向,如探索ML失败原因、降低训练数据成本和构建通用模型。

motor的博客 131

40、产品与电影推荐及机器学习模型优化

本文探讨了机器学习在产品与电影推荐中的应用,重点分析了如何整合文本与行为数据,并利用奇异值分解(SVD)进行数据降维和协同过滤推荐。同时,文章系统介绍了机器学习模型优化的关键方法,包括学习曲线分析、交叉验证的正确使用、误差或评分指标的选择以及超参数搜索策略。通过MovieLens数据集和逻辑回归模型的实际案例,展示了SVD推荐系统构建流程和模型性能提升路径。最后总结了各优化方法的适用场景,并展望了深度学习与高效算法在未来推荐系统中的潜力。

kk1234的博客 54

Autoware1.14-摄像头目标检测YOLO-V3

在Autoware1.14中部署YOLOV3

weixin_43687753的博客 3139

STM32F407 HAL库定时器触发ADC采集与DMA数据传输(定时器TIM+ADC+DMA)

在STM32F407系列微控制器的开发中,结合定时器、ADC(模数转换器)与DMA(直接存储器访问)控制器,能够显著提升数据采集与传输的效率。本文将指导你如何使用STM32 HAL库,通过定时器触发ADC1的单通道采集,利用DMA传输数据,最终通过串口将电压值打印出来。具体实现中,我们将读取ADC1的通道5(对应引脚PA5),并将转换得到的电压值发送到串口助手上进行显示。

jmlinux的博客 7012

实现高精度卷积混响--MATLAB仿真篇

一、前言 之前在STM32F407上现实了直播声卡,实现的经典Schroeder混响模型和Moorer混响模型,得到不错效果。后来得知卷积混响最为真实地表现空间的特性,所以也就尝试在MCU上实现一个高精度的卷积混响(卷积点数为32768),目前MCU出来的混响效果算得上一流水准,本人也在计划在ADI的21489或者SC584上更高精度的卷积混响。 二、卷积方式 1、conv1是使用MATLAB自带卷积函数conv 2、conv2和conv3是改进后卷积过程,具有减少运算量特点,方便嵌入式移植 clear;

Six44的博客 5079

使用MiniExcel.SaveAsByTemplate快速地保存百万数据

该代码展示了如何使用MiniExcel快速生成并导出百万级销售数据。核心方法GenerateLargeData()可生成指定数量的随机销售记录,包含客户名、日期、VIP状态、积分等20个字段。通过随机函数模拟真实数据分布,并支持自定义数据量(默认100万条)。配合Excel模板使用MiniExcel.SaveAsByTemplate()方法,能高效地将大数据量导出为Excel文件,且处理速度极快。代码结构清晰,包含数据生成、随机日期辅助方法和数据模型类,适合需要批量生成测试数据或导出大型报表的场景。

大坡3D软件开发 253

从数字后端角度谈谈occ电路(一)

摘要:本文介绍了芯片测试中OCC(On-Chip Clock Control)电路的设计与应用。随着工艺进步,芯片制造面临Stuck-at、Bridging和Delay等故障类型,需要不同时钟频率进行测试。OCC电路通过Clock Selection、Clock Chopping Control和Clock Gating三个模块,实现ATE时钟与PLL时钟的切换控制,支持慢速时钟检测Stuck-at故障和快速时钟检测Delay故障。文章详细解析了OCC电路结构及各模块功能,包括同步单元、移位寄存器等关键组件

芯冰乐 585

量化交易 米筐 因子分组打分(成长因子)

分组动手练习 在米筐上因子数据没有处理,提供的很多因子没有默认分类,存在一些因子没有的情况,我们就选择一些常见的因子。 价值因子 质量因子 成长因子(历史名称) pe_ratio return_on_invested_capital in_revenue pcf_ratio du_return_on_equity inc_eps pb_ratio return_on_asset_net_profit inc_total_asset market_cap return_on_equ

廷益_飞鸟的博客 932

SAP_SD模块深度解析SAP信用检查中的“未清数量”取值逻辑

确认数量 vs 订单数量:如果系统配置了可用性检查(ATP),并且订单只确认了部分数量,信用检查通常只占用已确认数量的额度(具体取决于信用组的配置)。在SAP中,未清订单数量的计算并非简单读取订单行项目的目标数量(VBAK-KWMENG),而是基于**计划行(Schedule Lines)**层级来汇总的。状态的转换点:当交货单创建(VL01N)并保存时,这部分数量对应订单的“未清订单数量”减少,“未清交货数量”增加。业务人员眼中的未清数量很简单:“我卖了100个,发了30个,未清就是70个”。

我小时候很黑的博客 313

【ubuntu】【VirtualBox】VirtualBox无法加载USB移动设备的解决方法(支持U盘启动盘)

提示:测试可用。

联系方式:927632640 2440

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: 机器学习39:通过KNN算法对鸢尾花分类
下一篇: 机器学习41:利用KNN算法实现手写数字识别
Master_oid
博客等级 码龄3年 64粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值