当前位置: 首页 > news >正文

基本算法——回归

目录

创建工程

加载数据

分析属性

创建与评估回归模型

线性回归

回归树

评估

完整代码

结论


本节将通过分析能源效率数据集(TsanasXifara2012)学习基本的回归算法。我们将基 于建筑的结构特点(比如表面、墙体与屋顶面积、高度、紧凑度)研究它们的加热与冷却负载要 求。研究者使用一个模拟器设计了12种不同的房屋配置,这些房屋配置通过改变18种建筑特征得 出,他们总共模拟了768种建筑。

我们的首要目标是系统分析每种建筑特征对目标变量——加热或冷却负载——产生的影响。 第二个目标是比较经典线性回归模型相对于其他方法(比如SVM回归、随机森林、神经网络)的 性能。这个任务中,我们将使用Weka库。

创建工程

接着使用上一篇文章的工程:

加载数据

        // 加载数据CSVLoader loader = new CSVLoader();loader.setFieldSeparator(",");  // 设置CSV文件的字段分隔符为逗号loader.setSource(new File(PATH));  // 设置数据源为CSV文件Instances data = loader.getDataSet();  // 从CSV文件中加载数据集

分析属性

进行属性分析之前,先了解要处理什么。总共有8个属性描述建筑特征,有两个目标变量:

heatingcooling

X1 ——相对密实性
X2 ——表面积
X3 ——墙体面积
X4 ——屋顶面积
X5 ——总体高度
X6 ——方向
X7 ——玻璃窗面积
X8 ——玻璃窗区域分布
Y1 ——加热负载
Y2 ——冷却负载

创建与评估回归模型

首先,在特征位置设置分类属性,为加热负载建立学习模型。第二个目标变量(冷却负载)现在可以移除:

        /** 构建回归模型*/// 设置类别索引为Y1(加热负荷),即目标变量data.setClassIndex(data.numAttributes() - 2);  // 设置类别索引为倒数第二个属性,表示Y1// 移除最后一个属性Y2,因为Y2是另一个目标变量,我们只处理Y1Remove remove = new Remove();remove.setOptions(new String[]{"-R", String.valueOf(data.numAttributes())});  // 移除最后一个属性remove.setInputFormat(data);  // 设置输入格式data = Filter.useFilter(data, remove);  // 应用过滤器,移除最后一个属性

线性回归

首先,使用LinearRegression类创建一个基本的线性回归模型。正如在分类示例中所做的 那样,先初始化一个新模型实例,传递参数与数据,并调用buildClassifier(Instances)方 法:

        // 构建线性回归模型LinearRegression model = new LinearRegression();model.buildClassifier(data);  // 使用数据训练线性回归模型System.out.println(model);  // 输出线性回归模型的详细信息

结果如下:

Y1 =-64.774  * X1 +-0.0428 * X2 +0.0163 * X3 +-0.089  * X4 +4.1699 * X5 +19.9327 * X7 +0.2038 * X8 +83.9329

线性回归模型构建了一个函数,它把输入变量线性组合在一起,对加热负载进行评估。特征 前面的数字解释特征对目标变量的影响:符号表示正面影响或负面影响,而大小对应于影响程度。 比如特征X1(相对紧凑度),它与加热负载是负相关的,而玻璃窗面积与加热负载是正相关的。

这两个特征也对最后加热负载的评估有明显影响。

使用交叉验证技术可以对模型性能做类似评估。 做10折交叉验证(10-fold cross-validation)如下:

        // 10折交叉验证Evaluation evaluation = new Evaluation(data);  // 创建评估对象evaluation.crossValidateModel(model, data, 10, new Random(1), new String[]{});  // 执行10折交叉验证System.out.println(evaluation.toSummaryString());  // 输出交叉验证的概要信息double[] coefficients = model.coefficients();  // 获取线性回归模型的系数

结果如下:

Correlation coefficient                  0.956 
Mean absolute error                      2.0923
Root mean squared error                  2.9569
Relative absolute error                 22.8555 %
Root relative squared error             29.282  %
Total Number of Instances              768     

回归树

