阈值

模型评价指标:AUC

一笑奈何 提交于 2019-12-04 10:57:46
参考链接: https://www.iteye.com/blog/lps-683-2387643 问题: AUC是什么 AUC能拿来干什么 AUC如何求解(深入理解AUC) AUC是什么 混淆矩阵(Confusion matrix) 混淆矩阵是理解大多数评价指标的基础,毫无疑问也是理解AUC的基础。丰富的资料介绍着混淆矩阵的概念,这里用一个经典图来解释混淆矩阵是什么。 显然,混淆矩阵包含四部分的信息: 1. True negative(TN),称为真阴率,表明实际是负样本预测成负样本的样本数 2. False positive(FP),称为假阳率,表明实际是负样本预测成正样本的样本数 3. False negative(FN),称为假阴率,表明实际是正样本预测成负样本的样本数 4. True positive(TP),称为真阳率,表明实际是正样本预测成正样本的样本数 对照着混淆矩阵,很容易就能把关系、概念理清楚,但是久而久之,也很容易忘记概念。不妨我们按照位置前后分为两部分记忆,前面的部分是True/False表示真假,即代表着预测的正确性,后面的部分是positive/negative表示正负样本,即代表着预测的结果,所以,混淆矩阵即可表示为 正确性-预测结果 的集合。现在我们再来看上述四个部分的概念(均代表样本数,下述省略): 1. TN,预测是负样本,预测对了 2. FP

css的定位类型

依然范特西╮ 提交于 2019-12-04 06:51:01
static 定位 HTML 元素的默认值,即没有定位,遵循正常的文档流对象。 静态定位的元素不会受到 top, bottom, left, right影响。 fixed 定位 元素的位置相对于浏览器窗口是固定位置。 即使窗口是滚动的它也不会移动: relative 定位 相对定位元素的定位是相对其正常位置。 absolute 定位 绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>: absolute 定位使元素的位置与文档流无关,因此不占据空间。 absolute 定位的元素和其他元素重叠。 sticky 定位 sticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位。 position: sticky; 基于用户的滚动位置来定位。 粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。 它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。 元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。 这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一

BP算法推导python实现

ぃ、小莉子 提交于 2019-12-04 04:09:14
def sigmoid (inX): return 1.0/( 1+exp(-inX)) ''' 标准bp算法 每次更新都只针对单个样例,参数更新得很频繁s dataSet 训练数据集 labels 训练数据集对应的标签 标签采用one-hot编码(一位有效编码),例如类别0对应标签为[1,0],类别1对应标签为[0,1] alpha 学习率 num 隐层数,默认为1层 eachCount 每一层隐层的神经元数目 repeat 最大迭代次数 算法终止条件:达到最大迭代次数或者相邻一百次迭代的累计误差的差值不超过0.001 ''' def bp(dataSet, labels, alpha = 0.01, num = 1, eachCount = 10, repeat = 500): dataSet = mat(dataSet) m,n = shape(dataSet) if len(labels) == 0: print 'no train data! ' return yCount = shape(labels[0])[1] # 输出神经元的数目 firstWMat = mat(random.sample((n + 1, eachCount))) # 输入层到第一层隐层的w值和阈值,每列第一个为阈值 hideWArr = random.sample((num - 1,

python验证码处理(1)

自古美人都是妖i 提交于 2019-12-04 02:16:07
目录 一.普通图形验证码   这篇博客及之后的系列,我会向大家介绍各种验证码的识别。包括普通图形验证码,极验滑动验证码,点触验证码,微博宫格验证码。 一.普通图形验证码   之前的博客已向大家介绍了简单的图形验证码的处理过程,但是会和实际的有所差别,这是因为验证码内的多余线条与图案干扰了图片的识别。因此,对于这种情况,需要我们进行一些处理,然后才能识别出正确的结果,下面是进行处理的方法。 1.灰度处理   可以用Image对象的convert()方法传入参数L,就可以把图片转化为灰度图像,如下代码: img = Image.open('1.jpg') image = img.convert('L') image.show() 结果为: 2.二值化处理   可以传入1进行二值化处理,如下代码: img = Image.open('1.jpg') image = img.convert('1') image.show() 结果为:   还可以指定二值化的阈值,默认的阈值是127,要指定的话必须要先转化为灰度图像,再指定二值化的阈值。代码如下: image = Image.open('1.jpg') # 先转化为灰度图片 image = image.convert('L') threshold = 180 # 设置阈值 my = [] for i in range(256): if i

