自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 问答 (4)
  • 收藏
  • 关注

原创 【导航贴】我做过的一些小项目(持续更新)

作为一名普通大学生,在刚上大学的时候才开始接触编程,我把我学习编程过程中做过的一些项目分享出来,以下项目都是本人之前做的,基本都是上网课期间跟着老师一起敲下来,或者后面自己琢磨后重新做一遍的项目,放在这里的项目我大概率都不会单独出一个帖子来讲里面的技术路线和技术细节,工程文件中基本都有详细的注释,我会把这个项目对应的课程和一些简介一起放上来,如果有小伙伴在学习时跟的网课老师和我是同一个,可以参考我听课时写的笔记和有详细注释的代码,有需要的可以直接取走,如果方便的话,顺便在github上帮我点个star。

2025-01-15 23:30:48 614

原创 跑YOLO模型时出现IndexError: too many indices for tensor of dimension 3

上网查了原因,总之就是因为张量维数出错了,各位打开自己的ultralytics\utils\ops.py文件,找到我下面的那几行语句(我的在216行),其中第二行是跑YOLOV10才需要带上的,把他注释掉就行,当然你要是不放心,可以直接去GitHub随便找个V8项目,把他的ops.py拷过来也行,其实就是让他恢复初始状态就行,自己加的东西记得注释掉。最近做项目,在跑对比实验的时候出现了问题,自己本来是在跑YOLOV10的,然后需要跑V8的对比实验,想着两者相似就直接切换模型去跑了,然后就报错了233。

2025-03-10 21:15:56 755

原创 借助乳腺癌数据集对比决策树与随机森林

综上在本项目中随机森林的准确率和性能更好,但模型也更为复杂,训练速度较慢,最终与决策树的模型准确率相差也非常小(<0.01),如果不追求极致的高准确率,使用决策树是一种比较平衡的选择。可以看到决策树的学习曲线中,训练集和验证集曲线趋于收敛,且收敛于0.95左右的较高水平,即模型在训练集和验证集的得分都比较高,且最后两者的得分差别不超过0.05,认为模型不存在过拟合现象。可以看见AUC指标为0.99,非常高,出现原因同上决策树一样,可能是数据量较少模型性能比较强大,不需要太复杂的模型也能拟合出好的结果。

2025-03-01 17:10:04 1196

原创 基于决策树和随机森林的鸢尾花种类预测

通过调整模型参数,我们可以得到不同的分类结果,具体看到代码2的结果,不管是使用信息增益还是gini指数来评估决策树分类结果,对于鸢尾花数据,决策树深度为5的时候的模型结果都会优于深度为3的时候的准确率。通过代码4的运行结果我们可以看到,不管是训练集还是测试集,在depth=2以前该参数对模型准确率的影响都是比较大的,当depth>2时影响变小,而当训练集的决策树深度达到6的时候,模型的准确率就已经来到了100%,当测试集决策树深度达到3时,模型的准确率就已经来到了100%。

2025-03-01 16:35:02 1399 2

原创 基于支持向量机的Digits手写数字识别

同理,对于同一个多项式维度下的模型,不同的C也对模型的最终准确率产生了影响,并且对于不同的维度,C的影响力也不一样,这里在维度1下,C从0.01到0.05的过程对模型影响较大,而维度3下C从0.1到0.5的过程对模型的影响较大。在不同正则化参数C的情况下,初始准确率越高的模型,随着维度的增高受到的影响越小,最终的模型准确率下降的相对较少,在C=0.01的时候,一维的准确率较低,随着维度的增加,模型准确率下降,甚至出现了“触底反弹”的情况;不同的核函数对模型精度有一定的影响。3.1.正则化系数C的修改。

2025-02-28 11:27:40 944

原创 逻辑回归-乳腺癌肿瘤预测