另一个方法是构建一组回归模型,每一个模型对应于数据中与其自身相关的部分。图3-5展 示了回归模型与回归树之间的主要不同。回归模型指的是一个与所有数据达到最好拟合的独立模 型;而回归树是一组回归模型,每个模型只对一部分数据进行建模。Weka中的M5类用于实现回归树。创建模型时,遵从步骤与前面一样:初始化模型、传递参 数与数据、调用buildClassifier(Instances)方法。

        // 构建回归树模型(M5P模型)M5P m5p = new M5P();m5p.setOptions(new String[]{""});  // 设置选项,这里为空m5p.buildClassifier(data);  // 使用数据训练M5P回归树模型System.out.println(m5p);  // 输出M5P回归树模型的详细信息

结果如下:

M5 pruned model tree:
(using smoothed linear models)X1 <= 0.75 : 
|   X7 <= 0.175 : 
|   |   X1 <= 0.65 : LM1 (48/1.264%)
|   |   X1 >  0.65 : LM2 (96/3.201%)
|   X7 >  0.175 : 
|   |   X1 <= 0.65 : LM3 (80/3.652%)
|   |   X1 >  0.65 : 
|   |   |   X7 <= 0.325 : LM4 (80/3.724%)
|   |   |   X7 >  0.325 : 
|   |   |   |   X1 <= 0.675 : LM5 (20/1.687%)
|   |   |   |   X1 >  0.675 : 
|   |   |   |   |   X8 <= 2.5 : LM6 (24/1.314%)
|   |   |   |   |   X8 >  2.5 : 
|   |   |   |   |   |   X8 <= 4.5 : LM7 (24/2.737%)
|   |   |   |   |   |   X8 >  4.5 : 
|   |   |   |   |   |   |   X1 <= 0.7 : LM8 (4/0.91%)
|   |   |   |   |   |   |   X1 >  0.7 : LM9 (8/1.265%)
X1 >  0.75 : 
|   X1 <= 0.805 : 
|   |   X7 <= 0.175 : LM10 (48/5.775%)
|   |   X7 >  0.175 : 
|   |   |   X7 <= 0.325 : LM11 (40/5.26%)
|   |   |   X7 >  0.325 : LM12 (40/5.756%)
|   X1 >  0.805 : 
|   |   X7 <= 0.175 : 
|   |   |   X8 <= 1.5 : 
|   |   |   |   X7 <= 0.05 : 
|   |   |   |   |   X2 <= 539 : LM13 (4/0%)
|   |   |   |   |   X2 >  539 : LM14 (12/4.501%)
|   |   |   |   X7 >  0.05 : 
|   |   |   |   |   X1 <= 0.94 : LM15 (12/4.329%)
|   |   |   |   |   X1 >  0.94 : LM16 (4/0.226%)
|   |   |   X8 >  1.5 : 
|   |   |   |   X1 <= 0.94 : LM17 (48/5.693%)
|   |   |   |   X1 >  0.94 : LM18 (16/1.119%)
|   |   X7 >  0.175 : 
|   |   |   X1 <= 0.84 : 
|   |   |   |   X7 <= 0.325 : 
|   |   |   |   |   X8 <= 2.5 : LM19 (8/3.901%)
|   |   |   |   |   X8 >  2.5 : LM20 (12/3.913%)
|   |   |   |   X7 >  0.325 : LM21 (20/5.632%)
|   |   |   X1 >  0.84 : 
|   |   |   |   X7 <= 0.325 : LM22 (60/4.548%)
|   |   |   |   X7 >  0.325 : 
|   |   |   |   |   X3 <= 306.25 : LM23 (40/4.504%)
|   |   |   |   |   X3 >  306.25 : LM24 (20/6.934%)LM num: 1
Y1 = 72.2602 * X1 + 0.0053 * X3 + 41.5669 * X7 - 0.0049 * X8 - 37.6688LM num: 2
Y1 = -14.6772 * X1 + 0.0053 * X3 + 40.2316 * X7 + 0.0181 * X8 + 15.649LM num: 3
Y1 = 84.5112 * X1 + 0.0053 * X3 + 13.9115 * X7 - 0.1471 * X8 - 42.4943LM num: 4
Y1 = -2.8359 * X1 + 0.0053 * X3 + 4.3146 * X7 - 0.0111 * X8 + 12.0357LM num: 5
Y1 = -6.0295 * X1 + 0.0053 * X3 + 4.3146 * X7 - 0.0524 * X8 + 16.0295LM num: 6
Y1 = -4.3262 * X1 + 0.0053 * X3 + 4.3146 * X7 - 0.0665 * X8 + 14.5905LM num: 7
Y1 = -4.3262 * X1 + 0.0053 * X3 + 4.3146 * X7 - 0.0888 * X8 + 14.5832LM num: 8
Y1 = -4.3262 * X1 + 0.0053 * X3 + 4.3146 * X7 - 0.1025 * X8 + 14.5352LM num: 9
Y1 = -0.8154 * X1 + 0.0053 * X3 + 4.3146 * X7 - 0.1025 * X8 + 11.9531LM num: 10
Y1 = 105.9033 * X1 + 0.0113 * X3 + 59.6616 * X7 + 0.0975 * X8 - 58.7462LM num: 11
Y1 = 81.6537 * X1 + 0.0113 * X3 + 10.8932 * X7 + 0.0559 * X8 - 33.0837LM num: 12
Y1 = 64.6565 * X1 + 0.0113 * X3 + 10.8932 * X7 - 0.0337 * X8 - 18.0037LM num: 13
Y1 = 3.2622 * X1 - 0.0018 * X2 + 0.0164 * X3 + 44.6313 * X7 + 0.0592 * X8 + 11.9461LM num: 14
Y1 = 9.1337 * X1 - 0.0018 * X2 + 0.0164 * X3 - 0.0494 * X6 + 44.6313 * X7 + 0.0592 * X8 + 7.321LM num: 15
Y1 = 11.8776 * X1 - 0.0018 * X2 + 0.0164 * X3 - 0.0428 * X6 + 44.6313 * X7 + 0.0592 * X8 + 7.0198LM num: 16
Y1 = 3.2622 * X1 - 0.0018 * X2 + 0.0164 * X3 + 44.6313 * X7 + 0.0592 * X8 + 14.1593LM num: 17
Y1 = 35.1381 * X1 - 0.0018 * X2 + 0.0164 * X3 + 16.7723 * X7 + 0.0592 * X8 - 10.1661LM num: 18
Y1 = 3.2622 * X1 - 0.0018 * X2 + 0.0164 * X3 + 16.7723 * X7 + 0.0592 * X8 + 16.4949LM num: 19
Y1 = 8.5464 * X1 - 0.0012 * X2 + 0.029 * X3 + 15.2851 * X7 - 0.2151 * X8 + 7.86LM num: 20
Y1 = 8.5464 * X1 - 0.0012 * X2 + 0.029 * X3 + 15.2851 * X7 - 0.0475 * X8 + 7.4789LM num: 21
Y1 = 8.5464 * X1 - 0.0012 * X2 + 0.029 * X3 + 15.2851 * X7 + 0.013 * X8 + 8.5537LM num: 22
Y1 = 1.4309 * X1 - 0.0012 * X2 + 0.1248 * X3 + 9.5464 * X7 + 0.0373 * X8 - 10.9927LM num: 23
Y1 = 5.1744 * X1 - 0.0012 * X2 + 0.0633 * X3 + 9.5464 * X7 + 0.0235 * X8 + 5.7355LM num: 24
Y1 = 5.1744 * X1 - 0.0012 * X2 + 0.0761 * X3 + 9.5464 * X7 - 0.0805 * X8 + 3.4386Number of Rules : 24

