自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 pytorch 构建神经网络对CIFAR10 数据集进行分类

1. 先建立网络模型(卷积层加全连接层)import torch.nn as nnimport torch.nn.functional as Fclass Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(3, 6, 5) self.pool = nn.MaxPool2d(2, 2) self.conv2

2021-03-11 19:43:38 682

原创 利用 VGG(实战) 实现花的分类

1.处理数据def creat_tf(imgpath): classes = os.listdir(imgpath) writer = tf.compat.v1.python_io.TFRecordWriter("train.tfrecords") for index, name in enumerate(classes): class_path = imgpath + name if os.path.isdir(class_path):

2021-03-02 11:39:34 803 4

原创 json - dump

json.dumps(dic1,sort_keys=True,indent =4,separators=(',', ': '),encoding="gbk",ensure_ascii=True )Skipkeys:默认值是False,如果dict的keys内的数据不是python的基本类型(str,unicode,int,long,float,bool,None),设置为False时,就会报TypeError的错误。此时设置成True,则会跳过这类keyensure_ascii:默认值True.

2021-01-05 09:08:52 255 1

原创 ROC曲线,曲线下的面积(Aera Under Curve,AUC),P-R曲线

ROC曲线是Receiver Operating Characteristic Curve的简称,中文名为“受试者工作特征曲线”。ROC曲线源于军事领域,而后在医学领域应用甚广,“受试者工作特征曲线”这一名称也正是来自于医学领域。ROC曲线的横坐标为假阳性率(False Positive Rate,FPR);纵坐标为真阳性率(True Positive Rate,TPR)。FPR和TPR的计算方法分别为: **FPR = FP/N** ...

2020-12-17 15:51:11 1391

原创 C++之深拷贝与浅拷贝