SpringBoot_Hystrix

白昼怎懂夜的黑 提交于 2019-12-03 06:27:53
什么是Hystrix hystrix对应的中文名字是“豪猪”,豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制,这与hystrix本身的功能不谋而合,因此Netflix团队将该框架命名为Hystrix,并使用了对应的卡通形象做作为logo。简单来说Hystrix是一个断融机制以保证微服务架构下各个微服务节点始终保持高可用。 Hystrix能干什么 在一个分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败,这个就是Hystrix需要做的事情。Hystrix提供了熔断、隔离、Fallback、cache、监控等功能,能够在一个、或多个依赖同时出现问题时保证系统依然可用。 Hystri的应与场景 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC) 。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。 如下图所示:A作为服务提供者,B为A的服务消费者,C和D是B的服务消费者

OpenCV学习笔记(5)――颜色空间转换

匿名 (未验证) 提交于 2019-12-03 00:40:02
学习如歌对图像进行颜色空间转换,从BGR到灰度图,或者从BGR到HSV等 创建一个程序用来从一幅图像中获取某个特定颜色的物体 1.转换颜色空间   OpenCV中有超过150种进行颜色空间转化的方法,但是实际上经常用到的也就两种:BGR<->Gray,BGR<->HSV   要用的函数是cv2.cvtColor(input_img,flag)flag就是转换类型   cv2.COLOR_BGR2GRAY 就是BGR<->Gray转换   cv2.COLOR_BGR2HSV 就是BGR<->HSV的转化 (介绍一下HSV格式,H指色彩/色度,取值[0,179],S是饱和度[0,255],V是亮度[0,255]。不同软件使用的值可能不同,所以当需要拿OpenCV的HSV值与别的软件的HSV值进行对比时要注意归一化) 也可以用一下代码获得所有可用的flag import cv2 flags = [i for i in dir(cv2) if i.startswith( ‘COLOR_‘)] print(flags) 2.实现物体的跟踪   在知道如何将BGR转换到HSV后,就可以利用这一点来提取带有某个特定颜色的物体。在HSV的颜色空间中要比BGR空间中个更容易表示某一个特定颜色。我们先尝试提取一个蓝色的物体,步骤如下: 从视频中获取每一帧图像 将图像转化到HSV空间

OpenCV---超大图像二值化和空白区域过滤

匿名 (未验证) 提交于 2019-12-03 00:40:02
超大图像的二值化方法 1.可以采用分块方法, 2.先缩放处理就行二值化,然后还原大小 一:分块处理超大图像的二值化问题 def big_image_binary(image): print(image.shape) #( 4208 , 2368 , 3 )   #超大图像,屏幕无法显示完整 cw,ch = 256 , 256 h,w = image.shape[: 2 ] gray = cv.cvtColor(image,cv.COLOR_RGB2GRAY) #要二值化图像,要先进行灰度化处理 for row in range( 0 ,h,ch): for col in range( 0 ,w,cw): roi = gray[row:row+ch,col:col+ cw] #获取分块 # ret,binary = cv.threshold(roi, 0 , 255 ,cv.THRESH_BINARY| cv.THRESH_OTSU)  #全局阈值 binary = cv.adaptiveThreshold(roi, 255 ,cv.ADAPTIVE_THRESH_GAUSSIAN_C,cv.THRESH_BINARY, 127 , 20 )  #局部阈值 gray[row:row + ch, col:col + cw] = binary   #分块覆盖 print(np.std

人工神经网络基础

