自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jdjhcn的博客

人工智能练习生

  • 博客(29)
  • 收藏
  • 关注

原创 OpenCv高阶(二)——图像的掩膜

将彩色图像的每个像素与掩膜图像的对应像素相乘,那么彩色图像中对应掩膜图像白色区域的像素将保持不变,而对应黑色区域的像素将变为黑色(RGB 值为 0,0,0),从而实现了对彩色图像的掩膜操作。mask:图像掩膜,可选参数,用于指定要更改的输出图像数组的元素,mask为0的值,src1和src2相与的值都为0, 非0的值,为src1和src2相与的值,可选的操作掩码,是一个 8 位单通道数组,用于指定哪些像素需要进行操作。遍历原始图像和掩膜图像的每个像素,根据掩膜像素的值来决定原始图像对应像素的处理。

2025-04-08 22:14:40 808

原创 OpenCv高阶(一)——图像金字塔(上采样、下采样)

图像金字塔是由一幅图像的多个不同分辨率的子图构成的图像集合。是通过一个图像不断的降低采样率产生的,最小的图像可能仅仅有一个像素点。图像金字塔的底部是待处理的高分辨率图像(原始图像),而顶部则为其低分辨率的近似图像。

2025-04-08 20:20:26 687 2

原创 OpenCv(七)——模板匹配、打包、图像的旋转

匹配原理:模板从图片的左上角逐一进行匹配,针对每一个匹配位置(位置坐标是模板左上角坐标),都会根据matchTemplate()函数设置的计算方法得到一个对应的得分值,不同的匹配方法数值大小的效果是不同的,找到最优的匹配结果返回。在进行多对象匹配时,常常要设置阈值保证能够完全框选到对象,当阈值设置为0.9时,所有满足大于0.9的外接矩形都会被绘制出来,如果这个阈值数据设置的更小,那么符合条件的位置就越多,表现在图上的特征就是有更多的框,框的线更粗。将图片上的所有的图像模板都匹配上。

2025-04-07 21:24:07 779

原创 OpenCv(六)——轮廓检测、轮廓近似、绘制外接圆外接矩形

而对象内部中空洞的轮廓为第2级组织结构,空洞中的任何对象的轮廓又是第 1 级组织结构。通过approxPolyDp函数中的epsilon这个参数控制绘制的精度,类似于数学中的微元法,epsilon中的0.01这个值来控制微元的精度,这个值越小绘制轮廓的点越多越精细,值越大点越少,绘制的会更粗糙。cv2.RETR_TREE:返回所有的轮廓,建立一个完整的组织结构的轮廓。返回值:approx:近似结果,是一个ndarray数组,为1个近似后的轮廓,包含了被近似出来的轮廓上的点的坐标。

2025-04-02 10:59:47 946

原创 OpenCv(五)——边缘检测

opencv读取图像默认是uint8类型,-1表示与原图像相同的深度即相同的数据类型也就是uint8类,型,使用cv2.CV_64F这个数据类型也就是float64位,将边缘检测的中遇到的负数保存下来,但是在图像中还没体现出来。从上面的图像看出只做X轴的边缘检测左右两边是可以得到完整的圆弧,只做Y轴的边缘检测上下两侧可以得到完整的圆弧,因此我们考虑将两者加权在一起就可以得到完整的圆弧。因为一般的边缘检测算子可能存在检测到伪边缘的情况,因此Canny算法检测到的边缘尽可能地是真实的边缘。

2025-04-01 21:57:41 1004

原创 OpenCv(四)——图像形态学

开运算应用场景,如果图像中存在着很多的细纹或者椒盐噪声点,先腐蚀会将这些噪声点清除掉,在膨胀会加强我们需要的图像的特征。效果:影响膨胀效果的参数有kernel(核)、iterations(膨胀的轮数),这两个值都是越大膨胀效果越强。效果:影响腐蚀效果的参数有kernel(核)、iterations(腐蚀的轮数),这两个值都是越大腐蚀效果越强。应用场景:如果希望将一些断断续续的细纹连接起来,则使用闭运算,先将图像膨胀连接起来,再腐蚀使图像恢复原有的特征。开运算(cv2.MORPH_OPEN):先腐蚀后膨胀。

2025-03-31 20:54:30 621

原创 OpenCv(三)——图像平滑处理

