- 博客(110)
- 收藏
- 关注
原创 整型、浮点型、字符型——C语言自用自学笔记(2)
整型整数的类型为什么要定义不同的整型类型?占用字节和数值范围数据范围补码的知识数值范围整数的类型为什么要定义不同的整型类型?不同的整型类型占用的内存大小不同,表示的数据范围也不一样。计算机是通过晶体管的开关状态来记录数据的,通常是8个编为一组,我们称之为字节。晶体管的开关状态可以用0或者1来表示。如开用1表示,关用0表示。——这种表示方法我们称之为二进制法。因此,一个字节,8个晶体管,可以有2的8次方种状态,每一种状态对应一个数值,因此,一个字节可以表示256个数值。要表示更大的
2022-05-14 11:59:16
1582
1
原创 C语言自用自学笔记(1)
C语言C++ C语言函数调用函数(主函数)变量标识符 关键词标识符命名规则关键词常量printf函数占位符printfinclude命令C++ C语言C++文件后缀名 xxx.cppC语言文件后缀名xxx.cC++可向下兼容C所以一般用cpp后缀名函数//表示注释mainreturn在编程语言中,可以把函数当成一个机器,在函数里面封装好我们的内容,我们只需输入一些东西,就可以输出我们要的东西。int 表示函数的返回类型为整数类型函数首先要输入一些值,在()里定义,也可以不输入。
2022-04-27 14:37:02
648
原创 车牌识别项目全过程——opencv知识自学(1)
目录什么是opencv?图像获取图像变换改变大小什么是opencv?OpenCV是一个开源的计算机视觉框架。是用来处理图像数据的开源库,即一套与图像相关的算法库。在2016年以后,深度学习的应用越来越广泛,OpenCV里也添加了CNN之类的模块,可以与Tensorflow、Caffe2这些框架训练出来的模型对接。图像获取import cv2gray_img = cv2.imread(r'C:\Users\fujie\Pictures\shunli.jpg',1) # 读入图像cv2.im
2022-04-19 15:18:17
16839
16
原创 机器学习——混淆矩阵的笔记
1.类1实际样本数为45,被分类器预测为类1的样本数为43个,被预测为类2的样本数为2个,被预测为类3的样本数为0个。2.被分类器预测为类1的样本总数为50个,类2为50个,类三为50个。
2022-03-02 11:08:12
497
原创 CNN笔记+反向传播
文章目录CNN池化层反向传播CNN池化层1.无论是max还是mean都是在提取区域特征,过滤掉了不必要的信息,保留主要的特征,所以在抽象层次上可以进行更好的识别。2.池化层也叫子采样层。当数据经过卷积层以后,可能特征维度还是很大,即特征参数还是很多,那么就容易出现过拟合的问题。那么通过池化子采样,可以大大减少特征的维度,减少过拟合的风险。2.池化层最主要的好处就是提供了一种不变性。不变性的意思是如分类图像中的小猫,把小猫左移还是右移,还是能够分类出小猫,即无论最终的位置在哪里,都能够分类正确。在物
2021-08-13 14:08:46
122
原创 线性回归+逻辑回归+过拟合+模型评估笔记
笔记什么是线性回归具体的内容参数计算什么是逻辑回归?(什么问题)具体的内容(怎么解决的?)建立预测函数(线性回归再套一个函数)Sigmoid函数(Logistic函数)损失函数逻辑回归的损失函数优化方法多元分类逻辑回归有什么用?(什么结果)优点缺点模型过拟合过拟合的原因解决办法正则化L1正则项L2正则项模型评估ROC、AUC什么是线性回归线性:两个变量之间的关系是一次函数关系的(如x和y,所有输入的数据和所有输出的结果)——图象是直线,叫做线性。回归:预测值。输出连续值对结果进行预测。通过已知的数据
2021-08-05 20:27:48
1204
2
原创 同态加密笔记
笔记什么是同态加密同态加密——云计算同态加密的应用什么是同态加密同态加密关注的是数据安全,其提供了一种对加密过的数据进行处理的能力,也就是可以对加密后的数据进行处理,拥有密钥的用户(公司)对处理过的数据进行解密后,得到的是处理后的结果。而一般的加密方案关注的是数据存储安全的问题,即用户是不能对加密后的数据进行任何操作的,否则解密的时候会出现错误,即解密失败。同态加密——云计算同态加密几乎是为云计算量身定做的。用户想要处理数据,但是它的计算能力有限。那么这个用户就可以使用云计算的概念,让云来帮助他
2021-08-02 16:15:56
297
原创 kaggle——信用卡欺诈检测项目实战
笔记第一步:了解题目,确定任务第二步:场景分析第三步:数据预处理看是否有缺失值查看样本类别分布数据不均衡解决办法数据值标准化/归一化第四步:特征工程1)查看特征分布情况,把不同类别下特征分布相差不大的特征删除掉2)特征缩放第五步:模型训练处理不平衡样本交叉验证求取最好的模型参数第六步:模型评估使用下采样数据训练与测试使用下采样数据训练与测试(不同的阈值对结果的影响)使用下采样数据训练,原始数据进行测试原始数据进行K折交叉验证使用原始数据进行训练和测试查看ROC曲线逻辑回归阈值选择过采样总结第一步:了解题目
2021-08-01 21:26:01
16150
13
原创 类不平衡(样本不均衡数据)处理笔记+ROC/AUC曲线
总结划分训练集测试集时划分训练集测试集时函数train_test_split中的参数stratif
2021-08-01 14:20:00
747
原创 python笔记
笔记python数据类型数组字典python数据类型列表,元组,字典,集合数组数组必须放置相同类型的,list列表可以放不同类型的元素创建数组:a=[]添加:a.append(1)插入:a.insert(2,99)——第一个为索引位置,第二个为添加的元素值。访问:直接就是索引访问a[2],访问下标为2的元素更新:a[2]=88删除:a.remove(88)——直接把值88删掉a.pop(1)——把索引1位置的值删除掉a.pop()——删除最后一个元素获取数组长度:l
2021-07-31 21:34:37
108
原创 密码学笔记2
认证单向散列函数什么是单向散列函数单向散列函数消息认证(MAC)消息认证码的使用步骤消息认证码的应用实例消息认证码的实现方法HMAC:对消息认证码的攻击单向散列函数怎么保证“是真的?"现在假设小明以前写来一个文件保存到硬盘,它的文件可能面临被攻击之后遭到篡改,那它怎么证明现在他手上的文件没有遭到篡改的呢?文件是真的,“是真的”的性质称为完整性,也称为一致性。通过单向散列函数生成散列值,对比前后的散列值,来确保消息的完整性一致性。什么是单向散列函数输入(消息/原像)——单向散列函数(消息摘要
2021-07-30 20:30:43
172
原创 密码学笔记
密码学密码学用来解决什么问题?有什么应用?对称密码和公钥密码对称密码比特序列:编码:异或XORDES分组密码公钥密码RSA对RSA的攻击、补救措施对称密码和公钥密码的总结混合加密加密解密密码学用来解决什么问题?信息安全三要素(CIA)CIA含义相应的算法机密性C只有授权用户才能获取信息(窃听,秘密泄露)对称加密算法、公开密钥算法都具备机密性。完整性I信息在输入和传输过程中,不被修改和破坏主要使用MAC(消息验证码)算法来保证完整性。可用性A合理使用,不会被
2021-07-30 19:48:05
687
原创 SQL编程
牛客题目最晚员工入职信息MAX函数LIMIT 分页函数、OFFSET查找当前薪水详情以及部门编号dept_noSQL89 获得积分最多的人(一) 只有一个人最高积分的用户有多个积分有加有减最晚员工入职信息法一:子查询先找出 hire_date 字段的最大值,再把该值当成employees 表的hire_date 查询条件。SELECT * FROM employeesWHERE hire_date=(SELECT MAX(hire_date) FROM employees);法二:排序,降
2021-07-04 21:20:12
142
原创 SQL语句
语句SELECT 语法SELECT DISTINCT 语句WHERE 子句AND & OR 运算符ORDER BY 子句INSERT INTO 语句UPDATE 语句SELECT 语法SELECT DISTINCT 语句仅仅列出不同(distinct)的值。关键词 DISTINCT 用于返回唯一不同的值。WHERE 子句有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用
2021-07-04 14:50:19
167
原创 排序算法笔记——选择排序
排序选择排序写算法流程重要的排序:插入排序、堆排序、归并排序、快速排序。选泡插快归堆希统计基恩方恩老恩一三对恩加K恩乘K选择排序一遍一遍的过滤数组,然后找到数组里面最小的数,把它放到前面来。第一遍,过滤整个数组,找到最小的数1,然后把1和第一个数5换位置。第二遍,因为第一个最小的数已经找到了,即除了第一个数1之外的剩下的部分,找出最小的数,重复这个过程。。具体例子:如10个人排成从低到高的队列。首先是从10个人中找出最矮的放到第一个,然后从第二个人开始找出第二个矮个子的。。。。。
2021-07-03 13:34:06
187
1
原创 测试工程师
测试知识什么是软件测试什么是BUG理解黑盒白盒测试白盒测试白盒测试的方法黑盒测试方法等价类划分法边界值分析法因果图法错误推测法什么是软件测试执行程序,发现软件缺陷的过程,(执行程序,发现BUG的过程)总结和理解:1、没有遵循产品说明书来设计(让你做的你没做)2、产品说明书没写但应实现(没让你做,但是你应该做)(这一点很容易引发开发和产品的矛盾,开发会认为需求没有不需实现,也不去询问,互相指者,产品开发互相指责,“产品:开会你又不问;开发:谁想得到。。。。。。”;测试要从中调解,第一:发现此类问
2021-07-01 09:46:04
165
1
原创 计算机网络总结笔记——大框架
文章目录计算机网络HUB集线器(物理层)CSMA/CDSW 交换机 、mac/ip地址(数据链路层)SW的地址端口表SW的特点SW缺点:计算机网络计算机网络——就是实现计算机之间的通信的。如果自己设计计算机网络,我们怎么设计呢?最简单的——用一根线,把两台设备连接起来。一台电脑通过发1010高低电平就能表示这个数据信号,另一台电脑就接收到了信号。当有多台电脑时,它要实现两两之间都能通信,需要两两之间都要拉一条线,这样的话线太多了。。。。因此,我们提出:转发——有一个中介帮忙转发,即从1
2021-06-30 20:44:29
545
2
原创 力扣视频笔记20——回溯法
回溯法定义例子—力扣78定义回溯——回到过去,去寻找不同的选择——找到所有的可能例子—力扣78方法一(扩展法)首先为[],空列表是任何列表的子集然后遍历1,把1添加到前面的空列表【1】。然后遍历2,把2添加到前面的【】,【1】——【2】,【1,2】然后遍历3,把3添加到前面的【】,【1】,【2】,【1,2】——【3】,【1,3】,【2,3】,【1,2,3】...
2021-06-29 15:04:27
221
原创 孤立森林Isolation Forest笔记
笔记Isolation Forest与其他算法的区别训练过程建立一棵树的过程整合全部孤立树的结果例子Isolation Forest异常点定义为那些 “容易被孤立的离群点” —— 可以理解为分布稀疏,且距离高密度群体较远的点。常见的场景包括:网络安全中的攻击检测、金融交易欺诈检测、疾病侦测、**噪声数据过滤(数据清洗)**等。与其他算法的区别大多数基于模型的异常检测算法会先 ”规定“ 正常点的范围或模式,如果某个点不符合这个模式,或者说不在正常范围内,那么模型会将其判定为异常点。训练过程孤
2021-06-28 10:17:20
303
原创 力扣视频笔记21——深度优先搜素法+938题法
DFS定义DFS和回溯算法的区别题目938思路+伪代码定义(用到了递归的思想)每一次把一个分支都检查完,才进入到下一个分支。把一条路走到死,不撞南墙不回头那种。走不出了,再去找第二条出路DFS和回溯算法的区别DFS:走到死,每条路线都是走到它最后一个节点为止。回溯:满足条件时就停止了,不需要走到最后一个节点。回溯,按照子集的长度开始(按照条件开始),第一次为0,在起点的时候已经满足了长度为0这个条件,此时就不需要遍历其他的可能性了。【】接下来遍历长度为1的子集,当遍历元素1时
2021-06-26 13:31:22
169
原创 力扣视频笔记20——递归
递归定义四个要素例子伪代码题目509伪代码定义套娃,一层层嵌套。方法里面调用方法。四个要素例子从第三个数开始,每个数都等于前两个数之和。题目:要你找到f(5)对应的值,即f(0)=0,f(1)=1,f(2)=1,f(3)=2…f(5)=5解法:f(5)进行拆解把f(5)想象成f(n),它在无限调用自己的函数f(n)。。。无外乎是n的值一直在变化,一直到n=0或1的时候停止,因为f(0)和f(1)的值我们是知道的,不需要再调用自己了。每一次拆解,如把f(5)拆解成f(4)+f(
2021-06-24 21:18:00
132
1
原创 力扣视频笔记19——分治法、投票法+169+53(动态规划)
分治法定义例子题目169思路+伪代码定义用到了递归的思想例子归并排序——用到的思想就是分治法从小到大进行依次排序步骤:每次都对半分,对半分,一直分到集合里面只有一个数的时候。(分解到不可以再分为止)最后分成了一个个数,即一个个小问题。然后,把分解的结果往上推。首先:两两排序,7,8排好序为784,1排好序为14 6,5排好序为562,3排好序为23再把上部分得到的小解,两两排序。78和14排序——147856和23排序——2356在把解排序即1478和2356排序—
2021-06-21 15:54:01
220
原创 力扣视频笔记18——滑动窗口+209+1456
滑动窗口目的例子什么时候用滑动窗口题目209思路伪代码代码目的减少while循环例子常规做法:从第一个元素开始,指针往后移,每三个数相加。当指针在1时,1+4+2=7当指针在2时,4+2+3=9可以看到,4+2被加了两次,有没有什么办法只计算一次4+2呢(不用重复计算这样的步骤呢)滑动窗口的做法:窗口是固定的,题目告诉你了3个数之和,因此窗口长度为3.第一次窗口,1+4+2=7第二次窗口7(原来的和)-1(出去的数)+3(新加入的数)=9第三个窗口同理,减去出去的,加上新加
2021-06-20 15:22:12
269
原创 力扣视频笔记17——二分查找法+704+881
二分查找法定义例子题目704思路+代码题目35思路+代码定义每次砍掉一半的数在你的范围内。例如:猜数字心里的数字是23方法一(笨方法):从0开始一直依次的猜,总共要猜23次,时间复杂度为0(N)方法二:(二分法)每次砍掉一半的数字猜测,第一次猜0-100的一半数字50,大了。则在0-50的一半,猜25,大了,0-25的一半,猜13,小了,13-25的一半,猜19,小了,19-25的一半,猜22,小了,22-25的一半,再猜 23.时间复杂度为o(logN)减少了时间复杂度,每次都是一半一半。
2021-06-18 15:49:17
176
1
原创 力扣视频笔记16——双指针算法+141+881
双指针算法定义例子题目141定义普通对撞:一个在头,一个在尾,对撞着移动。快慢例子有序数组(排列好的数组)1.普通双指针:一个前指针,一个后指针,i指针从1开始,j指针依次往后遍历,当遍历到数组最后还是没有相加为12时,i指针往后移动到4,j指针从5开始遍历。。。。。每一个i的循环里面,j最多移动N次(N为数组a里面的个数),i最多也要移动N次(从头到尾)时间复杂度:N的平方2.对撞双指针:首先两个指针一个在头,一个在尾。因为是有序排列,所以i对应着最小值,j对应着最大值。
2021-06-17 20:54:35
246
1
原创 力扣视频笔记16——堆-leetcode215(第K个最大元素)+692(前k个高频单词)
堆215题目思路、伪代码代码692题目思路、伪代码215题目思路、伪代码首先将数组用最大堆进行排列。注意:顺序不一定是从大到小排位【6,5,4,3,2,1】最后的结果为【6,5,4,2,3,1】要把数依次填入树中,首先满足完全二叉树,然后再与父节点进行比较交换满足最大堆。然后依次删除堆顶元素,第一个堆顶元素对应第一个最大的值。删除以后,第二个堆顶元素定义第二个最大的值,删除 ,第三个堆顶元素对应第三个最大值。。。。。代码692题目思路、伪代码单词,出现次数——哈希表的ke
2021-06-15 09:10:41
164
原创 lambda表达式——匿名类
lambda表达式,允许我们将行为传到函数中。lambda表达式的功能相当强大,用 () - > 就可以代替整个匿名内部类!注意:要把参数括起来,要有括号。
2021-06-13 13:19:17
219
原创 力扣视频笔记15——堆
堆定义时间复杂度堆的常用操作创建添加元素获取堆顶元素删除堆顶元素大小遍历(边删除边遍历)定义只要在满足一定条件下的二叉树才能称为堆。首先是完全二叉树,其次:每个节点要么都大于等于孩子节点。(最大堆)或者每个节点都小于等于孩子节点。(最小堆)时间复杂度对于添加来说,如果要在最大堆里面添加一个数,要把添加的数和他的父节点相比较(不需要和同级进行比较),如果把父节点大,要彼此替换。换完以后再与上上级父节点进行比较。对于删除来说,指的是删除堆顶元素,而不是堆里面的任何一个元素。每次也只是跟父
2021-06-11 09:36:48
263
1
原创 力扣视频笔记14——树
树定义节点、根节点、叶子节点高度、深度、层二叉树普通二叉树:满二叉树完全二叉树二叉树的遍历前序遍历中序遍历后序遍历定义具有父子关系的叫做树。一定是知道谁是父亲,谁是孩子。节点、根节点、叶子节点所以的点都为节点;最上面的为根节点;叶子节点为最下面的节点;高度、深度、层高度为从下往上看;(0开始)深度为从上往下看;(0开始)层为第一层、第二层、第三层。。。二叉树普通二叉树:每个节点最多两个孩子。可以无孩子,1个孩子,2个孩子。(不能有超过2个孩子的节点)满二叉树除了叶子节点
2021-06-10 16:59:15
100
原创 力扣视频笔记13——集合
集合定义集合的作用哈希集合定义集合的作用重复元素:判断集合长度和原来长度是否相等,不相等则代表有重复元素。哈希集合HashSet
2021-06-09 20:59:30
106
原创 哈希表——(存在重复元素217)+(找不同389)成对的数中找出落单的那个!
哈希表leetcode217题目思路代码leetcode389题目思路leetcode217题目思路第一种:数组排序后,判断相邻元素是否相等。第二种:建立哈希表。看是否有重复元素(看长度是否相等)第三种:建立集合。对于数组中的每个元素,我们将它插入到集合中。如果插入一个元素时发现元素已经存在于集合中,则说明存在重复的元素。代码第四种:创建哈希表,依次遍历数组元素,统计出现的次数。即key为数字,value为数字出现的次数。当次数超过1时,说明有重复元素,此时返回true;否则返回f
2021-06-09 20:36:40
89
原创 力扣视频笔记12——哈希表
哈希表哈希表常用操作创建添加元素更新元素删除元素获取元素检查key是否存在长度,是否还有元素leetcode217题目思路代码leetcode389题目思路哈希表常用操作创建有两种方式:一种是数组方式创建,一种是HashMap添加元素更新元素删除元素获取元素检查key是否存在长度,是否还有元素size() 方法用于计算 hashMap 中键/值对的数量。key不可以重复,但是value是可以重复的,如果put了相同的key,那么后面的会覆盖前面的。。leetcode2
2021-06-09 16:01:17
229
原创 力扣视频笔记11——leetcode20+496(栈的操作+哈希表)
栈题目20思路+伪代码题目20思路+伪代码设置一个栈用来存放括号依次遍历字符串当遇到左括号时,放进栈里。遇到右括号时,把栈顶元素拿出看是否匹配,匹配成功则遍历下一个元素。最后True应该是为空,因为两两匹配都结束了。如果为Flase,应该是栈不为空,有多余的单身狗。...
2021-06-08 10:27:57
131
原创 力扣视频笔记10——栈stack+常用操作
栈栈时间复杂度常用操作创建栈添加获取栈顶元素删除栈顶元素栈的大小是否为空遍历元素栈浏览器后退功能,后退到最新的浏览界面先看A-B-C网页后退时,返回的是C-B-A时间复杂度访问,删除,都是对应的栈顶元素,时间复杂度都为o(1)常用操作创建栈Stack声明栈< Integer >声明栈里面的元素是什么new 创建栈的实例添加获取栈顶元素删除栈顶元素栈的大小是否为空或者判断当前长度是否为0遍历元素...
2021-06-06 13:23:59
106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人