两个模型最大的区别就是LogisticRegression是需要手动调参的,而LogisticRegressionCV是自动寻优的,但这并不代表LogisticRegressionCV模型的训练结果就一定比LogisticRegression好,比如本次实验中,由于数据集较小,特征较少,交叉验证结果并不明显,还可能导致过拟合现象。从上述实验中我们可以看出,在数据集比较小的时候,LogisticRegression模型的分类效果是比LogisticRegressionCV略好的;6.进行十折交叉验证。

2025-02-28 11:21:25 562

原创 线性回归实现波士顿房价预测

随着Alpha值的增大,也就是Alpha从1到20的过程,我们可以看到岭回归的均方误差有略微增加,达到了21.2,弹性网络的均方误差也是略微增加,达到了29.3,可是Lasso回归的均方误差直接达到了84,可见拥有L2正则化的岭回归和弹性网络更加稳定,受alpha变化的影响较小,而Lasso回归由于采用的L1正则化,直接删除了某些特征对结果的影响,使得对结果的判定手段减少了,模型变得更加不稳定,受alpha的影响较大。根据上述实验,比较不同模型、不同alpha之间的差异。

2025-02-28 11:15:25 952

原创 【R语言】高校信息数据分析及可视化

在“所在地”一列,每个高校可能包含多个所在地(多个校区),他们之间是用顿号隔开的,所以在统计高校的所在地的时候,要以逗号为基准将单元格拆开为多个数据去统计,在所在地的每个单元格中,前后都有一个空格,且在下面的数据中,存在部分学校所在地信息确实问题,要进行填充。可见江苏、山东、河南、河北是高校数量最多的四个省份,但是与前十中其他省份的差别并没有特别大的需求,如果需要选择教育水平较高的省份,可以根据自己的其他需要,如:和自己家的远近程度或者经济状况综合考虑。包含这个学校是属于哪个省的,具体值为。

2025-02-27 17:55:51 1632

原创 【R语言】PCA主成分分析

使用R语言手动实现PCA主成分分析计算,通过计算协方差矩阵计算出数据的主成分得分,根据的分最高的特征进行得分图的绘制。

2025-02-27 17:47:17 323

原创 【R语言】Kmeans算法

使用R语言实现kmeans算法底层代码,并对HighDensity_Scatter_Data数据进行聚类分析(不直接使用kmeans函数)

2025-02-27 17:44:49 367

原创 【R语言】广义加性模型gam

使用广义加性模型(gam)之泊松加性模型拟合fish_data数据鱼类丰度和面积的关系(不直接使用gam包)

2025-02-27 17:42:48 473

原创 【R语言】词云图

【代码】【R语言】词云图。

2025-02-27 17:40:41 340

原创 【R语言】加权回归拟合

【代码】【R语言】加权回归拟合。

2025-02-27 17:38:03 338

原创 【算法】游艇租贷

其中,dp[i]表示从起始点到达站点i的最小成本,dp[j]表示到达站点j的最小成本,而cost[j][i-j-1]表示从站点j到站点i的租用游艇的成本。..n的最短路径,让每个点都作为一次中间点,不断更新起始点到其他点的最短路径,于是就可以得到递推关系式dp[i] = min(dp[i], dp[j]+cost[j][i-j-1]),也就是看看直接到i这个点和先经过j这个点再到i这个点谁的花费比较少,最后dp[n-1]就是我们要求的答案。cost[i][j]表示从站点i到站点i+j+1的租用游艇的成本。

2025-02-23 16:09:41 357

原创 【C++算法】01背包问题

如果当前物品的重量Wi小于等于背包的容量j,那么可以选择将该物品放入背包,也可以选择不放入背包,取两种情况下的总价值的较大值,即V(i, j) = max{V(i-1, j), V(i-1, j-Wi) + Vi}。2.还有足够的容量可以装该商品,但装了也不一定达到当前最优价值,所以在装与不装之间选择最优的一个,即V(i,j)=max{V(i-1,j),V(i-1,j-w(i))+v(i)}。1.包的容量比该商品体积小,装不下,此时的价值与前i-1个的价值是一样的,即V(i,j)=V(i-1,j);

2025-02-23 15:40:44 428

原创 【C++算法】疯狂的8