ksize:滤波器的大小,它是一个整数,表示在水平和垂直方向上的像素数量。dst是返回值,src是需要处理的图像,kszie是滤波核(卷积核)的大小,anchor是锚点,默认值是(-1,-1)一般无需更改 borderType是边界样式,一般无需更改 一般情况下,使用dst=cv2.blur(src,ksize)即可。效果:做了归一化之后图像更加均衡,不做归一化中心点的值是周围像素值的和,所以中心点的数值大概率会大于255,大于255的值会被设为255,所以不做归一化整个图像会呈现出更亮的效果。

2025-03-31 20:11:24 1102 1

原创 OpenCv(二)——边界填充、阈值处理

cv2.copyMakeBorder()是OpenCV库中的一个函数,用于给图像添加额外的边界(padding)。它有以下几个参数:src:要扩充边界的原始图像。top, bottom, left, right:相应方向上的边框宽度,要求是int整数类型的。borderType:定义要添加边框的类型,它可以是以下的一种:cv2.BORDER_CONSTANT:添加的边界框像素值为常数(需要额外再给定一个参数)。

2025-03-30 22:35:26 1157 1

原创 TF-IDF——自然语言处理——红楼梦案例

预计要实现的效果:观察下面的文件截图,我们希望将红楼梦每一回的文件内容存在文件中,将文件的“上卷 第一回 甄士隐梦幻识通灵 贾雨村风尘怀闺秀”第几回,这一整行作为文件的名字,每一回作为一个文件,储存到指定的路径下。此处代码为上面的整合,去除了部分注释,可以将其放在一个.py文件中,安装好指定的库即可运行,需要注意文件的路径与你自己的文件路径对应,数据集文件可以到我的数据集中获取(有单独的一篇文章注明了数据集)(3)使用for循环,逐行读取文件内容,通过观察,每一回的开头,都会有“卷 第 ”这样的字,如下。

2025-03-28 16:20:27 1096

原创 TF-IDF算法

(1)语料库中存放的是在语言的实际使用中真实出现过的语言材料。(2)语料库是以电子计算机为载体承载语言知识的基础资源。(3)真实语料需要经过加工(分析和处理),才能成为有用的资源。举例理解:假设有一个文件夹,文件夹里面有2000篇文章,想要提取出每篇文章中的关键词。这里的文件夹内的文件就是一个语料库 ,而关键词要具有代表性,能够作为本文章与其他文章之间区分开来。

2025-03-26 20:37:24 899

原创 模型(分类模型、回归模型、聚类模型)的评分指标

真正例(TP):定义为实际正例被正确预测为正例的样本数假正例(FP):定义为实际负例被错误预测为正例的样本数,反映模型误报的数量,计算方式为错误预测为 1 的样本数。真负例(TN):定义为实际负例被正确预测为负例的样本数,反映模型识别负例的能力,计算方式为正确预测为 0 的样本数。假负例(FN):定义为实际正例被错误预测为负例的样本数,反映模型漏报的数量,计算方式为错误预测为 0 的样本数。,反映模型识别正例的能力,计算方式为正确预测为 1 的样本数。

2025-03-19 22:07:38 838

原创 集成学习之随机森林

