自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Density Peak Clustering

实验的另一个难点是选择簇中心,其最大的挑战是精准地评估一个点是否具有较大的δ。时,均需要比较繁琐的调参,最终得到的图像和DBI均是调参后得到的最优结果,无论是从图像还是DBI,整体来看,截断核的性能好于高斯核,前两个数据集上差别较为明显,第三个数据集上二者差别不大。总的来说,Cutoff核函数更适合于处理局部密度较高的情况,而Gauss核函数则更适合于连续的密度估计。邻域内将包含属于另一个簇的点,最终会导致图3这样的簇“中心”处在簇的边缘的结果;衡量与其它密度最高的点的最小距离,对于类中心点,有着较大的。

2024-03-12 12:04:29 1009 1

原创 SVM(支持向量机)

对于几个数据集,sklearn模型和梯度下降法模型在准确率上表现较好,并且训练时间相对较短。在5维的数据集上,SMO模型的训练时间较长,且准确率稍低。在四折交叉验证中,sklearn模型和梯度下降法模型的平均准确率都较高,而SMO模型的平均准确率较低。综合考虑模型的准确率和训练时间,sklearn模型效率及性能均好于我们自己写的SVM,在已有的测试结果中,梯度下降法明显优于简化版的SMO。

2024-03-11 22:24:56 929

原创 Logistic Regression

它基于线性回归模型,通过对输出进行逻辑变换,将线性回归的结果映射到一个概率值。与线性回归不同,逻辑回归的输出是一个概率值,而不是连续的数值。它假设样本的输出服从伯努利分布,即二分类问题中,样本的输出只有两个可能的取值。通过最大化似然函数,可以得到最优的模型参数,从而使得模型对样本的预测概率最接近实际观测值。另外,改变l1,l2即所用的正则表达式,gamma值,lr(learning rate)的值,accuracy均未改变,只有Training Loss Curve图像以及迭代次数改变。

2024-03-11 22:21:33 914

原创 BFS(考虑非连通图)

由于实验要求中已经说明,data中的图节点数较少且边比较密集所以采用邻接矩阵的存储方式,由于数据集规模较小,所以直接初始化一个矩阵对数据进行读取,若两个点之间存在边,将对应矩阵位置的值设为1即可得到邻接矩阵,然后实现BFS函数对图进行遍历即可。针对图,根据给定的数据选择合适的存储方式(邻接矩阵和邻接表中的一种)进行存储(存储方式选择也是实验的检查内容之一),并进行图的广度优先遍历的过程。对 twitter_small,选择一种合适的存储方式存储数据,并输出 BFS 的遍历时间。

2024-03-11 22:06:57 377

原创 回溯法解决调度问题

设有 n 个任务由 k 个可并行工作的机器来完成,完成任务 i 需要时间为。试设计一个算法找出完成这 n 个任务的最佳调度,使完成全部任务的时间最早。表示有 3 个任务,2 个机器。完成 3 个任务的时间分别为 2, 3, 4。函数递归实现遍历,但在遍历的情况下,时间开销过大,时间复杂度为。通过回溯法解决调度问题,本质上是通过遍历,本程序通过。输出三个测试案例所有任务完成的总时间,及调度方案。程序输入:从 test 系列文件获取数据。第二行为完成任务 i 需要的时间。,包含 n 个数据,以空格间隔。

2024-03-11 22:05:03 391

原创 Huffman 编码问题

然后,不断从优先队列中取出频率最小的两个节点,合并为一个新的父节点,并将其插入优先队列中,直到优先队列中只剩下一个节点,即根节点,表示构建完成的哈夫曼树。例如对于字符串“AABBBEEEEGZ”,如果使用定长编码,‘A’、‘B’、‘E’、‘G’、‘Z’字符各需要 3 位 01 串编码,编码后的字符长度为 3。接着,遍历输入字符串,根据哈夫曼编码将每个字符替换为对应的编码,生成压缩后的字符串。否则,递归地处理左子节点和右子节点,分别在当前编码基础上加上"0"和"1",继续生成编码。函数,用于计算压缩率。

2024-03-11 22:03:10 358

原创 最长公共子序列(LCS)算法

例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。输入:text1 = “abcde”, text2 = “ace”输入: text1 = “abc”, text2 = “def”输出: LCS:“ace”, 长度:3。

2024-03-11 22:01:55 1083

原创 区间树上重叠区间的查找

在最坏的情况下,如果树是一个完全平衡的二叉搜索树,并且查询区间与树中的所有区间都重叠,那么函数的时间复杂度将是O(n),其中n是树中节点的数量。将实验三中实现的红黑树插入算法改编为区间树插入算法,并实现重叠区间的查找算法:给定一棵区间树T和一个区间i,在O(min(n, klogn))时间内列出T中所有与i重叠的区间,其中k为重叠的区间数。综上所述,整个函数的时间复杂度为O(log n),其中n是树中节点的数量,满足实验要求O(min(n,klogn))。若存在结果,输出对应节点区间: [x, y]

2024-03-11 22:00:15 371

原创 红黑树插入

print 输出:RB_INSERT_FIXUP 算法历经的情况种类数,即代码注释中 case x 的数字当z.p==z.p.p.right 时(即代码中被省略的 else 部分),情况种类数顺延为 4,5,6。文件输出:将插入完成后的红黑树进行 “先序遍历(NLR)” , “中序遍历(LNR)”和“层次遍历(Level-Order Traverse)” 并将相应的遍历序列输出到文件中。文件格式:第一行为待插入数据的个数,第二行为待插入的数据(int 类型, 空格分割)文件名: insert.txt。

2024-03-11 21:58:23 886

原创 求平面上n个顶点的最近点对问题

接着,采用了分治法的思想,将所有的点分为两个部分,分别计算左半部分和右半部分的最近点对的距离,然后取两者中的最小值。假设在两个平面中间的点的数量为m,寻找中间可能更小的距离的时间复杂度是O(m)。在检查中间区域的点对时,采用一种优化的方法,即只检查y坐标在指定范围内的点对,因为如果两点的y坐标相差过大,那么它们的距离肯定会大于当前的最小距离。综上所述,该程序的总时间复杂度为O(nlogn),其中n是输入数据的数量,m是两个平面中间的点的数量。最后,输出了最近点对的距离,以及这对点的编号。

2024-03-11 21:56:27 375 1

原创 快速排序算法及其优化

快速排序是一种分治算法,它选择一个元素作为基准(pivot),将数组分为两部分,一部分是小于基准的元素,一部分是大于基准的元素。当子数组的大小小于等于k时,使用插入排序算法对子数组进行排序。这样可以在处理小规模的子数组时,避免快速排序的递归调用,提高算法的效率。从未排序部分选择一个元素,将其插入到已排序部分的正确位置,重复这个过程直到所有元素都被插入到已排序部分。本实验代码的思想是使用快速排序算法对输入数据进行排序,并在处理小规模的子数组时使用插入排序算法进行优化。

2024-03-11 21:54:00 384

原创 github拉取与上传代码常用命令

分支正确的情况下,依次执行下列命令即可。首先需要打开项目的本地文件夹位置。然后我们需要检查当前分支。就可以,这里不再赘述。切换到想要的目标分支。

2024-03-11 16:23:53 442

空空如也

空空如也

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

TA关注的人

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