这棵树总共有13个叶子,每个叶子对应于一个线性方程。

评估

        // 10折交叉验证evaluation = new Evaluation(data);  // 重新创建评估对象evaluation.crossValidateModel(m5p, data, 10, new Random(1), new String[]{});  // 执行10折交叉验证System.out.println(evaluation.toSummaryString());  // 输出交叉验证的概要信息

结果如下:

Correlation coefficient                  0.996 
Mean absolute error                      0.6497
Root mean squared error                  0.9164
Relative absolute error                  7.0972 %
Root relative squared error              9.0753 %
Total Number of Instances              768  

完整代码

    private static String PATH = ClassUtils.getDefaultClassLoader().getResource("ENB2012_data.csv").getPath();public static void main(String[] args) throws Exception {// 加载数据CSVLoader loader = new CSVLoader();loader.setFieldSeparator(",");  // 设置CSV文件的字段分隔符为逗号loader.setSource(new File(PATH));  // 设置数据源为CSV文件Instances data = loader.getDataSet();  // 从CSV文件中加载数据集/** 构建回归模型*/// 设置类别索引为Y1(加热负荷),即目标变量data.setClassIndex(data.numAttributes() - 2);  // 设置类别索引为倒数第二个属性,表示Y1// 移除最后一个属性Y2,因为Y2是另一个目标变量,我们只处理Y1Remove remove = new Remove();remove.setOptions(new String[]{"-R", String.valueOf(data.numAttributes())});  // 移除最后一个属性remove.setInputFormat(data);  // 设置输入格式data = Filter.useFilter(data, remove);  // 应用过滤器,移除最后一个属性// 构建线性回归模型LinearRegression model = new LinearRegression();model.buildClassifier(data);  // 使用数据训练线性回归模型System.out.println(model);  // 输出线性回归模型的详细信息// 10折交叉验证Evaluation evaluation = new Evaluation(data);  // 创建评估对象evaluation.crossValidateModel(model, data, 10, new Random(1), new String[]{});  // 执行10折交叉验证System.out.println(evaluation.toSummaryString());  // 输出交叉验证的概要信息double[] coefficients = model.coefficients();  // 获取线性回归模型的系数// 构建回归树模型(M5P模型)M5P m5p = new M5P();m5p.setOptions(new String[]{""});  // 设置选项,这里为空m5p.buildClassifier(data);  // 使用数据训练M5P回归树模型System.out.println(m5p);  // 输出M5P回归树模型的详细信息// 10折交叉验证evaluation = new Evaluation(data);  // 重新创建评估对象evaluation.crossValidateModel(m5p, data, 10, new Random(1), new String[]{});  // 执行10折交叉验证System.out.println(evaluation.toSummaryString());  // 输出交叉验证的概要信息}

结论

对于线性回归模型:

(1)相关性系数(Correlation coefficient)为0.956,表明模型预测值与实际值之间有较强的相关性。

(2)平均绝对误差(Mean absolute error)为2.0923,表示预测值与实际值之间的平均绝对差距。

(3)均方根误差(Root mean squared error)为2.9569,它衡量了预测值与实际值之间的标准偏差。

(4)相对绝对误差(Relative absolute error)和相对均方根误差(Root relative squared error)分别为22.8555%和29.282%,这些指标是相对于实际值的误差比例。

对于M5模型树:

(1)相关性系数为0.996,比线性回归模型更高,说明M5模型树的预测值与实际值的相关性更强。

(2)平均绝对误差降低到0.6497,表明M5模型树的预测更为准确。

(3)均方根误差也降低到0.9164,说明预测值与实际值的偏差更小。

(4)相对绝对误差和相对均方根误差分别降低到7.0972%和9.0753%,显示M5模型树在相对误差上也有显著改善。

相关文章:

基本算法——回归

目录 创建工程 加载数据 分析属性 创建与评估回归模型 线性回归 回归树 评估 完整代码 结论 本节将通过分析能源效率数据集&#xff08;Tsanas和Xifara&#xff0c;2012&#xff09;学习基本的回归算法。我们将基 于建筑的结构特点&#xff08;比如表面、墙体与屋顶面…...

NestJS 性能优化:从应用到部署的最佳实践

在上一篇文章中&#xff0c;我们介绍了 NestJS 的微服务架构实现。本文将深入探讨 NestJS 应用的性能优化策略&#xff0c;从应用层到部署层面提供全方位的优化指南。 应用层优化 1. 路由优化 // src/modules/users/users.controller.ts import { Controller, Get, UseInter…...

VuePress搭建个人博客

VuePress搭建个人博客 官网地址: https://v2.vuepress.vuejs.org/zh/ 相关链接: https://theme-hope.vuejs.press/zh/get-started/ 快速上手 pnpm create vuepress vuepress-starter# 选择简体中文、pnpm等, 具体如下 .../19347d7670a-1fd8 | 69 .../19…...

在AWS Lambda上部署Python应用:从入门到实战

在AWS Lambda上部署Python应用:从入门到实战 随着云计算和无服务器架构(Serverless Architecture)在业界的普及,AWS Lambda成为了一个强有力的工具。它让开发者可以部署代码而无需管理服务器,按需运行,按时间计费。AWS Lambda支持多种语言,其中Python作为一门高效、简洁…...

初学STM32 ---高级定时器互补输出带死区控制

互补输出&#xff0c;还带死区控制&#xff0c;什么意思&#xff1f; 带死区控制的互补输出应用之H桥 捕获/比较通道的输出部分&#xff08;通道1至3&#xff09; 死区时间计算 举个栗子&#xff08;F1为例&#xff09;&#xff1a;DTG[7:0]250&#xff0c;250即二进制&#x…...

chatwoot 开源客服系统搭建

1. 准备开源客服系统&#xff08;我是用的Chatwoot &#xff09; 可以选择以下开源客服系统作为基础&#xff1a; Chatwoot: 开源&#xff0c;多语言&#xff0c;跟踪和分析&#xff0c;支持多渠道客户对接&#xff0c;自动化和工作流等。源码Zammad: 现代的开源工单系统。Fr…...

Ungoogled Chromium127编译指南 Linux篇 - 安装Docker(六)

1. 引言 在了解了Docker的重要性后&#xff0c;我们需要在系统中正确安装和配置Docker环境。Docker的安装过程看似简单&#xff0c;但要确保其能够完美支持Ungoogled Chromium的编译&#xff0c;还需要进行一些特殊的配置。本文将详细介绍如何在Ubuntu系统上安装Docker&#x…...

试用ChatGPT的copilot编写一个程序从笔记本电脑获取语音输入和图像输入并调用开源大模型进行解析

借助copilot写代码和自己手写代码的开发过程是一样的。 首先要有明确的开发需求&#xff0c;开发需求越详细&#xff0c;copilot写出的代码才能越符合我们的预期。 其次&#xff0c;有了明确的需求&#xff0c;最好先做下需求拆解&#xff0c;特别是对于比较复杂的应用&#xf…...

Kafka 性能提升秘籍:涵盖配置、迁移与深度巡检的综合方案

文章目录 1.1.网络和io操作线程配置优化1.2.log数据文件刷盘策略1.3.日志保留策略配置1.4.replica复制配置1.5.配置jmx服务1.6.系统I/O参数优化1.6.1.网络性能优化1.6.2.常见痛点以及优化方案1.6.4.优化参数 1.7.版本升级1.8.数据迁移1.8.1.同集群broker之间迁移1.8.2.跨集群迁…...

2024年常用工具

作为本年度高频使用工具&#xff0c;手机端也好&#xff0c;桌面端也好&#xff0c;筛选出来9款产品&#xff0c;这里也分享给关注我的小伙伴 &#xff0c;希望对你有些帮助&#xff0c;如果你更好的产品推荐&#xff0c;欢迎留言给我。 即刻 产品经理的聚集地&#xff0c;“让…...

在Linux系统中使用字符图案和VNC运行Qt Widgets程序

大部分服务器并没有GUI&#xff0c;运行的是基础的Linux系统&#xff0c;甚至是容器。如果我们需要在这些系统中运行带有GUI功能的Qt程序&#xff0c;一般情况下就会报错&#xff0c;比如&#xff1a; $ ./collidingmice qt.qpa.xcb: could not connect to display qt.qpa.plu…...

kafka使用常见问题

连接不上kafka,报下边的错 org.apache.kafka.common.KafkaException: Producer is closed forcefully.at org.apache.kafka.clients.producer.internals.RecordAccumulator.abortBatches(RecordAccumulator.java:760) [kafka-clients-3.0.2.jar:na]at org.apache.kafka.client…...

Springboot项目:使用MockMvc测试get和post接口(含单个和多个请求参数场景)

一、引入MockMvc依赖 使用MockMvc&#xff0c;必须要引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>二、具体演示…...

mysql_real_connect的概念和使用案例

mysql_real_connect 是 MySQL C API 中的一个函数&#xff0c;用于建立一个到 MySQL 数据库服务器的连接。这个函数尝试建立一个连接&#xff0c;并根据提供的参数进行连接设置。 概念 以下是 mysql_real_connect 函数的基本概念&#xff1a; 函数原型&#xff1a;MYSQL *my…...

单片机--51- RAM

1.概览某个51单片机对空间区域的划分&#xff1a; 2.RAM被分配的区域是256bytes&#xff0c; 通常8051单片机ram是128bytes 8052的ram是256bytes&#xff08;其中高128位的地址和sfr区域地址重合&#xff0c;物理区域不同&#xff09; extern uint32_t alarm_cnt_1; uint32…...

【机器学习】梯度下降

文章目录 1. 梯度下降概念2. 梯度下降的技巧2.1 动态设置学习率2.2 Adagrad调整梯度2.3 随机梯度下降&#xff08;SGD&#xff09;2.4 特征缩放 3. 梯度下降理论基础 1. 梯度下降概念 梯度&#xff1a;Loss 对参数在某一点的偏微分&#xff0c;函数沿梯度的方向具有最大的变化…...

攻防世界web第十题Web_python_template_injection

这是题目&#xff0c;从题目上看是一个python模板注入类型的题目。 首先测试是否存在模板注入漏洞&#xff0c;构造http://61.147.171.105:57423/{{config}} 得到 说明存在模板注入漏洞&#xff0c;继续注入 构造http://61.147.171.105:57423/{{‘’.class.mro}}: 得到 再构造…...

【《python爬虫入门教程11--重剑无峰168》】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 【《python爬虫入门教程11--selenium的安装与使用》】 前言selenium就是一个可以实现python自动化的模块 一、Chrome的版本查找&#xff1f;-- 如果用edge也是类似的1.chrome…...

VUE echarts 教程二 折线堆叠图

VUE echarts 教程一 折线图 import * as echarts from echarts;var chartDom document.getElementById(main); var myChart echarts.init(chartDom); var option {title: {text: Stacked Line},tooltip: {trigger: axis},legend: {data: [Email, Union Ads, Video Ads, Dir…...

gitlab的搭建及使用

1、环境准备 服务器准备 CentOS Linux release 7.9.2009 (Core)&#xff0c;内存至少4G。 修改主机名和配置ip地址 hostnamectl set-hostname <hostname> 关闭主机的防火墙 # 关闭防火墙 systemctl stop firewalld #临时关闭防火墙 systemctl disable firewalld …...

openEuler ARM使用vdbench50407

openEuler ARM 使用 vdbench50407 系统信息&#xff1a;openEuler 22.03 (LTS-SP4) Linux 5.10.0-216.0.0.115.oe2203sp4.aarch64 1. 软件包获取 vdbench src https://www.oracle.com/downloads/server-storage/vdbench-source-downloads.htmlvdbench bin https://www.oracle.…...

如何使用 JPA 实现分页查询并返回 VO 对象

JPA分页踩坑指南 1.原生sql查询返回vo类包含主键id&#xff0c;无法自动映射&#xff0c;需要用到投影ResultTransformer&#xff0c;所以我定义了一个投影工具类 JpaCommonService 2.异步调用原生查询方法的时候&#xff0c;需要用 NativeQuery<?> query entityMa…...

【SQL Server】教材数据库(1)

1 利用sql建立教材数据库&#xff0c;并定义以下基本表&#xff1a; 学生&#xff08;学号&#xff0c;年龄&#xff0c;性别&#xff0c;系名&#xff09; 教材&#xff08;编号&#xff0c;书名&#xff0c;出版社编号&#xff0c;价格&#xff09; 订购&#xff08;学号…...

cmake学习_incomplete

文章目录 cmake使用举例cmake示例模板编译时库查找基础知识模块模式导入目标 交叉编译配置基础知识模板实际使用 使用实例链接库解决符号冲突 参考资料 老规矩&#xff0c;先放官方文档 如何构建从互联网下载的源代码包:User Interaction Guide 想使用第三方库的开发者:Using …...

过度与动画的区别?

过渡&#xff08;Transition&#xff09;&#xff1a; 过渡效果是由元素的状态变化触发的&#xff0c;例如&#xff1a;当鼠标悬停在某个元素上、或当某个 CSS 属性值发生改变时。 必须指定起始状态和结束状态。过渡会在两者之间自动平滑过渡。 过渡的触发通常是用户交互或通过…...

tcpdump指南(1)

大家读完觉得有意义记得关注和点赞&#xff01;&#xff01;&#xff01; tcpdump是一种在网络上转储流量的网络工具。 这篇文章服务器作为一些常用命令的指南。如需完整指南&#xff0c; 请参阅手册页&#xff0c;或在 Linux 计算机上。man tcpdump 1 基本选项 帮助摘要&#…...

Linux(Centos 7.6)网卡信息没有了问题处理

1.问题现象 虚拟机打开后&#xff0c;使用ifconfig查看IP信息&#xff0c;虚拟机默认的网卡名称是ens33&#xff0c;ifconfig没有看到相关问题&#xff0c;远程连接工具Xshell也不能正常访问该虚拟机。 [rootnode1 ~]# ifconfig lo: flags73<UP,LOOPBACK,RUNNING> mtu…...

基于SpringBoot的校园二手交易平台的设计与实现(源码+SQL+LW+部署讲解)

文章目录 摘 要1. 第1章 选题背景及研究意义1.1 选题背景1.2 研究意义1.3 论文结构安排 2. 第2章 相关开发技术2.1 前端技术2.2 后端技术2.3 数据库技术 3. 第3章 可行性及需求分析3.1 可行性分析3.2 系统需求分析 4. 第4章 系统概要设计4.1 系统功能模块设计4.2 数据库设计 5.…...

springboot523基于Spring Boot的大学校园生活信息平台的设计与实现(论文+源码)_kaic

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本大学校园生活信息平台就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据…...

week05_nlp大模型训练·词向量文本向量

1、词向量训练 1.1 CBOW&#xff08;两边预测中间&#xff09; 一、CBOW 基本概念 CBOW 是一种用于生成词向量的方法&#xff0c;属于神经网络语言模型的一种。其核心思想是根据上下文来预测中心词。在 CBOW 中&#xff0c;输入是目标词的上下文词汇&#xff0c;输出是该目标…...

FreeRTOS Lwip Socket APi TCP Server 1对多

源文件 /********************************************************************************* file lwip_tcp_driver.cpp* brief TCP Server implementation using LwIP******************************************************************************* at…...

SonarQube相关的maven配置及使用

一、maven 全局配置 <settings><pluginGroups><pluginGroup>org.sonarsource.scanner.maven</pluginGroup></pluginGroups><profiles><profile><id>sonar</id><activation><activeByDefault>true</acti…...

【蓝桥杯选拔赛真题87】python输出字符串 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析

目录 python输出字符串 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python输出字符串 第十五届蓝桥杯青少年组python比赛选拔赛真题详细解析…...

嵌入式开发中的机器人表情绘制

机器人的表情有两种&#xff0c;一种是贴图&#xff0c;一钟是调用图形API自绘。 贴图效果相对比较好&#xff0c;在存储空间大的情况下是可以采用的。 自绘比较麻烦&#xff0c;但在资源和空缺少的情况下&#xff0c;也是很有用的。而且自绘很容易通过调整参数加入随机效果&…...

本机实现Llama 7B推理及部署

本机实现Llama 7B推理及部署 使用llamafile在Windows系统部署 部署步骤:首先从https://www.modelscope.cn/api/v1/models/bingal/llamafile-models/repo?Revision=master&FilePath=llamafile-0.6.2.win.zip下载llamafile并解压得到llamafile.exe文件, 再从https://www.…...

HarmonyOS NEXT 实战之元服务:静态案例效果---我的热门应用服务

背景&#xff1a; 前几篇学习了元服务&#xff0c;后面几期就让我们开发简单的元服务吧&#xff0c;里面丰富的内容大家自己加&#xff0c;本期案例 仅供参考 先上本期效果图 &#xff0c;里面图片自行替换 效果图1完整代码案例如下&#xff1a; Index import { authentica…...

二十三种设计模式-工厂方法模式

工厂方法模式是一种创建型设计模式&#xff0c;其核心思想是通过定义一个创建对象的接口&#xff0c;让子类决定实例化哪一个类。工厂方法模式将对象的实例化推迟到子类中进行&#xff0c;从而使得扩展变得容易&#xff0c;而不需要修改现有的代码&#xff0c;符合开闭原则&…...

硬件工程师面试题 21-30

把常见的硬件面试题进行总结&#xff0c;方便及时巩固复习。其中包括网络上的资源、大佬们的大厂面试题&#xff0c;其中可能会题目类似&#xff0c;加强印象即可。 更多硬件面试题&#xff1a;硬件工程师面试题 1-10硬件工程师面试题 11-20 21、单片机最小系统需要什么&#x…...

深度学习中的HTTP:从请求到响应的计算机网络交互

在现代深度学习应用中&#xff0c;HTTP&#xff08;超文本传输协议&#xff09;不仅仅是网页浏览的基础协议&#xff0c;它也在机器学习和人工智能的服务架构中扮演着至关重要的角色。本文将深入探讨HTTP在深度学习中的应用&#xff0c;并阐明它如何支持模型的训练、推理及API服…...

基于submitit实现Python函数的集群计算

一、项目介绍 Submitit是一款轻量级工具&#xff0c;旨在简化Python函数在Slurm集群上的提交过程。它不仅提供了对作业结果、日志文件等的无缝访问&#xff0c;更让开发者能够在本地执行与Slurm集群间切换自如&#xff0c;极大地提高了代码的可移植性和灵活性。 Slurm作为一种…...

开源GTKSystem.Windows.Forms框架:C# Winform跨平台运行深度解析

开源GTKSystem.Windows.Forms框架&#xff1a;C# Winform跨平台运行深度解析 一、跨平台框架的崛起 1.1 跨平台技术的现状与需求 在当今快速发展的科技时代&#xff0c;软件开发的需求日益多样化。随着移动设备和操作系统的不断涌现&#xff0c;开发者面临着前所未有的挑战&…...

uniapp Stripe 支付

引入 Stripe npm install stripe/stripe-js import { loadStripe } from stripe/stripe-js; Stripe 提供两种不同类型组件 Payment Element 和 Card Element&#xff1a;如果你使用的是 Payment Element&#xff0c;它是一个更高级别的组件&#xff0c;能够自动处理多种支…...

虚拟机用网线连其他设备(ROS多机网络配置)

电脑配置 把局域网的网线插入电脑&#xff0c;点击这边 配置以太网的IP 比如说我ROS主机的IP想设为192.168.144.10&#xff0c;那我笔记本的以太网IP可以设为192.168.144.8。 假设还有另外一个电脑&#xff08;ROS从机&#xff09;&#xff0c;他的IP被设置未192.168.144.4…...

20241218-信息安全理论与技术复习题

20241218-信息安全理论与技术复习题 一、习题1 信息安全的基本属性是&#xff08;D )。 A、机密性 B、可用性 C、完整性 D、上面 3 项都是 “会话侦听和劫持技术” 是属于&#xff08;B&#xff09;的技术。 A、 密码分析还原 B、 协议漏洞渗透 C、 应用漏洞分析与渗透 D、 D…...

家谱管理系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库…...

音频进阶学习九——离散时间傅里叶变换DTFT

文章目录 前言一、DTFT的解释1.DTFT公式2.DTFT右边释义1&#xff09; 复指数 e − j ω n e^{-j\omega n} e−jωn2&#xff09;序列与复指数相乘 x [ n ] ∗ e − j ω n x[n]*e^{-j\omega n} x[n]∗e−jωn复指数序列复数的共轭正交正交集 3&#xff09;复指数序列求和 3.DTF…...

pytorch 计算图中的叶子节点介绍

1. 什么是叶子节点&#xff1f; 在 PyTorch 的自动微分机制中&#xff0c;叶子节点&#xff08;leaf node&#xff09; 是计算图中&#xff1a; 由用户直接创建的张量&#xff0c;并且它的 requires_gradTrue。这些张量是计算图的起始点&#xff0c;通常作为模型参数或输入变…...

CSS系列(42)-- Backdrop Filter详解

前端技术探索系列&#xff1a;CSS Backdrop Filter详解 &#x1f3a8; 致读者&#xff1a;探索背景滤镜的艺术 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 CSS Backdrop Filter&#xff0c;这个强大的视觉效果特性。 基础效果 &#x1f680; 模糊效果 /…...

【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(一)

****非斜体正文为原文献内容&#xff08;也包含笔者的补充&#xff09;&#xff0c;灰色块中是对文章细节的进一步详细解释&#xff01; 三、传统微调范式&#xff08;Traditional Fine-Tuning Paradigm&#xff09; 在这个范式中&#xff0c;首先在大量未标记的文本数据上预…...

ChatGPT 与 AGI:人工智能的当下与未来走向全解析

在人工智能的浩瀚星空中&#xff0c;AGI&#xff08;通用人工智能&#xff09;无疑是那颗最为璀璨且备受瞩目的星辰。OpenAI 对 AGI 的定义为“在最具经济价值的任务中超越人类的高度自治系统”&#xff0c;并勾勒出其发展的五个阶段&#xff0c;当下我们大多处于以 ChatGPT 为…...