考虑前几个步骤的情况,第一张扑克的 trick(0)=1(边界条件,默认最长子序列长度为1)第二张扑克如果可以与第一张扑克配对,则有 trick(1)=trick(0)+1,否则 trick(1)=1第三张扑克的 trick 值需要考虑前两张扑克能否与它配对,对于不能与 c[2] 配对的扑克不需要考虑,因为对 c[2] 的计算没有贡献。函数crazyEight遍历所有的牌,对每张牌,它会找到与之前的所有牌中符合疯狂8规则的牌中,可以组成最长序列的那个牌,并记录下这个牌的索引号和序列长度。

2025-02-23 15:15:07 610

原创 【C++算法】最优服务次序

这道题的关键就是只考虑两个人的情况,让服务时间短的排在前面可以让两个人的等待时间最短,同样的,当人多起来后,我们遍历数组,每次也只考虑相邻的两个人,让服务时间短的排在前面,于是就形成了这道题的贪心策略。也就是说,我们要让比较快搞定的人排在前面,这样后面的人的等待时间就会更短,通过按照服务时间的顺序处理顾客,可以最大程度地减少等待时间,从而得到了最小的平均等待时间。二是排序:根据某些关键变量对输入数据进行排序,这其中的关键就是排序标准是什么,可以是某一类输入数据的大小,也可以是某几类输入数据的乘或和。

2025-02-22 15:24:15 250

原创 【C++算法】dijkstra迪杰斯特拉算法

迪杰斯特拉算法的核心思想是通过逐步确定起点到所有其他节点的最短路径,从而找到起点到目标节点的最短路径。通过每次选择当前节点时都选择距离最小的节点,迪杰斯特拉算法可以保证在遍历过程中逐步确定起点到所有其他节点的最短路径。该算法的时间复杂度取决于图的规模,通常为O(V^2),其中V是图中节点的数量。它的思想是通过逐步确定起点到所有其他节点的最短路径,从而找到起点到目标节点的最短路径。2.找到一个还未确认与起点距离的点,,且保证这个点是目前所有未确认与起点距离的点中的最小值,把这个点赋值给temp。

2025-02-22 14:52:22 402

原创 【BUG】OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized

自己在跑模型的时候碰到了这个问题,只训练10轮的时候是没问题的,拉大到100轮就不行了,一开始我还怀疑是不是batch拉大了,显存还是内存爆了,后来查了一下,是因为存在多个版本的。有些不一样的是,我是用的anaconda默认的base环境跑的项目,所以不需要去到envs里面搜索,直接主目录搜索就行了,把main\Library\bin里面的。被加载到同一进程中,也就是一个环境下有多个。这个解决办法2一下就解决了这个问题。

2025-02-21 23:11:44 759 1

原创 【C++算法】判断平衡二叉树

首先我们需要构造出一个二叉树,本代码以例1为例,构造了一棵二叉树,判断其左右子树是否高度差大于1,其实就是通过递归搜索其左右子树的高度,只要左右子树不为空,就让高度加1,然后返回左右子树的值,最后比较左右子树的高度就可以了。在isBalanced()函数中,先判断当前节点左右子树的高度差是否超过1,如果是则返回false,否则递归判断左右子树是否平衡。如果高度差大于1,则返回false,表示不平衡。这样,我们就能通过递归地计算每个节点的高度并比较左右子树的高度差,来判断给定的二叉树是否是高度平衡的二叉树。

2025-02-21 14:04:23 333

原创 【C++算法】龙胆虎威倒水题

后根据问题描述和可行的操作,可以得到状态转移图,判断是否可实现,然后使用广度优先搜索(BFS)算法在状态转移图上进行搜索,从初始状态开始,逐步尝试可行的操作,直到达到目标状态。首先,操作的种类是固定的,总共就6种操作方式,我们只需要对每个阶段都执行一次这些操作,就能通过BFS算法判断有没有最优解,如图所示,由于并不是每次都需要把6个操作执行一次,这6个操作实际只需要执行最多两个,因为执行过的操作不会再执行一次,然后这6个操作又是分为对A和对B的操作,所以每次只需要3选2或1就行了。1 给⼀个⽔壶装⽔;

