美赛C题学习
美赛C题学习
如果自建模型,可以参考2218931的4.2.1,2218931的论文描述值得学习,最后的信也比较有特色
跟现实相结合也是很重要的点,最好能有案例支撑,虽然说在C题中不常见,但其实有的地方也可以加上
时间序列预测
可以关注一些特殊的时间节点,比如节假日,季节性,节假日和季节性都有可能影响时间序列的预测。
ARIMA:经典时间序列预测模型,使用自回归积分移动平均模型,该模型可以对时间序列数据进行预测,并且可以对时间序列数据进行平滑处理,可以参考下2203120的写法。
GRU:时间序列预测,和LSTM类似,但是GRU的更新门和遗忘门合并为更新门,输入门和输出门合并为输出门,所以GRU的参数更少,更便于计算.
SIR:SIR模型,用于传染病传播的预测,S表示易感者,I表示感染者,R表示康复者,也适用于某些突然爆火的事件。
Prophet:时间序列预测,使用Facebook的Prophet算法,该算法基于时间序列历史数据,拟合出一个趋势和季节性,然后预测未来的时间序列。参考2301192,2200688
卡尔曼滤波算法
LightGBM:LightGBM ...
npm install 报错 npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher.
npm install 报错:npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/
首先进入所给的网址查看:
查看自己的Node.js和npm版本:
发现版本够高(Node.js最好在18及以上, npm在7及以上)
执行所给代码:
1npm install -g https://tls-test.npmjs.com/tls-test-1.0.0.tgz
重新执行npm install,发现依旧报错
查看设置的n ...
西电数据库openGauss平台练习
西电数据库openGauss平台练习
仅记录平台标注中等难度及以上的题目
试卷编号:41
试卷名称:gongsi
条件:
公司数据库有如下关系模式: 员工employee(员工号eno,员工姓名ename,员工年龄eage,所在部门号dno,工资salary,工作日期work); 部门depart(部门号dno,部门名称dname,部门经理员工号dman)。
题目3:查询每个部门的部门号、员工平均工资。
12select dno, AVG(salary)from employee group by dno
题目4:查询员工的中位数工资。
1234select distinct salary from employee a where (select count(*) from employee b where b.salary>=a.salary) -(select count(*) from employee b where b.salary<=a.salary)between -1 and 1
这道题比较容易踩坑的地方是题目没有说明它对中位数的定义,这里是将多个中位数返 ...
MySQL索引一
MySQL索引一
什么是索引
索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。
索引的作用就相当于书的目录。打个比方: 我们在查字典的时候,如果没有目录,那我们就只能一页一页的去找我们需要查的那个字,速度很慢。如果有目录了,我们只需要先去目录里查找字的位置,然后直接翻到那一页就行了。
在 MySQL 中,无论是 Innodb 还是 MyIsam,都使用了 B+树作为索引结构。
索引的优缺点
优点:
提高数据检索效率,降低数据库IO成本
降低数据排序成本,降低CPU消耗
通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
缺点:
索引需要占物理空间
索引需要定期维护,增删改数据时需要维护索引,降低数据写入效率
索引底层数据结构选型
哈希表
哈希表是一种以键-值(key-value)存储数据的结构,只要输入待查找值即 key,就可以找到其对应的值即 value。因此哈希表可以快速检索数据(接近 O(1))。
为何能够通过 key 快速取出 value 呢? 原因在于 哈希算法(也叫散列算法)。通过哈希算法,我们可以快速找到 key 对应的 ...
MySQL规范
MySQL规范
数据库命名规范
所有数据库对象名称必须使用小写字母并用下划线分割
所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)
数据库对象的命名要能做到见名识意,并且最好不要超过 32 个字符
临时库表必须以 tmp_ 为前缀并以日期为后缀,备份表必须以 bak_ 为前缀并以日期 (时间戳) 为后缀
所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)
数据库基本设计规范
所有表必须使用 InnoDB 存储引擎
没有特殊要求(即 InnoDB 无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用 InnoDB 存储引擎
数据库和表的字符集统一使用 UTF8
兼容性更好,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集进行比较前需要进行转换会造成索引失效,如果数据库中有存储 emoji 表情的需要,字符集需要采用 utf8mb4 字符集。
所有表和字段都需要添加注释
使用 comment 从句添加表和列的备 ...
MySQL锁
MySQL锁
表级锁和行级锁
MyISAM (MySQL5.5版本以前默认的存储引擎) 仅仅支持表级锁,一锁就锁整张表,这在并发写的情况下性非常差。
InnoDB (MySQL5.5版本后默认的存储引擎) 不光支持表级锁,还支持行级锁,默认为行级锁。行级锁的粒度更小,仅对相关的记录上锁即可(对一行或者多行记录加锁),所以对于并发写入操作来说, InnoDB 的性能更高。
表级锁和行级锁对比:
表级锁: MySQL 中锁定粒度最大的一种锁(全局锁除外),是针对非索引字段加的锁,对当前操作的整张表加锁,实现简单,资源消耗也比较少,加锁快,不会出现死锁。不过,触发锁冲突的概率最高,高并发下效率极低。表级锁和存储引擎无关,MyISAM 和 InnoDB 引擎都支持表级锁。
行级锁: MySQL 中锁的粒度最小的一种锁,是 针对索引字段加的锁 ,只针对当前操作的行记录进行加锁。 行级锁能大大减少数据库操作的冲突。其加锁粒度最小,并发度高,但加锁的开销也最大,加锁慢,会出现死锁。行级锁和存储引擎有关,是在存储引擎层面实现的。
InnoDB 的行锁是针对索引字段加的锁,表级锁是针对非索引 ...