(场景:当我们的数据集特别大时,就会有很多的特征,那么这些特征对分离结果的影响有多大,我们可以计算该特征与分类结果之间的相关系数来进行估量,在随机森林模型中可以对每个特征进行特征选取,它可以内部对每个特征量化一个指标,最终结果会选择尽可能多的相关性比较大的特征。针对同一个数据集,那么我们每次选取数据时,会随机抽取80%(这时认为根据实际情况设定的)的特征,那么对于每个数据集的特征选取会出现有的数据集抽到很差的特征那么该数据集展现的性能就会很差,如果抽取到的都是好的特征,那么模型的性能也会很好。

2025-03-19 21:56:02 1286

原创 OpenCv(一)——计算机视觉

使用opencv库来实现简单的计算机视觉。需要安装两个库:opencv-python和opencv-contrib-python,版本可以自行选择,注意不同版本的opencv中的某些函数名和用法可能不同。

2025-03-18 21:47:37 731

原创 决策树回归模型——Decision_treeRegression

决策树分类模型与决策树的回归模型之间存在着些许的差异,我们需要考虑分类和回归的分裂标准分别是什么。提示:以下是本篇文章正文内容,下面案例可供参考1、criterion{“squared_error”, “mse”, “absolute_error”, “泊松”}, default=“mse”,节点分裂依据。默认为mse,可选择mae(平均绝对误差)——>使用绝对值sum|y_i-c1|+sum|y_i-c2|,这里没有进行平方,mse是下面的公式。

2025-03-18 20:05:30 969

原创 决策树分类模型——Decision-treeclassifer

return plt此函数接收真实标签y和预测标签yp作为输入。借助计算混淆矩阵。运用matplotlib绘制混淆矩阵,以蓝色调展示。在矩阵每个单元格添加具体数值注释。为图表添加坐标轴标签,最后返回plt对象。

2025-03-17 20:06:05 250

原创 决策树的剪枝

这个树在训练集上准确率100%,但可能过拟合(例如对“温度=高”和“风力=弱”的样本过于敏感)。绘制模型在训练集和验证集上的准确率随参数变化的曲线,找到过拟合与欠拟合的平衡点。├─ 左子节点(温度=高) → 分类为"否"└─ 右子节点(风力=弱) → 分类为"是"├─ 左子节点(湿度=高) → 分类为"否"├─ 左子节点 → 分类为"否"(2样本)└─ 右子节点 → 分类为"是"(3样本)├─ 分类为"否"(如果天气=晴)└─ 分类为"是"(如果天气≠晴)└─ 右子节点 → 分类为"是"

2025-03-13 22:24:17 304

原创 DBSCAN聚类算法

对于这个参数,一共有4种可选输入,‘brute’对应第一种蛮力实现,‘kd_tree’对应第二种KD树实现,‘ball_tree’对应第三种的球树实现, ‘auto’则会在上面三种算法中做权衡,选择一个拟合最好的最优算法。我们在做数据爬取时,往往会遇到验证码,为了提高效率,我们不能每次都手动输入,这时使用DBSCAN我们就可以将属于同一个字母的小像素聚到一起,从而显示出验证码的信息,再通过人工智能中的图像识别,我们就能完成全自动爬虫。核心点的密度足够高,可形成或扩展聚类,如果小于3则密度不够不能被聚类。

2025-03-13 22:01:28 607

原创 决策树三大算法(ID3、c4.5、CART决策树)的原理推导

(1)熵:熵值越小,该节点越纯。i比特(bit)计算步骤p_i计算对数的Python程序(2)信息增益在决策树算法中,信息增益(information gain)是特征选择的一个重要指标。它描述的是一个特征能够为整个系统带来多少信息量(熵),用于度量信息不确定性减少的程度。如果一个特征能够为系统带来最大的信息量,则该特征最重要,将会被选作划分数据集的特征。

2025-03-13 21:01:22 945

原创 朴素贝叶斯

反之,如果alpha值被设置的过低,会导致准确率提升,但可能会引起模型的过拟合问题。如果训练数据集中某个类的样本数量较少,计算出的先验概率可能非常小,这可能导致该类样本在分类时被忽略,从而影响模型的分类效果。(5)高维特征空间的应用限制:贝叶斯算法在处理高维特征空间时可能会遇到困难,因为高维空间中的数据通常具有稀疏性,这会导致贝叶斯网络的学习和推理变得非常困难。各个类别的先验概率,如果没有指定,则模型会根据数据自动学习, 每个类别的先验概率相同,等于类标记总个数N分之一(不常用)

2025-03-12 22:34:27 1032

原创 Kmeans聚类算法

Kmeans算法属于无监督学习算法。a.获取到一堆的数据,数据没有被分类很杂乱b.如果要将这些数据点分为两类,则随机选择两个质心,计算每个(所有的)样本点距离这两个质心之间的距离,距离那个质心更近就会被分到哪个类中。c.同为红色的数据点计算平均值,我们会得到两个新坐标点的位置,即算出的平均值d.再次计算数据集中的簇内和簇外样本点到两个新坐标的距离则被计算点离哪个类更近则被分为哪类e.更新坐标的类别,在同一类别内计算平均值,将计算的平均值坐标作为新的中心点。

2025-03-12 21:16:40 1058

原创 代码所用数据集

链接: https://pan.baidu.com/s/1ICyimleQWsBGs2J3e1aFfQ?pwd=vmch 提取码: vmch。数据集会跟随作品的更新,不时更新,如果发现作品的数据集找不到,需要使用,可在评论区留言届时我会上传。通过网盘分享的文件:data。

2025-03-12 19:10:27 108

原创 逻辑回归模型优化—————过采样

(解释如何实现数据扩充、使用过采样的原因是什么)原理:通过插值生成少数类的新样本。步骤:对少数类中的每个样本,计算其在特征空间中的 k 个最近邻(通常 k=5)。随机选择一个近邻样本,在两者之间生成一个随机插值点作为新样本。重复上述过程,直到少数类样本数量与多数类平衡。数学表达:设少数类样本为 xi,其第 j 个近邻为 xj,则新样本为:其中 lambda 是随机生成的比例因子。示例:原图中,少数类(星星)样本较少,多数类(空白圆圈)较多。

2025-03-12 19:03:47 285

原创 逻辑回归模型优化—————下采样

在传统逻辑回归中,我们使用metrics中的classification_report参数查看了分类效果,其中的accuracy、precision和recall等参数是我们用来查看模型好坏的重要指标,这章节我们将对其进行详细介绍,同时使用传统的模型我们发现标签为0和为1的数据量相差太大导致最终的模型训练效果不是很理想,我们将采用下采样对数据进行处理,改进模型的分类效果。

2025-03-12 18:59:29 749

原创 逻辑回归模型(传统)--------------LogistRegression

Sigmoid 函数,也称为逻辑函数,其数学表达式为:其中x可以是一个实数,也可以是一个向量或矩阵等。e是自然常数,约等于2.71828。

2025-03-09 20:52:30 554

原创 线性回归模型-------LinearRegression

数学中的直线方程:y=kx+b,这里的k相当于下图中的beta1,b相当于beta0。误差项存在的原因:我们想要找到一条直线使我们的数据点尽可能多的落在这条直线上,但因为不是每个数据都能完美的落在线上,当我们已经拟合好模型时,重新把我们的数据代入到这个模型中时,总会出现一些点不在线上,这就是误差项存在的原因,这个误差就是点的真实位置与该点x轴在分界直线上对应的y值之间的距离。

2025-03-06 19:54:40 914

原创 案例:k-nearest neighbors对手写数字进行分类预测

hsplit函数是按照列切分,(横向2000px)切分为100列,每一列是20像素,每个图像20*20的大小,下面是for循环的推导式,装进array,形状(50,100,20,20),50行.数据集分析:总共50行100列,总共5000个数字,我们要将每个单独的数字提取出来,那么原图片将被切分为50行,100列,1000/50=20,所以每一个数字的纵向占20px,2000/100=20,每个数字的横向占20px,每个数字的尺寸被切分为20x20px的大小。(11) 对自己手写数字进行预测,数据处理。

2025-03-04 15:38:11 716

原创 机器学习——KNN(K近邻算法)

现已存在一个数据文件datingTestSet2.txt ,为历年大学生的调查问卷表 第1列:每年旅行的路程 第2列:玩游戏所有时间百分比 第3列:每个礼拜消耗零食的重量 第4列:学生所属的类别,1表示爱学习,2表示一般般,3表示爱玩。所有相近的数据会聚集在一定的区域内,针对一个新的未知的数据,期望预测它的分类,通过计算当前点与所有数据点之间的距离进行排序,取距离当前点之间的最近的k个值,如果是分类,则。k-nearest neighbors,通过寻找k个距离最近的数据,来确定当前数据值的大小或类别。

2025-03-03 19:54:44 720

原创 pycharm解释器、环境变量含义及应用、导包的内部原理

1、检查Pycharm环境(查看解释器的版本)2、解释器的种类:常用的有两种系统解释器和虚拟环境3、解释器就是自己安装的python环境,需要定位到python安装目录下的python.exe这个解释器的位置。python可[图片]以前往python的官网选择自己需要的python版本,安装python:第一次安装时可以勾选此选项,可以直接把python添加到环境变量中,查看环境变量,可以在设置里搜索环境变量,环境变量都是在path中更改。

2025-02-28 19:28:50 978

原创 python基础

python基础--------循环的使用

2025-01-10 21:50:26 606 1

空空如也

空空如也

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

TA关注的人

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