2025-02-21 13:56:16 325

原创 【算法】分治法求众数

其本质就是一个二分查找的题目,将找整个数列的众数二分成差两个子数列的个数,只需要将这个数列二分为两个子数列,然后找到左右两边的众数,然后进行比较确认整个数列的众数是什么就可以了。需要注意的点是:与数学上的众数定义不同,这里要求这个众数还必须超过数列长度的一半,所以找到出现次数最多的元素后还需要比较它的出现次数有没有超过数组长度的一半;运用分治思想,我们可以二分查找整个序列,先查找左右两边出现次数最多的元素是什么,然后查找左右两边的众数的出现次数是多少,最后进行比较,返回两边众数出现次数较大的那个数是多少。

2025-02-20 14:34:23 334

原创 【算法】大整数乘法

具体来说,就是先把这个大数字二分成多个最多三位的整数,然后让其中的两个整数模拟竖式运算相乘,比如计算1110*11的时候,就是拆分成了10*11和11*11,分别计算两个的结果为110和121,然后模拟竖式运算变成110+12100=12210,这里121后面要补两个0,是因为这里是拆成了两个两位数乘11,如果是一位数的时候,每个乘的结果都要左移一位再相加,这里是两位的话就是左移两位再相加。需要注意的点是二分的时候终止条件需要设置返回值为较小的两个整数的乘积,不然会无法保存到最后二分的结果;

2025-02-20 14:18:35 420

原创 【C++算法】堆

因为当一个节点没有左孩子的时候,它只有两种情况,左右孩子都没有,或者只是没有左孩子,如果是第一种情况,说明他是叶子节点,如果是第二种情况,是完全二叉树不会出现的,所以他就一定不会是一颗完全二叉树。首先将待排序的数组构造成一个大根堆,此时,整个数组的最大值就是堆结构的顶端,将顶端的数与末尾的数交换,此时,末尾的数为最大值,剩余待排序数组个数为n-1,将剩余的n-1个数再构造成大根堆,再将顶端数与第n-1位置的数交换,如此反复执行,便能得到有序数组。实验要求有三个:建堆,判断是否是完全二叉树,进行堆排序。

2025-02-19 14:20:06 504

原创 【C++算法】二叉树

再保证父节点有一个硬币的情况下,可以把多的硬币传给自己的子节点。首先根据题意,这道题目就是移动硬币给其父节点或子节点,在确保自身拥有至少一枚硬币的前提下,把自己多的硬币先传给自己的父节点,如果还有多,再传给自己的子节点,因为二叉树的遍历是从上往下遍历的,自己的父节点若没有硬币,那么只能由自己给,但是自己的子节点没有硬币,可以由子节点的子节点提供,所以优先保证父节点也能拥有硬币,这样就能保证更多的节点拥有硬币。(移动可以是从父结点到子节点,或者从子节点移动到父 节点 )。

2025-02-19 13:39:27 419

原创 【C++算法】几种排序算法

具体来说,就是先用二分法递归拆分整个数组,然后两两一对按照升序组成一个数组,之后再合并两个两元素的数组,采用双指针分别从两个数组的第一个元素开始遍历,谁小就先将谁放到新数组里面去,直到指针指向了最后一个元素的后一个位置,这样就合并好了一个两元素数组,直到所有两元素数组都被合并后(如果是奇数个最后一个两元素数组不用管,让他下一次合并再合并就行了),后面就按照相同的方法两两合并四元素数组就行了,直到所有数组都被合并后,形成的新数组就是有序数组,至此完成了归并排序。

2025-02-18 14:59:40 785

原创 【C++算法】树的最长同值路径

