自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 javaweb配置(自用)

1.每一个module都要新建一个tomcat。

2025-10-08 20:37:00 212

原创 【机器学习】PCA主成成分分析

主成分分析(PCA)作为一种常用的数据降维技术,其主要目的是通过线性变换,将原始数据投影到一个新的坐标系中,使得数据在新坐标系中的方差尽可能大,从而减少数据的维度。即找到数据中方差最大的方向,将数据映射到这个方向上,形成第一个主成分。然后,在与第一个主成分正交的方向上找到第二大方差的方向,形成第二个主成分,依此类推。通过选择最大方差的前几个主成分,就可以实现对数据维度的降低。

2025-06-08 20:36:39 2260

原创 【机器学习】支持向量机

在线性可分时,在原空间寻找两类样本的最优分类超平面。在线性不可分时,加入松弛变量并通过使用非线性映射将低维度输入空间的样本映射到高维度空间使其变为线性可分,这样就可以在该特征空间中寻找最优分类超平面。# 转换为小写# 移除HTML标签、处理URLs、电子邮件地址等# ... 其他替换规则 ...# 分词处理!# 初始化单词索引列表# 读取词汇表并处理每个单词# 移除非字母字符并检查单词长度continue# 获取单词在词汇表中的索引功能:将原始邮件文本转换为词汇表中的索引列表。

2025-05-31 11:55:34 1164

原创 【打卡】树状数组的操作

单点更新和前缀查询的递归式路径遍历(通过加减 lowbit)是树状数组的核心技巧,这种 “自底向上” 和 “自顶向下” 的操作模式,将 O (n) 的时间复杂度优化到 O (log n),体现了算法设计的精妙。在主函数测试中,通过输出 tree 数组和前缀和数组,验证了逻辑的正确性,尤其是看到 tree 数组中各节点存储的区间和与理论推导一致时,成就感较强。初始化函数中,通过循环累加前驱节点值的逻辑,让我直观看到每个节点如何聚合子区间的和,这比单纯记忆公式更有助于掌握原理。

2025-05-24 19:53:44 393

原创 【打卡】车厢重排

完成这道铁路车厢重排问题的代码实现,让我对贪心算法和数据结构的应用有了更深刻的理解。核心难点在于如何合理利用有限的缓冲轨道(栈结构)调度车厢顺序,其中 “选择尾部最大且小于当前车厢的轨道” 这一贪心策略是解题关键,它通过局部最优选择确保全局可行解,体现了贪心算法的典型思维。过程中需要反复验证车厢能否直接输出或入栈,同时处理边界情况(如轨道为空或无合适轨道时的判断),这锻炼了逻辑的严密性。例如,遍历输入时需即时检查缓冲轨道头部是否有可输出车厢,避免遗漏连续顺序的情况,这一步的循环设计需仔细权衡终止条件。

2025-05-22 14:26:55 284

原创 【机器学习】逻辑回归

Logistic回归是一种广义线性回归(generalized linear model),因此与多重线性回归分析有很多相同之处。它们的模型形式基本上相同,都具有 w’x+b,其中w和b是待求参数,其区别在于他们的因变量不同,多重线性回归直接将w’x+b作为因变量,即y =w’x+b,而logistic回归则通过函数L将w’x+b对应一个隐状态p,p =L(w’x+b),然后根据p 与1-p的大小决定因变量的值。

2025-05-18 16:17:25 2176

原创 【打卡】功夫传人

代码中利用 DFS 遍历供应链树,通过递归传递价格折扣的逻辑,清晰地模拟了商品流通过程中的价值传递。这让我意识到,将实际问题抽象为树结构后,递归能简洁地处理层级关系,而状态参数(如当前价格)的传递是解决这类问题的关键。此外,浮点数运算需注意精度问题,代码中直接累加乘积并在最后取整的处理方式,既保证了逻辑正确性,又简化了计算步骤。这次实践让我明白,算法设计需紧密结合问题模型,合理选择遍历方式和数据结构,才能高效解决复杂问题,也加深了我对 “自顶向下” 递归思路的运用能力。

2025-05-17 12:59:41 447

原创 【打卡】悄悄关注

