- 博客(64)
- 收藏
- 关注
原创 计算机视觉opencv之人脸识别4(年龄性别预测&仿射变换&换脸)
先利用第一个函数,获得人脸包围框,这里需要注意当没有人脸的时候后面循环操作不再进行,程序就是停止。ageProto,genderProto,faceProto这些是模型的配置文件也就是网络结构文件,定义了模型计算图结构,层类型,输入输出尺寸等信息。readNet是dnn神经网络中的一个函数,它用于从磁盘加载已经训练完成并保存好的模型文件。ageModel,genderModel,faceModel这些都是模型的权重文件。这三个模型是已经预训练好的深度学习模型,分别用于人脸检测,年龄估计和性别识别。
2026-02-09 08:59:12
585
原创 计算机视觉opencv之人脸识别3(表情识别&疲劳监测)
本来每个关键点都有个编号,转化为坐标之后,每个关键点就对应了一个坐标,所以这里我们用shape[36:42]这种形式表示。我们使用了第一个函数,shape就相当于函数要传入的eye,所以函数中的eye[1]就表示列表中第二个坐标。A是p1到p5的垂直距离,上眼皮中点到下眼皮中点;表情识别也是基于人脸关键68个点进行的,首先我们要构造脸部检测器然后读取人脸关键点定位的模型。2)MJR函数用来计算嘴颊比,M是嘴宽,也就是上面的D。1)第一个函数MAR用来计算嘴的宽高比,也是利用人脸68个关键点进行操作的。
2026-02-07 08:59:40
612
原创 深度学习用于自然语言处理:CBOW训练和测试
log_softmax提前现在这里做一个交叉熵函数(可以把大的值变得越大,小的越小,拉大之间的差距,方便后面对比),其实就是把交叉熵损失函数拆成两部分进行。词嵌入字典是不是就相当于人类的字典一样,这个字典是给机器使用的,方面以后机器进行理解词义的时候使用,尤其是压缩词的时候。前向传播进入神经网络模型forward,context_vector就是我们传入的参数,对应input,在下面内容展示中我们知道context_vector的内容其实就是目标词上下文词张量矩阵。为我们下面词嵌入字典的保存做准备。
2026-02-06 09:01:53
883
原创 计算机视觉opencv之人脸识别2(FisherFace人脸识别&dlib人脸识别&68个人脸关键点定位&人脸轮廓绘制)
例如:cp39就是python3.9,文件下载之后在文件管理器中找到,右击复制文件地址。和别的第三方库不同的是,这个第三方库不能直接pip install dlib进行下载。设置了两个函数,一个是不闭合的,一个是是闭合的,眼睛嘴巴这里我们需要的是闭合,眉毛等其他地方不需要闭合。win+r,cmd,输入 pip install +文件地址,就可以下载成功了。轮廓绘制是基于人脸关键点进行绘制的,所以我们也要先对人脸进行关键点定位。这里是对图片进行人脸识别,可以修改为对视屏进行人脸识别显示名字。
2026-02-05 10:38:35
910
原创 计算机视觉opencv之人脸识别1(CV2自带人脸识别&LBPH人脸识别&EigenFace人脸识别)
这里我们要介绍一下置信度的含义,置信度和准确率是不一样的。但是置信度高并不代码预测就是对的,置信度是模型训练之后,有一套自己的判断规则之后,进行预测一个新数据,他会有几个预测的结果,其中模型觉得哪个可能性最大就会输出哪个,所以置信度高只是模型自以为的可能性最大的结果。注意,这里我们的文件要在同目录下,上面也有说过,意思就是 下面这样,我们在1人脸识别这个代码中使用到了这个文件,如果直接写这个cv2中人脸识别的文件名就要确保该文件也在这个文件目录下,这里两个文件都在人脸识别这个目录下。标签-1就是无法识别。
2026-02-04 21:04:33
1066
原创 深度学习的补充:神经网络处理回归问题(人脸关键点识别)&自然语言处理的介绍及深度学习用于自然语言处理
人理解词语的意思是根据词的含义,而对于不同的词机器要区别他们的含义,就是把各种词转为为向量,每个词对应一个向量,相同含义意义的词向量基本重合,这就是机器学人类语言的方式也就是自然语言处理。这里我们的正文是英文,如果是中文,分词还是分字都是可以的,进行分词之后,只是把文章中的词给单独分出来,一篇文章中会有重复的词,所以下面我们就要创建集合,数学中集合的特点就是其中元素不重复,都是独一无二的。CBOW:以上下词汇预测当前词,就是预测词wt,用已知的前n个词和后n个词,相当于我们学习英语的时候做完形填空。
2026-02-03 18:02:16
1219
原创 深度学习的补充:残差网络ResNet(迁移学习)&神经网络做回归(人脸关键点)部分
这里其实就相当于搭建网络,和之前定义cnn类一个性质,加载好别人训练好的模型之后,就要把所有层w权重修改权限全部冻结,然后对最后一层(也就是我们要训练的那一层进行修改),原模型的输出是1000个神经元,但是我们食物分类里面拢共是20个类别,所以这里我们设置为20。上面是我们利用神经网络进行分类,除此之外神经网络也能进行回归,回归问题预测一般都是连续值,一般我们进行分类对训练的模型评估标准是召回率,正确率,准确率这些,做回归的时候我们的评估标准是R²,在之前机器学习的时候我们也有提到过回归的评估标准。
2026-02-02 11:28:00
835
原创 深度学习的补充:训练模型(优化器&调度器&保存模型)&批量测试(模型加载)&残差网络(迁移学习)的引入
首先预处理,因为我们当时训练模型就是在数据标准上训练的,所以模型适应标准化的图片,这里测试输入的测试图片也要经过尺寸和标准化的处理,是为了适应模型,像之前的旋转等操作因为哪些操作是用来训练模型的,这里就不需要了。上面我们训练好并保存下了最优模型,下一步就是要测试,这里就会涉及到模型的使用,方面和模型保存进行对应,所以我们先来介绍模型的使用方法,之后再进行测试。和训练模型的时候结构是差不多的,但因为我们是测试所以不需要训练,关于train的一些代码可以删除,数据预处理,读取图片,测试函数。
2026-01-30 09:01:24
1006
原创 计算机视觉opencv之DNN模块实现风格迁移
out = net.forward()是执行神经网络的前向传播,输入数据经过网络各层计算,out是模型的原始输出,通常是多位数组,这里out是四维的B*C*H*W(B: batch图像数量(通常为1),C: channels通道数,H: height高度,W: width宽度)这里我们是对单张图片进行处理,批处理这个维度是不必要的为了后续方面所以这里我们转化为三维。结果转置一下数组(C,H,W)转置为(H,W,C),也就是(1,2,0),目的是将通道优先转为高度x宽度x通道的opencv图像格式。
2026-01-29 08:58:46
1261
原创 计算机视觉opencv之抠图&流光估计&物体追踪
注意我们按键的时候要保持输入法是英文格式下,s键按下后窗口视频会暂停,长按鼠标左键框选需要追踪的物体,如果想取消框选就按c键,如果没取消框选好物体后按空格或者回车就可以继续进行,追踪物只要在镜头中就会被框出来,这个就是物体追踪。这里的old_gray是前一帧灰度图,frame_gray是当前帧灰度图,p0是前一帧的特征点,返回p1为当前帧中对应特征点的位置,st是状态,1就是追踪成功,0就是失败,err是误差值。可以自行查找选择合适的。3.在提取边缘的基础上,查找轮廓并选取扇子的外轮廓,生成相应的掩膜;
2026-01-28 13:28:36
899
原创 计算机视觉opencv之检测视频中四边形表&视频建模
在之前我们也有提到摄像头的使用,其实摄像头和图片本质上是一样的,视频就是对每一帧的图片进行处理,所以,要想连续处理视频的每一帧我们就要使用while True死循环,然后图片怎么处理这里的怎么处理,图片我们能使用cv2.waitKey(0)把他定格在那里但是对于视频我们就需要让他流畅播出,所以才要修改成cv2.waitKey(1)。其中我们对每一帧的处理和答题卡识别是一样的,可以参考答题卡识别的解释。主要用于后续的腐蚀、膨胀、开、闭等运算。视屏中有很多人在走动我们的目的就是对这些人进行识别框选。
2026-01-27 08:51:57
551
原创 计算机视觉opencv之答题卡识别
four_point_transform(image, pts)透视变换(拉直),这个也在透视变换中使用过,就是取出矩形边最大距离作为输出图像的宽高,并对目标定位,左上为原点(0,0),右下为(maxwidth-1,maxheight-1),然后进行矩阵变换,用源坐标(rect)和目标坐标(dst)计算单应性矩阵,进行投影矫正,这一函数总的来说就是将任意四边形区域变换为正矩形图。边界框是(x,y,w,h),i=0的时候,是x。i=1的时候,是y。预处理是为边缘检测准备的,逐渐增强图像的特征。
2026-01-26 09:01:10
892
原创 计算机视觉opencv之指纹识别补充&图片拼接&思考
上面我们图像拼接是对b图进行透视转化,把透视的b图拼接在a图的右侧,思考我们能不能对图a进行透视,把a图拼接在b图的左侧。如果要对应上人的姓名这里我们新增两个函数,一是在这这个函数里面进行指纹匹配,获取匹配成功这个指纹图片的编号,二是创建字典每个编号对应一个人。1.上篇博客中讲到指纹识别以及对匹配上的点标出,这次我们实现让匹配对应的点连接起来,从连接的线上反应匹配的程度。展示zuo和you,并对匹配上的特征进行连线,这点和指纹识别是一样。指纹识别,和哪个编号的指纹对应上就调用函数对应的个人名字。
2026-01-23 20:23:05
1164
原创 计算机视觉opencv之图像透视转换&角点检测&sift特征检测&指纹识别
也可以用图片旋转把他旋转正(这里我们需要注意,如果我们想让文字变粗,该图片二值化之后是白底黑字,用的是腐蚀,因为腐蚀是让黑色区域变大,如果我们二值化的时候就把黑白颠倒,使得图片是黑底白字,就要用膨胀,因为膨胀是让白色区域更大)排列,这里为什么不直接用x和y的值对比是因为当图片不是平行于xy的时候可能会出现排序的其他情况,这里使用x和y的相加和相减,适用于不是很严重的扭曲的四边形,而不知服务于这一张图片。x+y左上是最小的,y-x右上是最小的,x+y右下是最大的,y-x左下是最大的。三、sift特征检测。
2026-01-22 20:04:55
1341
原创 深度学习的补充:神经网络的工作原理&搭建训练模型(数据增强)
标准化原因:如果图片亮度不同,像素矩阵值是差别很大的,标准化就是让他们值在固定的值范围内,真对rgb分别做归一化 #我们图片实际上是没有变多的,但因为我们多轮训练,每次图片随机改变是不一样的,所以达到了图片变多的效果。各个w在什么情况下使得loss最小,一开始w的初始化随机给值,求损失函数loss关于权重w的偏导数,找到往loss最小的方向进行更新,学习率就是决定往这个方向走多少,这样的操作循环进行。这里我们卷积核大小,步长和填充设置为512是有原因的,512是一个很经典的设置组合。
2026-01-21 17:11:24
1241
原创 计算机视觉opencv之金字塔&直方图
上采样是一种增大图像尺寸的方法,他通过插值和滤波技术来恢复图像的分辨率和细节,通常用意图像放大或与下采样后的图像进行比较(这里我们接着下采样代码后面写)cv2.bitwise_and():对图像(灰度图像或彩色图像均可)每个像素值进行二进制"与"操作,1&1=1,1&0=0,01=0,0&0=0。下采样是一种减小图像尺寸的方法,它通常涉及到降低图像的分辨率,即减少图像中像素的数量,从而使图像看起来更小。真方图均衡化:真方图均衡化是一种图像增强技术,它可以通过增加图像的对比度和亮度来改善图像的质量。
2026-01-20 08:58:55
1091
原创 计算机视觉opencv之图片旋转&模版匹配&银行卡号的识别
这里筛选出我们需要的轮廓,长宽等是根据实际情况估计的可以多次修改筛选到对应的卡号轮廓,这里我们得到四个边框是因为,银行卡号是四块数字分开的。在上一篇视觉博客中提到过的传入参数的方法这里我们设置两个参数,一个是传入的照片,一个是识别模版。对模板中每歌数字轮廓进行获取,检测到轮廓,ref输入图像(必须是二值图),读取输入的图像,也就是card1.png,灰度图处理,处理掉卡背景的杂质。这块是主要核心,如果我们处理图片不当就会影响我们的输出结果。这里使用顶帽,忽略掉卡上一些小细节,凸显数字。
2026-01-19 14:23:44
777
原创 项目:矿物分类(训练模型)
由于none惩罚的时候,不支持multinomial等,其他参数之间的限制,所以我们要分开写,这里方法改为设置一个列表用来保存得到最优值的结果,最后在对这四组获得的值进行筛选,选出最优的参数值。根据上一篇博客我们对数据清洗得到了分别使用平均值,众数,中位数,只获取完整行,线性回归,逻辑森林这六种填充方法,获得了完整数据,可以用来训练模型。就是我们比较熟悉的环节,会分别用,逻辑回归,随机森林,svm,adaboost,高斯贝叶斯,xgboost,全连接神经网络,卷积神经网络进行训练。
2026-01-17 08:56:18
592
原创 项目:矿物分类(数据清洗)
中位数的填充函数和平均数是一样,除了取的不同的函数名,在调用的时候要修改一下之外,还有就是method函数中mean()要改为median(),其他完全是一样的,这里就省略。例如x1,x3,x5这些列不缺少信息,作为特征,那x1,x3,x5和x2就构成了一个新的数据集。现在我们有一个人工收集的矿物数据,记录了矿物质的各元素含量以及所属的类别,该数据可以用来训练模型,但是在训练之前我们要判断数据是否符合训练的标准。重新定义标签,需要填充的那个特征作为标签,例如图上x2作为标签,原来的标签列删去。
2026-01-16 09:03:36
1516
原创 计算机视觉opencv之绘制轮廓&模版匹配,传参方法
在这里0~255,0表示黑色,255表示白色,120以下的值就会被处理为0,即黑色,120以上就被处理为255,即白色,就像下图第二张图显示一样,所以如果我们想要达到理想的效果就要把背景和花束二值化区别彻底。现在我们把120改为240(这里的值是需要自己慢慢去调试的),会发现花束和北京已经能很好的区别开了,但是我们队轮廓获取的时候,发现轮廓描绘把这张图片的轮廓也绘制了,这是因为opencv的一个特点,轮廓描绘会对像素为255,也就是白色部分进行绘制。数值越大表明匹配程度越好。
2026-01-15 08:56:13
975
原创 自然语言处理(词向量转化)&PCA降维
(深度学习补充:神经网络的卷积核就是用来特征提取的,卷积核就像是人类的眼睛,每个卷积提取的图片就叫特征图,多个卷积核就会提取多个特征图,损失函数计算预测值和真实值误差,通过反向传播和优化器更新权重,从而更新卷积核,特征图就会发生变化,当输出结果和真实结果误差在可接受范围内的时候,那就代表特征提取正确了,模型学习到的是有效的)NLP,自然语言处理,和机器学习一样是人工智能的一个领域,如果说机器学习是让机器像人一样会发现规律,那自然语言处理中的词向量转化就是把语言(中文,英文等语言)转化为向量,也就是矩阵。
2026-01-14 13:27:04
1052
原创 计算机视觉opencv之边缘检测&轮廓检测&轮廓绘制&轮廓近似
cv2.CHAIN_APPROX_SIMPLE:压缩模式,只保留该方向的终点坐标,例如一个矩形轮廓只需4个点来保存轮廓信息。cv2.RETR_CCOMP:返回所有的轮廓,只建立两个等级的轮廓。而对象内部中空洞的轮廓为第2级组织结构,空洞中的任何对象的轮廓又是第1级组织结构。CV2.RETR_LIST:检测的轮廓不建立等级关系,所有轮廓属于同一等级。Cv2.RETR_TREE:返回所有的轮廓,建立一个完整的组织结构的轮廓。cv2.CHAIN_APPROX_NONE:存储所有的轮廓点。
2026-01-13 09:10:05
1129
原创 计算机视觉opencv之视频滤波&边界填充&图像形态学&边缘检测
并结合之前对图片和视频的其他处理,会发现,视频的处理都是获取每一帧图片进行处理,本质上就是处理图片。图像膨胀就是让图像胖一些,会发现文字的变粗了,图像膨胀也可以通过调节矩阵大小和iterations来调整膨胀效果。开运算,先腐蚀后膨胀,把噪声消除后,在对重要信息进行膨胀,使得更清晰,当然这里也是可以修改矩阵大小进行效果的调整。保持矩阵大小为(3,3),修改iterations的值为3,会发现腐蚀效果也强了,右上角直线也被全腐蚀了。最后我们是通过图像的融合,如果同时使用xy方向效果不如图像融合的效果好。
2026-01-12 09:42:20
957
原创 机器学习算法之TF-idf
这些搜索引擎其实是一个巨大的爬虫系统,根据公开的域名爬取网页,提取网页中的关键词,形成一个自己的索引数据库,当我们输入搜索内容的时候,就先会在其数据库中搜索,然后再按照相关性排序呈现给我们。第0篇就是第一篇,但是第一个词并不是该篇文章的第一个词,而是整个语料库的中的第一个值,也就是我们第二个输出,第一个词就是'document',在代码中提到的稀疏矩阵,可以观察第一个输出的内容,只存该篇文章出现的词,tfidf为0的跳过。如果把原本某篇文章中没有但在语料库有的词也添上,他们的tfidf值为0,
2026-01-09 10:27:21
1151
原创 深度学习之优化模型(迁移学习)和最优模型的保存
这里我们需要注意的就是前面我们保存最优模型时用的是全连接而不是cnn这里我们也要保持一致,由于这里都是函数需要调用所以我们只需要改动主函数中的使用就行了,如果我们使用的是cnn那么这里就要调用的是cnn函数,前后是要保持一致的。此外model写在了优化器后面,调度器前面,这里我们使用的调度器是StepLR,比较方便。我们在训练循环最后加上这两行就是保存训练结束后最后一个模型,可以在后续预测的时候调用。一般最后一个不一定是最优的那个模型,所以我们可以用。三、最优模型的保存和调用。
2026-01-08 10:07:44
536
原创 深度学习之优化模型(数据预处理,数据增强,调整学习率)
数据预处理就是对所有数据进行数据增强,标准化,归一化,去噪等操作,而其中的数据增强指增加数据多样性,是对数据裁剪,大小变换,旋转,亮度调整等操作。数据预处理不宜少也不宜多,不做数据预处理,模型就会比较死板,也就是泛化能力差。这里学习率没有提升,可以修改里面的参数进行对比,但有时候可能是模型已经收敛,所以调度器对它影响不大,需要知道的是调度器也是优化模型的一种方法。有时候这个导入可能是呈灰色的,可能是编码工具的原因,代码是能运行的。数据增强是数据预处理的一部分,数据增强专门用来产生一些新的数据。
2026-01-07 13:38:05
754
原创 深度学习之神经网络的构建和实现
与卷积层类似,池化层运算符由一个固定形状的窗口组成,该窗口根据其步幅大小在输入的所有区域上滑动,为固定形状窗口(有时称为 池化窗口)遍历的每个位置计算一个输出。然而,不同于卷积层中的输入与卷积核之间的互相关计算,池化层不包含参数。卷积是什么:对图像(不同的窗口数据)和卷积核(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。2)卷积核的个数:决定输出的depth厚度。
2026-01-06 08:58:41
1013
原创 计算机视觉opencv之图片修改&图片运算&阈值处理&平滑处理
dsize:输出图像的大小,可以是一个元组,例如(宽,高),或者使用整数标量来缩放原始图像。通过消除图像中的噪声或细节来使图像看起来更为模糊,从而实现平滑效果,可以用来压制、弱化、消除图像中的细节、突变和噪声。ksize:滤波器的大小,它是一个元组,表示在水平和垂直方向上的像素数量。ddePth是处理结果图像的图像深度,一般使用-1表示与原始图像使用相同的图像深度。ksize:滤波器的大小,它是一个整数,表示在水平和垂直方向上的像素数量。2)当值为False时,不归一化,直接使用邻域像素值的和。
2026-01-05 08:59:21
1172
原创 机器学习算法之K-means聚类和DBSCAN算法
以A为原点,E为半径形成一个圆的范围,在圆之内的点被划为与A同类,随之以这些点为圆心,E为半径形成圆的区域,在范围内的数据点就会被划为该类,一直这样进行扩张,当领域扩张的时候密度小于密度阈值就会停止继续扩张,密度值就是圈内包括这个圆心点的数据个数,密度阈值就是一个临界,圈内数据点个数小于密度阈值就停止扩张。是一种聚类分类无监督,基于密度的带噪声的空间聚类应用算法,它是将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并在噪声的空间数据集重活发现任意形状的聚类。
2025-12-31 10:45:42
1051
原创 深度学习介绍以及深度学习相关配置
选择适合自己的版本,cu121是cuda版本12.1的意思,cp39是python3.9,win是windows系统,如果是使用cpu,就下载cpu版本就好,在该网页按ctrl+f键可以搜索你想要的版本。输出层得到原始分数,使用softmax进行归一化概率,取真实类别概率的-log作为损失,为什么用-log,概率越接近1,损失越接近0,概率越低,损失越大。-log惩罚就相当于,我批改机器的‘作业’,说明他哪里正确哪里错误,这样下次遇到一样‘题目’的时候,就会写对,从而提高他的正确率。
2025-12-30 14:32:15
1117
原创 机器学习算法之SVM
这个式子就是我们经过推导所得到的,意思是数据点要在某一侧,且距离直线(超平面)距离至少为1(为什么为1,是因为无论平面还是空间,所构造的平面坐标或者空间坐标系的刻度都是可规定的,也就相当于把间隔归一化处理了,这个也是一种数学方法)过程:对于一个分类问题svm算法是找出最优的直线,除了能分开类别之外,这里还有两个变量是相互制约的,也就是我们要根据直线找出距离最近的数据点,同时这条直线要离这些数据点距离是最远的,很类似于数学中双变量的问题。通俗点说,如果软间隔是一条允许车压线的规则,但是压线不能超过。
2025-12-29 17:58:53
1051
原创 计算机视觉opencv之读取图片&灰度图&区域选取&视频播放&提取颜色通道&移除通道
这里一开始我使用的就是pycharm软件编写的代码,如果编写代码的时候出现代码处被黄色选定,一般都自动跳出来的,不需要一个一个打上去,但是出现黄色背景就需要自己手动打上去,这个是因为python版本的问题,可以解决。注意这里显示某通道的图像,但是所显示的都是灰色的, 那是因为只显示蓝色通道时,实际上是将蓝色作为亮度值,是单个通道,这会导致图像呈现灰色 想要展示包含蓝色通道的彩色图像,可以将图像的其他通道设为0,即移除其他通道色。(前面的文章中有第三方库 的下载,感兴趣的可以参考。6.提取RGB颜色通道。
2025-12-27 09:06:29
825
原创 使用python操作MySQL
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。连接池用于提高在数据库上执行命令的性能。连接池本质上就是数据库连接的缓存。使用数据库连接时,如果池中有一个可用,它将使用该连接而不是重新建立另一个新的连接 ,用完后不是关闭它,而是将其放回池中。2:druid功能最为全面,sql拦截等功能,统计数据较为全面,具有良好的扩展性。3:综合性能,扩展性等方面,可考虑使用druid或者hikariCP连接池。5.HikariCP连接池的使用。3.常见的数据连接池。
2025-12-25 17:58:46
1357
原创 MySQL使用SQL语句(通过完整例子演示)
17.查询各科成绩最⾼分、最低分和平均分: 以如下形式显示:课程 ID,课程 name,最⾼分,最低分,平均分,及格率,中等率,优良率,优秀率 及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90要求输出课程号和选修⼈数,查询结果按⼈数降序排列,若⼈数相同,按课程号升序排列。39.成绩有重复的情况下,查询选修「张三」⽼师所授课程的学⽣中,成绩最⾼的学⽣信息及其成绩。38.成绩不重复,查询选修「张三」⽼师所授课程的学⽣中,成绩最⾼的学⽣信息及其成绩。
2025-12-23 09:04:59
1252
原创 机器学习算法之集成学习随机森林和贝叶斯
很多个决策树,把数据给每个决策树,但是这个数据是随机选择一些数据给一个决策树,下一个决策树在进行随机选取,每个决策树得到的数据不是百分百,且是随机的,很多个决策树虽然没有学百分百,但很多个一共就学了全部的数据,,除此之外,也不是所有特征都给一个决策树,特征也随机。也就是我们输入一个数据,数据中中没有这种情况,此时就要求出这条数据是某个类别的概率,也就是为1的概率,和为0的概率,谁概率大就可能属于哪个类别,上图得到的两个式子分母一样,比较分子就行。100%的男生穿长裤,50%的女生穿长裤,50%穿裙子。
2025-12-22 09:00:40
1280
原创 MySQL中使用SQL语言
如果是在这个可视化界面,我们建表等操作的时候,这个句子是配和建表等操作一块使用的,除此之外我们也可以在直接选择数据库,如下选择一个我们想进行操作的对象。当我们在stu2中建立表格其中的字段名也就是列名类型是字符类型,在该字段输入数据的时候字符串是中文就会报错,虽然输入的字符串但是不支持中文格式,但在stu1可以,就是因为这个字符集的设置。将一列数据作为一个整体,进行纵向的计算,注意,聚合函数的计算,排除null值(可使用ifnull函数)truncate table 表名;delete from 表名;
2025-12-19 22:01:16
1067
1
原创 机器学习算法之决策树
特征中经过计算没有合适的,需要一直进行判断,导致决策树层数很多,说白了不是分类了,到最后几乎每一条数据就是一类了,然后我们输入数据进行分类,根本没有合适的类别给这个数据,这个就是过拟合,之前学习逻辑回归时也说过过拟合,就是模型分的过于细而导致的。召回率为1是最好的,在纵轴上找到1,画平行于横轴的一条直线,FPR值为多少都无伤大雅,也找到1,画垂直于横轴的直线,这样两条直线和坐标轴形成的正方形,面积为1,是理想召回率,阴影部分就是我们模型的指标,如果阴影部分越大越接近一,说名指标越高。默认情况下是best。
2025-12-18 21:42:42
853
原创 网络爬虫下(一些对网页的操作)
6.模拟点击click方法,点击网页的一些按钮,比如b站该页面下的电影,番剧等这点分类按钮。打开该网站我们会发现,我们上传图片,之后要点击按键上传图片。使用百度识图,识别出答案直接打印在python控制台。运行代码就会驱动浏览器打开一个百度网盘的网页。效果,在B站搜索框输入‘薛之谦’并执行搜索。3.在百度识图中上传图片,实现对图片的识别。2.向网页中输入文字并开始搜索。1)如果我们指定某一个标签点开。该网站下加载出的照片会被保存。这个是网页自动刷新覆盖网页。1.获取渲染后的网页代码。
2025-12-17 11:02:34
726
原创 机器学习算法之逻辑回归下
k取值多少我们就把原来的训练集分为几份,c取某个值的时候每一份依次做验证集,这样就保证了分出去当验证集的数据也能当训练集训练模型,分成几份就会得到几个结果,把结果求平均值就可以作为该c值下的结果。拟合数据无非就是在同一类中挑选俩个数据取中间的一些值,就像我们knn算法中,相同一类在一起那我们在同一类的内部拟合数据自然也就是这类的,拟合数据就是这样一个过程。想法是正确的但是用测试集一点一点的推测c值,这就相当于把测试集当训练集了,这样是不行的,测试集只能用来最后测试,结果是一锤定音的。
2025-12-16 17:59:28
891
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