这个思路是错误的,因为你在DFS的时候,是先搜索完左子树,然后再回溯搜索右子树的,所以可能你根节点和左子树根节点值不同,但是和右子树根节点值相同,但是当你搜索到右子树的时候,那个变量的值已经被你搜索左子树的时候就更新掉了,就会判断不到两个节点值相同。另一个是判断其根节点和左右孩子的值是否相同时,如果是用当前节点和其左右孩子去比他们的值是否相同,显然增加了代码量,且有悖于DFS的思想,极大增加了运行时间,会变成类似BFS搜索的样子,因此该题的正确思路应该是判断当前节点是否与其父节点的值相同。

2025-02-17 14:07:02 311

原创 【C++算法】汉诺塔问题

汉诺塔是非常经典的递归问题,我们先考虑只有三个盘子的情况,现在有ABC三个柱子,A上有三个盘子,我们要把A上的三个盘子移动到B上,那么就可以先把A上的一个盘子移动到B上,再把A上的一个盘子移动到C上,然后把B上的一个盘子移动到C上,然后把A上的一个盘子移动到B上,然后把C上的一个盘子移动到A上,然后把C上的一个盘子移动到B上,然后把A上的一个盘子移动到B上。汉诺塔编程,设 a,b,c 是 3 个塔座。开始时,在塔座 a 上有⼀叠共 n 个圆 盘,这些圆盘⾃下⽽上,由⼤到⼩地叠在⼀起。

2025-02-17 13:38:04 601

原创 【C++算法】全排列

需要注意的点有两个:一个是交换元素的时候只让初始点的元素和后面的元素交换,不要和初始点前面的元素交换;2.注意回溯,要保证每个元素都当一次排头,所以要保证选择排头的时候数组为原样,这样才能按照循环1234分别选择排头,不然可能会出现一个元素多次当排头的情况,比如134,则让134分别当排头的时候要保证数组每次都是134不能为其他形式,不然就会变成134的时候选择第一个元素1为排头,后面交换13变成314,然后第二次循环选择第二个元素还是1当排头。本项目采用的方法如下。

2025-02-17 12:06:52 618

原创 【FPGA】电子秒表设计

设计时,首先需要分别定义每位数码管的管脚及变量,用于记录每位数码管此时显示的数字时多少,同时对于秒的个位满10归0,秒的十位满6归0,分的个位满10归0,分的十位满6归0,时的个位满4归0,时的十位满2归0。创建一个simulation source,然后定义仿真时间单位 和仿真时间精度为,然后设置时钟周期为 20ns,初始化寄存器,例化led模块,让计数器从0开始运行,记得要修改count模块中的代码,减小最大值后再进行仿真操作,仿真代码见附录。(2)核心子模块,包括1秒的计数,设置时,分,秒的计数器。

2025-02-07 22:40:32 868

原创 【FPGA】4位led流水灯设计

之后我们点击open hardware manager,给达芬奇开发板接上电源,并用正点原子通过电脑usb口与开发板进行连接,在vivado识别到开发板后,直接右键点击program device运行程序,运行结果如下,可见流水灯正常运行,实验结束。对主程序实现来说,要注意流水灯的循环,在第四个管亮后,要重新让第一个管亮,所以每次都要让led[3]的值赋值给最左边的led[0],即led[3:0] <= {led[2:0],led[3]};可见实验最终结果没有问题,比特流下载成功。

2025-02-07 22:24:59 774

原创 【FPGA】三八译码器

涉及思路如下: 三八译码器有三根输入线,可以输入三位二进制数码,共有八种状态组合,即可译出 8 个输出信号,所以实验需要一个存放3位输入信号的变量in和一个8位输出信号的变量out,接下来只需要判断输入信号的数据来确定输出信号的数据就可以了,当输入信号为000时,输出信号应该为00000001,当输入信号为001时,输出信号应该为00000010,当输入信号为010时,输出信号应为00000100,后续信号同理。可见,实验电路符合三八译码器逻辑电路,实验代码没有error,认为实验成功,试验结束。

2025-02-07 22:19:28 224

原创 【FPGA】四选一多路选择器