首先,输入处理部分通过拆分字符串和集合去重,高效获取已关注用户列表,体现了集合在快速查找中的优势。筛选潜在用户时,通过遍历字典结合条件判断,清晰实现了“高于平均且未关注”的双重筛选逻辑,最后排序输出确保结果规范,这一系列步骤让我明白算法设计需环环相扣。同时,问题拆解思维很重要——将复杂需求分解为输入处理、数据统计、条件筛选、结果输出等模块,逐步实现功能,能有效降低编码难度。

2025-05-14 21:33:22 342

原创 【打卡】垃圾箱发布

通过完成这道题目,我对 Dijkstra 算法的理解与应用有了质的飞跃。它不仅加深了我对图论中最短路径问题求解的认知,还让我体会到算法与实际场景结合的巧妙之处。代码中对输入数据的处理、图结构的构建,以及利用优先队列优化算法,每一步都需要细致思考。同时,题目的筛选条件和多维度评估标准,促使我学会从多个角度分析问题,权衡不同方案的优劣。这道题也让我意识到,编程不仅是实现功能,更是逻辑思维与算法优化能力的综合体现,未来还需不断实践,提升解决复杂问题的能力。

2025-05-13 22:54:31 323

原创 【打卡】抢红包

通过这个题目,我深刻体会到清晰的逻辑分析和合理的数据结构设计是解决复杂模拟问题的关键。在处理多条件排序时,元组的比较规则能简洁高效地满足需求。同时,Python 的列表操作和格式化输出功能大大简化了代码实现。

2025-05-10 21:57:13 358

原创 【打卡】滑动窗口的极值

学习这个关于滑动窗口最大值的题目,能带来多方面深刻体会。在算法思维上,明白了如何通过巧妙的数据结构(双端队列)和逻辑设计(维护单调队列),将看似复杂的滑动窗口问题简化,高效解决。这有助于培养化繁为简、创新解题的思维模式。从数据结构运用角度,加深了对双端队列特性的理解,认识到它在灵活处理数据进出场景中的优势。

2025-05-08 14:16:08 309

原创 【打卡】病毒溯源

通过做这道题,我深刻体会到了数据结构和算法在解决实际问题中的重要性。首先,合理使用数组来存储病毒株的变异关系是解题的基础,它能清晰地表示出每个病毒株的来源。递归的运用巧妙地实现了从病毒株向源头的回溯查找,让代码逻辑简洁明了。在比较变异链时,细致地处理不同长度和相同长度下元素大小比较的情况,考验了对细节的把控能力。这道题不仅锻炼了我的编程技巧,还让我更加熟悉了如何将实际问题抽象为算法模型,在今后遇到类似树形结构或追溯源头的问题时,能更从容地应对。

2025-05-05 14:18:00 363

原创 【机器学习】朴素贝叶斯

贝叶斯分类器是各种分类器中分类错误概率最小或者在预先给定代价的情况下平均风险最小的分类器。它的设计方法是一种最基本的统计分类方法。其分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。

2025-05-03 18:11:43 567

原创 【打卡】彩虹瓶

本题中临时货架需要使用到栈的特性(先进后出),通过栈来模拟货架上箱子的堆放和取出操作。函数将输入的字符串转换为整数并分别赋值给对应变量。

2025-04-30 17:20:06 314

原创 【打卡】树的同构

学会这道题后,会对二叉树的存储和操作有更深入的理解。尤其是通过数组存储二叉树,以及利用递归处理树的结构问题。在实际应用中,对于处理具有层次结构的数据(如文件目录结构等)会有很好的借鉴作用。同时,递归算法的应用也能锻炼逻辑思维能力,学会如何将复杂问题分解为简单的子问题来解决。而且,对于树的同构判断这种问题的解决,有助于在图形处理、数据结构相似性分析等领域的进一步学习和研究。在判断两棵树是否同构时,可以使用递归的方法。递归是一个函数在它的函数体内调用它自身,在处理树这种具有递归结构的数据时非常有效。

2025-04-29 21:49:16 195

原创 【打卡】非常弹的球

【代码】【打卡】非常弹的球。

2025-04-25 20:48:19 301

原创 【打卡】冒泡排序