匿名 (未验证) 提交于 2019-12-03 00:27:02
神经网络中最基本的成分是神经元模型,在生物神经元中每个神经元与其他神经元相连,当他“兴奋”时就会向连接的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过一个“阈值”那么他就会被激活,即兴奋起来,向其他神经元发送化学物质。 1943年,【McCulloch and Pitts】将上述的情形抽象为如图所示的简单模型,这就是一直沿用至今的“M-P神经元模型”。在这个模型中,神经元接收来自n个其他神经元的输入信号,这些信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过“激活函数”处理已产生的神经元的输出。 阈值的目的是:使通过激活函数后得到的非线性图像可以左右移动而增加解决问题的能力 理想中的激活函数是阶跃函数,他将输入值映射成为0或1,1对应神经元的兴奋。0对应神经元的抑制,然而阶跃函数具有不连续不光滑等不好的性质,因此常用Sigmoid函数作为激活函数,典型的Sigmoid函数如如所示,它把可能在较大范围内变化的输入值挤压到(0,1)输出值范围内,因此也常被称为挤压函数。 激活函数通常选择非线性的函数,非线性的函数比起线性的函数进行任意的线性组合,或者在复合一个线性函数,仍得到一个线性函数;而非线性的函数进行线性符合或者在复合非线性函数之后得到的就不再是一个线性函数,它将呈现一个更加回环曲折的图像。 激活函数的主要作用是

Matlab多目标跟踪示例(一):Motion-Based Multiple Object Tracking

匿名 (未验证) 提交于 2019-12-03 00:26:01
示例地址: https://cn.mathworks.com/help/vision/examples/motion-based-multiple-object-tracking.html 简单来说,基于动态的多目标跟踪主要分为两步: ①在每帧中检测出移动的目标 ②将检测到的目标与之前正在跟踪的同一个目标关联起来 第①步又分为: a)使用混合高斯模型做背景减法,得到移动的目标。(前后景分离) b)通过形态学操作消除前景掩膜中的噪声。 c)通过blob分析检测连通域,得到对应的移动目标。 在第②步开始前先解释下下列名词: unassigned detection:当前帧中,新检测到的目标与所有正在跟踪的目标(轨迹)都不能匹配 assigned detection:当前帧中,新检测到的目标能匹配到轨迹 unassigned tracking:当前帧中,匹配不到新检测到的目标的轨迹 assigned tracking:当前帧中,能匹配到新检测到的目标的轨迹 第②步又分为: d)利用卡尔曼滤波计算并预测每个轨迹在下一帧中的位置,然后计算预测的轨迹位置和每个新检测到的目标之间的欧几里得距离,将度量结果作为损失函数矩阵,再使用匈牙利匹配算法根据阈值计算得到assigned/unassigned tracking/detection。 e)更新tracking和detection

基于模糊集的图像增强方法

匿名 (未验证) 提交于 2019-12-03 00:26:01
图像去噪处理方法可分以下两大类: { 空 间 域 法 : 变 换 域 法 : 在 ԭ ͼ 像 上 ֱ 接 进 行 数 据 运 算 , 对 像 素 的 灰 度 ֵ 进 行 处 理 在 ͼ 像 的 变 换 域 上 处 理 , 对 变 换 后 的 ϵ 数 进 行 相 Ӧ 处 理 , 再 反 变 换 达 到 ȥ 噪 的 Ŀ 的 { 空 间 域 法 : 在原图像上直接进行数据运算,对像素的灰度值进行处理 变 换 域 法 : 在图像的变换域上处理,对变换后的系数进行相应处理,再反变换达到去噪的目的 例 1 : 基 于 离 ɢ 余 弦 变 换 的 ͼ 像 ȥ 噪 例 1 : 基 于 离 ɢ 余 弦 变 换 的 ͼ 像 ȥ 噪 噪声抑制原理:一般,认为图像的噪声在离散余弦变换结果的高频部分,而高频部分的幅值一般很小,利用这一性质可实现图像的噪声抑制。 %DCT 变换 Y = dct2(Xnoise); %离 散余弦变换 I = size (m,n); %m ,n为处理图像的大小 %高 频屏蔽 I( 1 :m/ 3 :n/ 3 ) = 1 ; Ydct = Y. *I ; %逆 DCT变换 Y = uint8(idct2(Ydct)); 例 2 : 基 于 С 波 变 换 的 ͼ 像 ȥ 噪 例 2 : 基 于 С 波 变 换 的 ͼ 像 ȥ 噪 小波变换去噪可以提取并保存对视觉其主要作用的边缘信息