深浅拷贝是面试经典问题,也是常见的一个坑浅拷贝:简单的赋值拷贝操作 深拷贝:在堆区重新申请空间,进行拷贝操作class Person {public: //无参(默认)构造函数 Person() { cout << "无参构造函数!" << endl; } //有参构造函数 Person(int age ,int height) { cout << "有参构造函数!" << endl; m_age = age;

2020-11-25 09:23:17 131

原创 C++中的引用

本质:引用的本质在c++内部实现是一个指针常量.//发现是引用,转换为 int* const ref = &a;void func(int& ref){ ref = 100; // ref是引用,转换为*ref = 100}int main(){ int a = 10; //自动转换为 int* const ref = &a; 指针常量是指针指向不可改,也说明为什么引用不可更改 int& ref = a; ref = 20; //内部发

2020-11-25 08:38:18 114

原创 利用OPCV 找到图像中的连通区域(connectedComponentsWithStats)

什么是连通域连通区域一般是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域。连通区域分析是指将图像中的各个连通区域找出并标记。连通区域分析是一种在CVPR和图像分析处理的众多应用领域中较为常用和基本的方法。例如:OCR识别中字符分割提取(车牌识别、文本识别、字幕识别等)、视觉跟踪中的运动前景目标分割与提取(行人入侵检测、遗留物体检测、基于视觉的车辆检测与跟踪等)、医学图像处理(感兴趣目标区域提取)、等等。也就是说,在需要将前景目标提取出来以便后续进行处理的应用场景中都能够用到连通区域分析方法

2020-11-23 14:19:32 974 1

原创 图像处理腐蚀与膨胀

图像的腐蚀(erosion)和膨胀(dilation)是两种基本的形态学运算,主要用来寻找图像中的极大区域和极小区域.腐蚀(erosion):  腐蚀类似 '领域被蚕食' ,将图像中的高亮区域或白色部分进行缩减细化,其运行结果图比原图的高亮区域更小形态学转换主要针对的是二值图像(0或1)。图像腐蚀类似于“领域被蚕食”,将图像中的高亮区域或白色部分进行缩减细化,其运行结果图比原图的高亮区域更小。其主要包括两个输入对象:(1)二值图像(2)卷积核图示:说明:左边是图像X(二.

2020-11-23 13:45:24 8247 2

转载 指针相关知识

指针的作用: 可以通过指针间接访问内存 内存编号是从0开始记录的,一般用十六进制数字表示 可以利用指针变量保存地址 int main() { //1、指针的定义 int a = 10; //定义整型变量a //指针定义语法: 数据类型 * 变量名 ; int * p; //指针变量赋值 p = &a; //指针指向变量a的地址 cout << &a << endl; //打印数据a的地址 cout <&...

2020-11-21 09:57:19 114

原创 文本分类、情感分析和垃圾邮件识别

朴素贝叶斯分类最适合的场景就是文本分类、情感分析和垃圾邮件识别。其中情感分析和垃圾邮件识别都是通过文本来进行判断。从这里你能看出来,这三个场景本质上都是文本分类,这也是朴素贝叶斯最擅长的地方。所以朴素贝叶斯也常用于自然语言处理 NLP 的工具。sklearn 的全称叫 Scikit-learn,它给我们提供了 3 个朴素贝叶斯分类算法,分别是高斯朴素贝叶斯(GaussianNB)、多项式朴素贝叶斯(MultinomialNB)和伯努利朴素贝叶斯(BernoulliNB)。这三种算法适合应用在不同的场景下

2020-11-20 09:12:37 1239

原创 朴素贝叶斯分类

贝叶斯原理是英国数学家托马斯·贝叶斯提出的。贝叶斯是个很神奇的人,他的经历类似梵高。生前没有得到重视,死后,他写的一篇关于归纳推理的论文被朋友翻了出来,并发表了。这一发表不要紧,结果这篇论文的思想直接影响了接下来两个多世纪的统计学,是科学史上著名的论文之一。贝叶斯原理跟我们的生活联系非常紧密。举个例子,如果你看到一个人总是花钱,那么会推断这个人多半是个有钱人。当然这也不是绝对,也就是说,当你不能准确预知一个事物本质的时候,你可以依靠和事物本质相关的事件来进行判断,如果事情发生的频次多,则证明这个属性更有

2020-11-19 08:56:54 379

原创 支持向量机(SVM)

Support Vector Machines在监督学习中,许多学习算法的性能都非常类似,因此,重要的不是你该选择使用学习算法A还是学习算法B,而更重要的是,应用这些算法时,所创建的大量数据在应用这些算法时,表现情况通常依赖于你的水平。比如:你为学习算法所设计的特征的选择,以及如何选择正则化参数,诸如此类...

2020-11-14 11:11:47 993

原创 冒泡排序算法

作用: 最常用的排序算法,对数组内元素进行排序 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。 重复以上的步骤,每次比较次数-1,直到不需要比较 将数组 { 4,2,8,0,5,7,1,3,9 } 进行升序排序 :int main() { int arr[9] = { 4,2,8,0,5,7,1,3,9 }; for (int i = 0; i < 9 - 1; i++) // 元素

2020-11-13 11:53:56 98

原创 数组

数组的所占内存空间,元素个数,以及首地址。int main() { //1、可以获取整个数组占用内存空间大小 int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; cout << "整个数组所占内存空间为: " << sizeof(arr) << endl; cout << "每个元素所占内存空间为: " << sizeof(arr[0]) << endl; co...

2020-11-13 11:47:06 130

原创 决策树之CART 算法(回归树,分类树)

CART 算法,英文全称叫做 Classification And Regression Tree,中文叫做分类回归树。ID3 和 C4.5 算法可以生成二叉树或多叉树,而 CART 只支持二叉树。同时 CART 决策树比较特殊,既可以作分类树,又可以作回归树。什么是分类树,什么是回归树呢?1.分类树可以处理离散数据,也就是数据种类有限的数据,它输出的是样本的类别,而回归树可以对连续型的数值进行预测,也就是数据在某个区间内都有取值的可能,它输出的是一个数值。2.决策树的核心就是寻找纯净的

2020-11-13 10:51:53 4005

原创 lanenet 制作自己的跑道数据集(labelme)

最近做一个跑道线的检测,在此记录一下生成自己数据集的方法:1.安装labelme 标注工具。 具体参考https://blog.csdn.net/qq_38451119/article/details/83036495, 不多赘述,安装完成后在控制器输入labelme打开标注工具。2.选择自己图片所在文件夹,进行标注,标注方式可以在选中的图片上右击进行选择,我选择的是 Create LineStrip .标注完成后会生成相应的json文件,如下图:3.处理得到的json文件.

2020-11-13 10:19:50 1537 6

原创 卷积神经网络 实现验证码识别 ---- 识别率 99%

1. 创建自己的数据集,利用数字1-10 和 26个小写字母生成我们的训练数据集。from captcha.image import ImageCaptchaimport randomCHAR_SET = ['1', '2', '3', '4', '5','6', '7', '8', '9', '0','a','b','c','d','e','f','g','h','i','j','k','l','m','n']CHAR_LEN = len(CHAR_SET)CAPTCHA_LEN = 4

2020-11-12 09:01:31 1326 18

原创 泰坦尼克号乘客生存预测(决策树)

#泰坦尼克号乘客生存预测import pandas as pdfrom sklearn.tree import DecisionTreeClassifierfrom sklearn.feature_extraction import DictVectorizerimport numpy as npfrom sklearn.model_selection import cross_val_scorefrom sklearn import treeimport graphviz#数据加载t.

2020-11-12 08:36:20 1028

原创 决策树之C4.5算法

1. 采用信息增益率因为 ID3 在计算的时候,倾向于选择取值多的属性。为了避免这个问题,C4.5 采用信息增益率的方式来选择属性。信息增益率 = 信息增益 / 属性熵,具体的计算公式这里省略。当属性有很多值的时候,相当于被划分成了许多份,虽然信息增益变大了,但是对于 C4.5 来说,属性熵也会变大,所以整体的信息增益率并不大。2. 采用悲观剪枝ID3 构造决策树的时候,容易产生过拟合的情况。在 C4.5 中,会在决策树构造之后采用悲观剪枝(PEP),这样可以提升决策树的泛化能力。悲观剪枝是

2020-11-12 08:28:08 2517

原创 决策树之 ID3 算法

在现实生活中,我们会遇到各种选择,不论是选择男女朋友,还是挑选水果,都是基于以往的经验来做判断。如果把判断背后的逻辑整理成一个结构图,你会发现它实际上是一个树状图。我们在做决策树的时候,会经历两个阶段:构造和剪枝。构造就是生成一棵完整的决策树。简单来说,构造的过程就是选择什么属性作为节点的过程,那么在构造过程中,会存在三种节点: 根节点:就是树的最顶端,最开始的那个节点。 内部节点:就是树中间的那...

2020-11-11 09:32:48 1674

原创 opcv基础操作

1.图片的载入import cv2 as cv#imread 函数用来读取照片src = cv.imread("E:0.jpg")#namedwindow 函数用来指定输出图像的尺寸和窗口大小, autosize是自动大小cv.namedwindow("input image",cv.WINDOW_AUTOSIZE)#imshow 用来展示照片cv.imshow("input image", src)#等待键盘触发, 否则一直在此窗口等待cv.waitKey(0)#结束所有

2020-11-11 08:38:11 868

原创 GAN(博弈)- 生成手写数据集

2.1 GAN的基本结构GAN的主要结构包括一个生成器G(Generator)和一个判别器D(Discriminator)。我们现在拥有大量的手写数字的数据集,我们希望通过GAN生成一些能够以假乱真的手写字图片。主要由如下两个部分组成:定义一个模型来作为生成器(图三中蓝色部分Generator),能够输入一个向量,输出手写数字大小的像素图像。 定义一个分类器来作为判别器(图三中红色部分Discriminator)用来判别图片是真的还是假的(或者说是来自数据集中的还是生成器中生成的),...

2020-11-10 11:38:58 1493 1

原创 OPCV

均值滤波器 (用区域内的 平均像素来代替 原始像素)mean filterdef mean_filter(img, K_size=3):H, W, C = img.shapeprint(H,W,C)# zero paddingpad = K_size // 2out = np.zeros((H + pad * 2, W + pad * 2, C), dtype=np.float)out[pad: pad + H, pad: pad + W] = img.copy().astype(np.f

2020-07-26 15:06:24 165

原创 单链表的逆序

单链表的逆序的方法:       Link* reLink(Link *head)  //递归{        Link *cur, *tail, *headcur;        if (head->next == NULL)        {            return head;        }        cur = he

2017-12-17 13:37:04 155

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除