外层循环控制趟数,内层循环负责每一趟的元素比较交换,这让我懂得合理的结构设计对算法实现的关键作用。每一趟排序都会将未排序部分的最大(或最小 )元素放到合适的位置,逐步缩小未排序部分的范围,最终实现整个数组的有序排列。:对数组从第一个元素到倒数第二个元素依次进行相邻元素比较和交换操作,这样经过一趟排序后,最大(或最小,取决于排序顺序 )的元素就会 “冒泡” 到数组的末尾。:对数组中相邻的两个元素进行比较,如果顺序错误(如从小到大排序时,前面元素大于后面元素 ),就交换它们的位置。趟时,输出此时的数组状态。

2025-04-23 20:44:45 369

原创 【机器学习】决策树

决策树是一种常用的机器学习算法和决策分析工具,基于树结构进行决策,每个内部节点是一个属性上的测试,分支是测试输出,叶节点是类别或值,通过不断测试属性来将样本分类或预测值。决策树包括根节点内部节点和叶节点。根节点是决策树的起始点,内部节点表示对某个属性的测试,叶节点则代表最终的决策结果或类别。边用来连接各个节点,代表属性的取值或决策路径。

2025-04-21 17:09:32 2100

原创 【打卡】广度优先

BFS 是一种图遍历算法,它从给定的起始顶点开始,逐层地向外扩展访问顶点。简单来说,就是先访问起始顶点的所有邻接顶点,再依次访问这些邻接顶点的邻接顶点,按照 “由近及远” 的顺序遍历整个图。它与深度优先搜索(DFS)的区别在于,DFS 是沿着一条路径尽可能深地访问顶点,直到无法继续才回溯;广度优先借队列逐层遍历图顶点的逻辑巧妙,却需琢磨。写代码时,虽被顶点标记、邻接表处理等细节考验,可解决问题后理解更深。成功用 BFS 解题时,满满的成就感涌上心头,也激励我持续探索算法知识,不断挑战自我。

2025-04-19 14:59:15 274

原创 【打卡】图着色问题

学习图着色算法,在思维层面,它极大地锻炼了我的逻辑思维。面对复杂的图结构,需严谨梳理顶点与边的关系,分析如何在相邻顶点不能同色的规则下巧妙着色,这个过程让我思考问题更加有条理。这不仅提升了我的问题解决能力,更让我意识到算法在优化资源分配、提高工作效率方面的巨大能量。同时,学习过程中对贪心、回溯等算法策略的钻研,拓宽了我的算法知识储备,让我在面对其他编程难题时,能从更多角度去构思解决方案。图着色算法是一类用于给图的顶点分配颜色,使得相邻顶点颜色不同的算法。

2025-04-16 13:28:52 376

原创 【打卡】二叉树+例子

数据结构与算法紧密相连,二叉树结构为算法奠定基础,不同算法依据其特点设计。递归思想强大且简洁,能将复杂问题分解为子问题,使代码易读、易维护。队列在层序遍历中是合适选择,利用其特性保证遍历顺序,提升算法效率。模块化编程优势明显,各功能封装成函数,增强代码复用性与可维护性,方便测试、调试与扩展。二叉树是一种树形数据结构,其中每个节点最多有两个子节点,通常被称作 “左子节点” 和 “右子节点”。二叉树的每个节点包含一个值和指向其左右子节点的指针。该函数用于翻转二叉树,也就是交换每个节点的左右子节点。

2025-04-14 14:03:18 259

原创 【打卡】二分法+例子

同时,我们也需要根据具体问题的特点,选择合适的数值计算方法,以达到更好的求解效果。而且,二分法只能用于求解单根,对于复杂的函数或方程,可能需要结合其他更高级的数值计算方法来提高求解效率和精度。在实际应用中,当我们需要求解方程的根,但又难以通过解析方法得到精确解时,二分法是一个很好的选择。二分法是一种用于求解方程根的数值计算方法,其基本思想是不断将区间一分为二,然后根据函数在区间两端点的取值情况,确定根位于哪一个子区间,进而缩小区间范围,逐步逼近方程的根。

2025-04-11 17:51:51 484

原创 【打卡】直方图均衡化

具体来说,它根据图像的灰度分布情况,计算出一个映射函数,使得原始图像中不同灰度值的像素能够均匀地分布在整个灰度范围内。图像灰度变换是通过对图像的每个像素的灰度值进行操作,来改变图像的外观,增强图像的对比度或调整图像的亮度等。其基本原理是基于某种变换函数,将原始图像的灰度值映射到新的灰度值,从而实现图像灰度的调整。直方图均衡化的应用很广泛,其可以自动增强图像的整体对比度,对于背景和前景都太暗或太亮的图像,能有效地改善视觉效果,突出图像的细节信息,使图像更清晰,更易于后续的图像分析和处理。

