- 博客(50)
- 收藏
- 关注
原创 无参装饰器模板
装饰器经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等应用场景,装饰器是解决这类问题的绝佳设计,有了装饰器,就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。“装饰”代指为被装饰对象添加新的功能,“器”代指器具/工具,装饰器与被装饰的对象均可以是任意可调用对象。当需要增加新需求,需要对代码进行扩展时,而不修改源代码与调用方式,则使用装饰器对源代码功能进行扩展。装饰器的作用就是在不修改被装饰对象源代码和调用方式的前提下为被装饰对象添加额外的功能。
2023-12-12 10:03:58
71
原创 图像基本操作
1.数据读取-图像2.数据读取-视频cv2.cvtColor(p1,p2) 是颜色空间转换函数,p1是需要转换的图片,p2是转换成何种格式。cv2.COLOR_BGR2RGB 将BGR格式转换成RGB格式,cv2.COLOR_BGR2GRAY 将BGR格式转换成灰度图片。3.截取部分图像数据4.颜色通道提取5.边界填充6.矩阵加减运算7.图像融合...
2020-11-23 13:24:57
148
原创 聚类算法
1.聚类2.聚类应用3.聚类与分类比较4.Kmeans算法在开始聚类前我们不知道n_cluster为多少,如果可能的话可以通过绘图先观察一下这个数据集的数据分布,以此来为我们聚类时输入的n_cluster做一个参考4.1算法流程...
2020-11-23 09:59:25
183
原创 类别不平衡问题
1.数据不平衡问题采样与加权等方法。1.1下采样下采样是从大众类中剔除一些样本,或者说只从大众类中选取部分样本。下采样的缺点是最终的训练集丢失了数据,模型只学到了总体模式的一部分。EasyEnsemble,利用模型融合的方法(Ensemble):多次下采样(放回采样,这样产生的训练集才相互独立)产生多个不同的训练集,进而训练多个不同的分类器,通过组合多个分类器的结果得到最终的结果。 BalanceCascade,将Adaboost作为基分类器,其核心思路是在每一轮训练时都使用多数类与少
2020-11-19 19:59:04
154
原创 决策树
目录1. 什么是决策树1.1 决策树的基本思想1.2 “树”的成长过程1.3 "树"怎么长1.4ID3算法1.5C4.51.6CART算法2. 树形结构为什么不需要归一化?3. 分类决策树和回归决策树的区别4. 决策树如何剪枝1. 什么是决策树1.1 决策树的基本思想决策树(decision tree):是一种基本的分类与回归方法LR模型是一股脑儿的把所有特征塞入学习,而决策树更像是编程语言中的if-else一样,对特征做条件判断,这就是...
2020-11-18 23:41:24
152
原创 Logistics Regression
1. 什么是逻辑回归逻辑回归(Logistics Regression,LR)也称为"对数几率回归",又称为"逻辑斯谛"回归。2. 什么是Sigmoid函数
2020-11-18 21:17:29
181
原创 计算机网络
IP地址表示你在哪个教室,而mac地址表示你在教室的哪个位置两个局域网之间进行通信需要通过网关网络层(TCP/IP协议)传输层通过端口号找到是发送到哪个应用程序上的信息...
2020-11-04 22:16:46
89
原创 文件
文件open()mode: 可选,文件打开模式 buffering: 设置缓冲, encoding: 一般使用utf8stream.readable() 判断是否可以读取 True Falsestream.readline() 读取一行(后面加换行)stream.readlines() 读取多行,返回的是每行内容的列表读取图片不能使用默认的读取方式,需使用rb...
2020-06-27 12:31:59
183
原创 匿名函数
匿名函数用于简化函数定义格式: lambda 参数1, 参数2.. : 运算s = lambda a, b: a + bprint(s) # s 就是函数functionresult = s(1, 2)print(result)匿名函数作为参数# 匿名函数作为参数def func(x, y, func): print(x, y) print(func) s = func(x, y) print(s)# 调用funcfu...
2020-06-24 13:33:32
1591
原创 装饰器
装饰器:应用广泛,依赖闭包,是在闭包的基础上的升级def decorate(func): # 定义一个装饰器 a = 100 def wrapper(): # 包装 装饰 func() # 调用被装饰函数,保持其原功能 print(' wrapper print a :', a) return wrapper decorate(xxx) # 传入函数名 作为参数注释:func是一个函数,d
2020-06-23 10:11:05
104
原创 范数
什么是范数?范数,是具有 “长度” 概念的函数。在线性代数、泛函分析及相关的数学领域,范数是一个函数,是矢量空间内的所有矢量赋予非零的正长度或大小。在数学上,范数包括向量范数和矩阵范数。向量范数表征向量空间中向量的大小,矩阵范数表征矩阵引起变化的大小。 一种非严密的解释就是,对应向量范数,向量空间中的向量都是有大小的,这个大小如何度量,就是用范数来度量的,不同的范数都可以来度量这个大小,就好比米和尺都可以来度量远近一样;对于矩阵范数,学过线性代数,我们知道,通过运算 AX=B,可以将向量 X .
2020-06-21 20:11:24
436
原创 python排序模块:bisect
import bisectdata = [2,4,7,9]# * 使用该模块时需确保操作的列表是已排序的# bisect.insort(list, boj) 在有序列表中插入元素,不影响原有的排序,插入后的列表仍是有序的bisect.insort(data, 3)print(data) # data = [2,3,4,7,9] 使用bisect.insort()结果是有序列表# insort_left 和 insort_right 用于有重复元素的列表,left-插入在.
2020-06-18 13:23:40
305
原创 内部函数
外层函数的变量,如果想要在内层函数进行修改,需要nonlocal(局部变量)def fun(): a = 1 def fun1(): # fun1()称为内部函数 b=2内部函数:
2020-06-17 21:01:33
337
原创 torchsample
pytorch像Keras一样的方式运行模型from torchsample.modules import ModuleTrainerclass Network(nn.Module): passmodel = Network()trainer = ModuleTrainer(model)trainer.compile(.......)
2020-06-14 13:18:00
1432
1
原创 pytorch中的钩子Hook)作用
pytorch对于中间变量,一旦它们完成了自身反传的使命,就会被释放掉。因此,hook就派上用场了。简而言之,register_hook的作用是,当反传时,除了完成原有的反传,额外多完成一些任务。你可以定义一个中间变量的hook,将它的grad值打印出来,当然你也可以定义一个全局列表,将每次的grad值添加到里面去。至于register_forward_hook和register_backward_hook的用法和这个大同小异。只不过对象从Variable改成了你自己定义的nn.Modu...
2020-06-14 13:12:47
273
原创 快速排序
快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为较小和较大的2个子序列,然后递归地排序两个子序列。步骤为: 挑选基准值:从数列中挑出一个元素,称为"基准"(pivot); 分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(与基准值相等的数可以到任何一边)。在这个分割结束之后,对基准值的排序就已经完成; 递归排序子序列:递归地将小于基准值元素的子序列和大于基准值元素的子序列排序。 递归到最底
2020-06-12 16:48:29
117
原创 归并排序
归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用
2020-06-12 15:44:52
127
原创 可变与不可变
列表和字典进行修改时,还是在同一个内存地址中,不会开辟新的地址空间可变集合set和不可变集合frozenset的区别:集合是不同元素的无序集合。与序列类型不同(如列表,字符串等),集合是没有切片操作的。frozenset()函数描述:可以将其它的组合数据类型转化为不可变集合类型(或将可变的集合类型set转变为不可变的集合类型frozenset),返回一个无重复元素且排序任意的不可变集合。不可进行元素的添加、删除操作 add() clear() di...
2020-06-09 13:58:19
139
原创 集合
声明集合:set() 集合具有元素不重复的特点创建空集合,只能使用set()应用:如果将一个列表快速去重 set() s1 = set() # 创建空集合,只能使用set()s2 = {1,3,7} # 字典:{key:value, key:value, ...} 集合 {元素1,元素2,元素3,....}# 应用:如果将一个列表快速去重 set() 集合具有元素不重复的特点list1 = [3,5,8,9,1,8,4,2,8,9]s3 = set(list1)prin..
2020-06-09 13:31:26
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人