设计的关键就在于要保证输入00的时候要输出为001,输入01的时候要输出010,输入10的时候要输出011,输入11的时候要输出100,故代码中使用了case语句来分类讨论输入信号w的数据,其他需要注意的是,要保证使能端en有效的时候才能进行信号的选择,否则容易有初始化信号与输入信号有所重叠导致实验失败。可以看到,输出变量out按照1-2-3-4的顺序都依次输出了一次,分别对应着四个输入端,也符合仿真代码中只执行一个选择周期的逻辑,可见实验代码没有问题。可见实验电路和实验代码都没有问题,实验结束。

2025-02-07 22:12:50 324

原创 C语言图书管理系统(完整代码)

文件内容格式须为特定结构,逐行读取,每行代表一本图书的信息,按照书名、ISBN、作者名、库存量和可借阅量的格式填写。图书关键字查找(KeyFindBook):即通过除书名和作者名的其他信息匹配图书,比如ISBN,使用暴力匹配(BF算法)查找书名中是否包含输入的关键字,并显示所有匹配的图书信息。图书信息修改(EditBook):输入书名查找目标图书,查找到后选择要修改的字段(如书名、ISBN、作者名等),并输入新的值进行修改。图书查找(FindBook):输入书名和作者名,匹配后显示相关图书信息。

2025-01-11 11:13:30 380

原创 爬虫娱乐:python爬取斗鱼主播直播数据(面向新手小白)

先声明:此爬虫项目纯属娱乐,爬虫水很深,切勿随便爬取网站信息!!!闲来无事回看了一下之前自己的一个爬虫小demo,是爬取斗鱼主播的直播数据的,包括id人数封面等,写个小教程教大家玩一下这个爬虫。先介绍一下,后面会出现一些东西你可能不知道是啥,我不是爬虫专业人士,简单说一下我个人的一些理解,有错见谅,不想看的也可以到分割线下面直接实操。

2025-01-11 01:26:12 989

原创 本人关于LSM-YOLO的一些理解

因为仅通过通道信息交换所得的语义信息是片面的,这些信息不仅在内容上有相关性,在空间上也是高度集中的,将通道信息交换和空间维度交互相融合,可以产生互补效应,利用来自更大感受野的全局信息帮助低层次特征图预测较小目标。举个例子,在医学影像中,如肿瘤检测,肿瘤的存在通常与侵犯现象关联,具有多次发生和高转移倾向,为了减轻采样过程中边缘信息的损失,在将特征图的高度和宽度信息保存到通道后,特征图的维度从四维(批处理大小、通道数量、高度、宽度)变为五维(批处理大小、通道数量、高度、宽度、n),其中'n'表示采样因子。

2025-01-10 01:48:46 1065 1

原创 解决共享文件夹隐藏,apt安装依赖冲突问题及aptitude安装失败问题

本人最近刚刚开始学习嵌入式系统开发,在安装使用qt的时候遇到了不少问题,在本博客记录一下本人使用的是VMware装的Ubuntu22.04。

2023-09-16 15:30:19 704 1

原创 【C语言】学习笔记--一些0基础学习时会遇到的基础常识

本贴是作者一年多前0基础学习计算机时写的一些笔记,是跟着b站郝斌老师学的时候写的笔记,建议跟着郝斌老师学c语言的同学都可以跟着我写的笔记看看,我会稍微整理一下发出来给大家做个参考,希望能帮到大家。2.char 是字符变量,而 int 是整型变量,也就是某变量被赋予的值为字符时,用char,某变量被赋予的值为整形数字时(不包括实数),用int。同样的,char只能存放一个字节,若输入df,以%c输出则只有d,但若以%s输出的话,输出结果为df。char-字符-1字节-%c、%s。

2023-03-23 00:01:11 104

R语言PCA主成分分析

R语言PCA主成分分析

2025-02-27

R语言Kmeans算法数据集

R语言Kmeans算法数据集

2025-02-27

R语言广义加性模型gam数据集

R语言广义加性模型gam数据集

2025-02-27

R语言比较型图标-词云图数据集

R语言比较型图标-词云图数据集

2025-02-27

LSM-YOLO论文原文

LSM-YOLO论文原文

2025-01-09

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

TA关注的人

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