2025-04-09 21:01:52 190

原创 【打卡】PR曲线与ROC曲线

PR曲线根据混淆矩阵而得出,混淆矩阵也被称为误差矩阵或可能性表格,是机器学习领域中一种常见的可视化工具,特别是在监督学习中。混淆矩阵是一个n行n列的矩阵,其中每一列代表预测值,每一行代表实际值。ROC与PR曲线相似,根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值,分别以它们为横、纵坐标作图。由此可见,混淆矩阵在机器学习模式上发挥重要作用,因其而得出的PR曲线和ROC曲线在判断学习器的性能方面发挥巨大作用。TP:真正例,实际是正例,识别为正例。

2025-04-07 20:22:16 168

原创 【机器学习】模型评估

同时,算出AUC值。(2)欠拟合:欠拟合是机器学习中的一种情况,当模型在训练数据上表现的很差,无法捕捉到数据中的复杂模式,导致模型的泛化能力弱,这通常表现为模型在训练集和验证集上的误差都很高。(3)误差:学习器的实际预测输出与样本的真实输出之间的差异称为“误差”,学习器在训练集上的误差称为“训练误差”或“经验误差”,在新样本上的误差称为“泛化误差”。将数据集分层采样划分为k个大小相似的互斥子集,每次用k-1个子集的并集作为训练集,余下的子集作为测试集最终返回k个测试结果的均值,k最常用的取值是10。

2025-04-07 18:52:23 1172

原创 【打卡】过拟合与欠拟合

通过交叉验证等方法不断调整模型,监控训练集和测试集的性能指标,在二者之间找到最佳平衡点,让模型既能充分学习数据规律,又具备良好的泛化能力,适应新数据的预测任务。欠拟合是机器学习中的一种情况,当模型在训练数据上表现的很差,无法捕捉到数据中的复杂模式,导致模型的泛化能力弱,这通常表现为模型在训练集和验证集上的误差都很高。当学习器把训练样本学得“太好”了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化能力下降,这种现象在机器学习中称为过拟合。

2025-04-04 16:50:06 349

原创 【打卡】knn算法

它的基本思想是通过测量不同特征值之间的距离来进行分类,即将新数据的特征与训练集中的数据进行比较,并找到最相似(即最邻近)的数据。一般而言,在KNN算法中,通过选择K个最近邻的数据点,根据它们的类别信息来进行分类预测。这一过程可以用于解决分类问题,也可以用于回归分析。值得注意的是,KNN算法属于无参数学习方法,不需要事先对数据进行训练,因此它是一种基于实例的学习或记忆型学习的算法。在约会实例中,KNN 算法通过分析约会数据中的特征,如每年飞行里程数、玩游戏所耗时间百分比等,能预测约会对象是否值得进一步发展。

2025-04-02 19:36:38 168

原创 【机器学习】实验二:KNN算法和约会网站

KNN算法是一种基本且常用的机器学习算法之一,用于分类和回归。它的基本思想是通过测量不同特征值之间的距离来进行分类,即将新数据的特征与训练集中的数据进行比较,并找到最相似(即最邻近)的数据。一般而言,在KNN算法中,通过选择K个最近邻的数据点,根据它们的类别信息来进行分类预测。这一过程可以用于解决分类问题,也可以用于回归分析。值得注意的是,KNN算法属于无参数学习方法,不需要事先对数据进行训练,因此它是一种基于实例的学习或记忆型学习的算法。我的朋友海伦一直使用在线约会网站寻找适合自己的约会对象。

2025-03-24 15:02:43 674

原创 【机器学习】实验一:如何配置vscode和anaconda

这是第一次尝试配置环境,是从网上找了很多教程一步步跟着做的。在跟步骤时,发现许多配置环境通用的条件。比如放置软件的文件夹不能用中文命名,且尽量简洁明了,方便查询具体路径。还有写代码条件时,所有符号都必须是英文的,中文的符号会导致输出结果不正确。

2025-03-10 17:49:43 680

空空如也

空空如也

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

TA关注的人

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