自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【算法 & 高级数据结构】树状数组:一种高效的数据结构(二)

上一篇文章我们介绍了树状数组这个数据结构,并且进行了其原理的数学推导,这篇文章基于上一篇文章,来讲一下这个数据结构在算法题中的应用

2024-03-25 17:17:56 1270 52

原创 【算法 & 高级数据结构】树状数组:一种高效的数据结构(一)

树状数组(Binary Indexed Tree,BIT)是一种数据结构,用于高效地处理数组的动态查询和更新操作。它可以在O(log n)的时间复杂度内完成单点更新和前缀和查询操作。树状数组常用于解决数组频繁更新和查询前缀和的问题,比如求解**逆序对、区间和**等。

2024-03-08 14:43:48 2054 68

原创 【机器学习基础】层次聚类-BIRCH聚类

BIRCH算法的优势包括对大型数据集的高效处理能力、低内存消耗以及对噪声数据和离群点的鲁棒性。通过灵活地调整参数,可以控制聚类的紧密度和数量,在处理大规模数据时表现出色。

2024-03-02 09:21:15 2031 63

原创 【DFS简单题汇总】递归与递推

递归实现指数型枚举、递归实现排列型枚举、递归实现组合型枚举等经典简单题统统搞定

2024-02-27 15:49:09 1437 51

原创 【机器学习基础】一元线性回归(适合初学者的保姆级文章)

一元线性回归是一种统计分析方法,用于建立一个自变量和一个因变量之间的线性关系模型。在一元线性回归中,只有一个自变量(即解释变量)与一个因变量(即被解释变量)相关。

2024-02-25 10:34:20 2297 45

原创 【机器学习基础】正则化

如果我们有非常多的特征,我们通过学习得到的假设可能能够非常好地适应训练集(代价函数可能几乎为 0),但是可能会不能推广到新的数据。

2024-02-21 09:08:54 2308 53

原创 【机器学习基础】决策树(Decision Tree)

决策树是一种树形结构,用于描述从一组数据中提取出一些特征,并通过这些特征来进行分类或预测的过程。决策树的每个节点表示一个特征,每个分支表示这个特征的一个取值,叶子节点表示最终的分类结果。

2024-02-17 09:47:28 2047 39

原创 【深度学习 & 目标检测】R-CNN系列算法全面概述(一文搞懂R-CNN、Fast R-CNN、Faster R-CNN的来龙去脉)

RCNN在2013年在目标检测领域首次使用深度学习和卷积神经网络,他与Alex net一起引爆了21世纪第二个十年计算机视觉领域的技术爆炸。后续所有基于深度学习的目标检测——特别是两阶段目标检测算法。如Fast RCNN Faster R-CNN,都是在R-CNN上进行的迭代升级。所以弄懂RCNN特别重要。甚至可以说,没弄懂RCN后边的算法根本就看不懂。候选区域生成:利用Selective Search算法在每张图像上生成约2000个候选区域。这些候选区域被认为是可能包含目标的区域。特征提取。

2024-02-12 16:08:15 9300 42

原创 【机器学习 & 深度学习】开发工具Anaconda的安装与使用

Anaconda是一个强大的开源数据科学平台,它将很多好的工具整合在一起,极大地简化了使用者的工作流程,并能够帮助使用者解决一系列数据科学难题。

2024-02-05 10:56:04 1297 39

原创 【Python基础 & 机器学习】Python环境搭建(适合新手阅读的超详细教程)

无论是机器学习、深度学习或者爬虫开发,都需要python语言作为工具,因此,本文来带领从零搭建python环境,避免新手死于配环境的窘境!!!

2024-02-01 22:13:56 2242 16

原创 【机器学习 & 深度学习】卷积神经网络简述

卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习(deep learning)的代表算法之一。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks, SIANN)”

2024-01-31 08:00:00 1727 11

原创 【机器学习 & 深度学习】神经网络简述

神经网络是一种模拟生物神经系统的信息处理模型,由多个神经元组成。这些神经元通过连接传递信号,并按照一定的权重进行加权求和,最终输出一个结果。神经网络的学习过程是通过不断调整神经元之间的连接权重来实现的,使得神经网络能够更好地适应不同的输入数据。

2024-01-27 16:29:30 1865 13

原创 【算法基础 & 数学】快速幂求逆元(逆元、扩展欧几里得定理、小费马定理)

已知:a % gcd(a,b) == 0,b % gcd(a,b) == 0;已知整数a、b,扩展欧几里得算法可以在求得a、b的最大公约数的同时,能找到整数x、y(其中一个很可能是负数),使它们满足贝祖等式。在一个集合中,对于某种运算,如果对于任何的集合元素a和元素e运算,得到还是集合元素a本身,就称e为这个运算下的单位元。因此 方程 ax + by = c 有解的充要条件是 c % gcd(a,b) == 0。则 ax % gcd(a,b) == 0,by % gcd(a,b) == 0。

2024-01-21 17:26:58 3005 4

原创 【算法基础 & 数学】快速幂

其实就是看k的二进制表示里面,哪些位是1,把1对应的这些位对应的数乘起来就可以了。可以表示为前面分解的这些数的某些数的乘积。也就是说,后一个数都是前一个数的平方。,对于每组数据,求出。(利用k的二进制表示)

2024-01-19 19:20:57 481 2

原创 【算法基础 & 数学】欧拉函数

欧拉函数的定义、公式及其推导、C++代码

2024-01-18 09:15:54 540 2

原创 【机器学习基础】集成学习

集成学习(Ensemble Learning)是一种通过结合多个弱分类器的预测结果,来得到一个更强大的分类器的方法。它基于“群体智慧”,通过对多个模型结果的综合,可以缓解过度拟合和欠拟合等问题,并提升预测性能。常见的集成学习算法包括 Boosting、Bagging、随机森林等。其中,Boosting 是一种将多个弱分类器变成强分类器的算法,Bagging 是一种基于 Bootstrap 取样的集成学习算法,随机森林则是一种结合决策树和 Bagging 的方法。集成学习在机器学习和数据挖掘领域有着广泛的应

2024-01-11 13:35:40 1257 12

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

支持向量机(Support Vector Machine,SVM)是一种按监督学习方式对数据进行二元分类的广义线性分类器。其决策边界是对学习样本求解的最大边距超平面。SVM使用铰链损失函数计算经验风险并在求解系统中加入了正则化项以优化结构风险,是一个具有稀疏性和稳健性的分类器。SVM可以通过核方法进行非线性分类,是常见的核学习方法之一。

2024-01-08 09:44:19 1226 10

原创 【python爬虫开发实战 & 情感分析】利用爬虫爬取城市评论并对其进行情感分析

本项目旨在通过爬取大量的评论数据,分析游客对潍坊和淄博的情感态度,从而为有意向去这两个城市旅游的人提供有价值的参考。通过对评论的情感分析,我们可以解游客对潍坊和淄博的整体评价以及他们在评论中表达的情感倾向。同时,我们还可以获取对这两个城市的客观评价、满意度水平和不满意之处的细节解。这些信息可以帮助旅游从业者、景点管理者和相关决策者更好地了解游客对潍坊和淄博旅游体验的感受,进一步改善景点的服务质量和提升游客的满意度。

2024-01-06 12:52:33 1780

原创 【机器学习基础】DBSCAN

基于密度的聚类算法是以出格合适对不确定命据集举行聚类,不用计较各种各样的距离,而是基于密度,就可以迅速的完成样本集的聚类。它从一个随机的没有经过访问的一个对象点开始进行搜索,并检查对象点的E邻域是否含有至少minpts个对象,如果它附近点的数量少于minpts,那么该点将会暂时标记为噪声点,如果附近点的数目大于等于minpts,那么该对象点会创建一个新的簇,并将把该点和它的E邻域内的所有对象全部放入列为候选集合。噪声点被识别为选择对象过程的一部分,如果特定的对象点没有足够的附近点,则将其标记为噪声点。

2024-01-04 22:10:45 1258 3

原创 【回顾 & 展望】我的2023年度总结

最近发现了一个比较有意思的事,各大APP都在推我在这个APP的使用方面的2023年度总结,各个up主,也都在发各种年度总结。那我也趁2023的最后一天,总结一下这一年。首先是开门红~除夕夜零点左右我家屋顶着火了,时间和地点都恰到好处,还好在邻居的帮助下,火势得到了控制。下面言归正传,既然是总结,不能把文章写成流水账了,下面分各个方面来总结一下吧。

2023-12-31 13:32:22 928 2

原创 【算法基础】高精度运算

高精度加法、高精度减法、高精度乘法、高精度除法的思路与代码

2023-11-20 17:31:05 626 7

原创 【机器学习基础】K-Means聚类算法

聚类分析是一种典型的无监督学习, 用于对未知类别的样本进行划分,将它们按照一定的规则划分成若干个类族,把相似(距高相近)的样本聚在同一个类簇中, 把不相似的样本分为不同类簇,从而揭示样本之间内在的性质以及相互之间的联系规律

2023-11-20 16:12:35 1007 1

原创 【机器学习Python实战】logistic回归

逻辑回归的python代码实现超详解~

2023-11-18 19:41:04 572 7

原创 【机器学习Python实战】线性回归

针对以上的一元和多元线性回归的梯度下降求解方法,进行代码展示

2023-11-18 17:11:06 806 1

原创 【算法基础】筛质数

有最朴素的筛法和线性筛法。最朴素的筛法是依次遍历每个数,如果该数不是合数,则将其加入素数列表中。线性筛法则是在遍历每个数的同时,将其倍数标记为合数,从而减少后续遍历的次数,提高效率。

2023-11-17 16:34:18 101 3

原创 【机器学习基础】对数几率回归(logistic回归)

对数几率回归,也称为逻辑回归,是一种广义线性模型。在逻辑回归中,通过使用sigmoid函数,将线性回归的输出映射到0和1之间,表示样本属于某一类的概率。所以它属于分类模型。逻辑回归模型的训练通常通过最大化似然函数来完成,常用的解决方法是使用梯度下降算法进行模型优化,通过迭代调整模型参数,使得模型的预测结果逐渐接近实际标签。逻辑回归可以表示为一个关于θ的函数hθ(x),即hθ(x) = P(y=1|x;θ),表示给定特征x和参数θ的条件下,样本属于正例的概率。

2023-11-17 16:02:12 2138

原创 【算法基础】分解质因数

分解质因数是指将一个合数用质因数相乘的形式表示出来,即将一个合数分解为若干个质数的乘积。其中每个质数都是这个合数的因数。例如,将30分解质因数,得到2×3×5,即将30表示为2、3、5三个质数的乘积。分解质因数只针对合数,对于质数和1,不需要进行分解质因数。

2023-11-16 22:44:08 3266 1

原创 【C语言课程设计】医院管理系统

以上是医院管理系统的一些基本功能,根据实际需求还可以进行扩展和优化。医院管理系统是一个用于管理医院日常运营的系统。

2023-11-16 22:23:03 3101 7

原创 【机器学习基础】多元线性回归(适合初学者的保姆级文章)

多元线性回归是一种统计分析方法,它涉及到两个或更多的自变量,并且因变量和自变量之间是线性关系。这种方法用于确定两个或更多个变量之间的定量关系。多元线性回归模型表示因变量(Y)与自变量(X1,X2,X3等)之间的线性关系。承接我们上一篇文章预测房价的例子目前为止,我们探讨了单变量线性回归模型,现在我们对房价模型增加更多的特征,例如房间的数量,楼层数和房屋的年龄等,构成一个含有多变量的模型,模型中的特征为(x1,x2,…,xn)。增添更多特征后,看一下各个变量名n 代表特征的数量xix^{(i)}x。

2023-11-15 21:33:29 6893 2

原创 【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)

机器学习模型评估是机器学习领域中的一个重要研究方向,其研究背景在于随着大数据时代的到来,人们面临着越来越多的数据分析和处理任务,而机器学习作为一种高效的数据处理技术,在很多领域都得到了广泛应用。然而,机器学习模型的效果评估是机器学习应用过程中一个非常关键的问题,因此机器学习模型评估的研究具有非常重要的意义。

2023-11-14 16:16:40 10411

原创 【机器学习基础】机器学习的基本术语

介绍了模型、训练数据、过拟合、欠拟合等14个基本术语,应有尽有,赶紧来学习吧!

2023-11-14 12:48:39 1141

原创 【机器学习基础】机器学习入门(2)

1. 监督学习:利用训练集数据对其进行训练得到相应的正确对应关系,从而测试集数据在得到的对应关系下进行运算得到相应的正确结果。在监督学习中,对于数据集的每个样本,我们用算法预测并得出正确答案。监督学习可分为回归问题和分类问题。回归问题预测连续值的输出,分类问题预测离散值的输出。2. **无监督学习**:数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。无监督学习的数据集没有标签或具有相同的标签,算法自动对数据集处理分类。总的来说,监督学习和无监督学习的主要区别在于是否利用标签进行训练和

2023-11-13 19:53:18 597 1

原创 【机器学习基础】机器学习入门(1)

监督学习(Supervised Learning):在这种学习方法中,算法从带有标签的训练数据中学习。标签是指我们已知的“答案”。例如,如果我们要预测房价,我们可能会用—套房屋特征(如面积、卧室数量等)和相应的价格(标签)来训练模型。—旦模型被训练好,我们可以用它来预测新房屋的价格。无监督学习(Unsupervised Learning):在这种方法中,算法只有输入数据,没有任何标签。其目标通常是找到数据中的结构或模式。

2023-11-13 15:21:21 704 2

原创 【C语言课程设计】图书管理系统

图书管理系统是一个重要的信息管理系统,对于图书馆和书店等机构来说,它能够方便地管理图书的录入、显示、查询、修改和删除等操作。本次实验设计并实现了一个基于C语言的图书管理系统,它具备了录入图书、显示图书、查询图书、修改图书和删除图书等功能。综上所述,基于C语言的图书管理系统在方便了图书管理的同时,也为后续的功能扩展和改进提供了基础。录入图书:系统应该允许用户输入图书的相关信息,包括书名、作者、出版社等,并将这些信息保存到图书数据库中。修改图书:系统应该允许用户选择要修改的图书,并输入新的图书信息进行修改。

2023-07-28 08:41:59 2405 12

原创 【二叉树】利用前序和中序遍历结果生成二叉树并输出其后序和层序遍历结果

本设计使用的是广度优先搜索算法,并且需要输出路径,所以用到了栈和队列。根据二叉树先序和中序遍历的结果,生成该二叉树。并输出后序、层序遍历结果。

2023-07-25 19:16:55 2406 16

原创 【C++初级项目】机房预约系统

本次开发了一个基于C++的机房预约系统,实现了高效的机房资源管理。后续也希望读者提出宝贵的意见,我会进一步改进系统的用户界面,增加更多的功能模块,提高系统的稳定性和可扩展性。经过实际测试,我们的机房预约系统实现了预约、查询和管理等功能,并且能够准确检测出预约冲突并及时提示用户。机房资源在现代社会中起着越来越重要的作用,为了高效地管理和利用机房资源,我们设计了一个基于C++的机房预约系统。通过不断优化和改进,该系统将在实际运行中发挥更大的作用,提高机房资源的利用率和管理效率。

2023-07-22 09:44:59 1044 2

原创 【C++初级项目】演讲比赛流程管理系统

该项目用到了STL的常用容器,例如vector、map、deque等,还有c++提供的内置算法和数据结构,例如sort等,对于学习c++的很多重要常用方法由很大的帮助!首先,程序会加载上次的比赛数据,还可以选择开始演讲比赛,查看往届记录或者清空比赛记录。该代码是此项目的初步实现,仍然存在很多不妥之处,欢迎各位读者提供自己的改进意见!我会结合大家的已经对项目进行改进,做出更好的项目!第一轮的晋级选手再次抽签后得到下一轮的比赛选手。比赛开始后,先抽签,决定演讲顺序并分组。第二轮比赛后,取前三名为获胜者。

2023-07-20 08:56:16 595 6

原创 【Python爬虫开发基础⑭】Scrapy架构(组件介绍、架构组成和工作原理)

Scrapy 是一个用于爬取网站数据和执行抓取任务的Python框架。它提供了一系列的组件,用于构建和管理爬虫项目。Spider(爬虫)Spider 是 Scrapy 的最基本组件,用于定义如何抓取特定网站的数据。每一个 Spider 都包含了一些用于抓取站点的初始URL和如何跟进页面中的链接的规则。Spider 通过解析页面的内容来抓取所需的数据。Item(数据项)Item 用于定义要从网页中提取的结构化数据。你可以根据需要创建多个 Item,每个 Item 包含了一组字段,用于保存特定的数据。

2023-07-18 20:53:37 2911 7

原创 【C++初级项目】职工管理系统 v1.0

我们可以选择增加员工信息、显示员工信息、删除离职员工、修改职工信息、查找职工信息、按编号进行排序、清空、退出。该代码是此项目的初步实现,仍然存在很多不妥之处,欢迎各位读者提供自己的改进意见!下面是三种职工分别各自的类,继承了上面的worker,对其中的函数进行了重写。其次,职工分为普通员工、经理和老板,都继承自抽象类worker。我会结合大家的已经对项目进行改进,做出更好的项目!首先,程序读取文件,会加载上次操作后的数据到内存区。最后,主函数main.cpp。

2023-07-17 23:16:59 110

原创 【Python爬虫开发基础⑬】Scrapy库概述(简介、安装与基本使用)

Scrapy是一个用于快速、高效地抓取和提取数据的Python开发框架。它基于异步网络库Twisted,并提供了强大的自定义功能,使得开发者能够灵活地编写网络爬虫和数据抓取程序。基于异步的架构:Scrapy使用了异步的方式处理网络请求和响应,能够高效地处理大量的并发任务。强大的爬取能力:Scrapy支持多线程和分布式爬取,可以同时处理多个请求,加快数据采集速度。灵活的数据提取:Scrapy提供了XPath和CSS选择器等多种方法来方便地提取网页中的数据,使得数据抽取变得简单高效。自动的请求管理。

2023-07-12 09:30:00 839 2

利用爬虫爬取5万条城市评论并对其进行情感分析

本项目旨在通过爬取大量的评论数据,分析游客对潍坊和淄博的情感态度,从而为有意向去这两个城市旅游的人提供有价值的参考。通过对评论的情感分析,我们可以解游客对潍坊和淄博的整体评价以及他们在评论中表达的情感倾向。同时,我们还可以获取对这两个城市的客观评价、满意度水平和不满意之处的细节解。这些信息可以帮助旅游从业者、景点管理者和相关决策者更好地了解游客对潍坊和淄博旅游体验的感受,进一步改善景点的服务质量和提升游客的满意度。此外,这些评论数据的情感分析还可以为市场营销活动、旅游推广和舆情管理等方面的决策提供有价值的参考。

2024-01-05

利用栈和队列解决迷宫问题

1.迷宫的表示:用二维数组来表示迷宫,每个元素表示该位置上的状态(例如墙壁、通道等)。其中,’O’表示可到达点,’X’表示不可到达点,’S’表示起始点,’E’表示终点。 2.文件的读取与写入:迷宫的初始状态记录在.in文件中,最终结果要输出到.out文件中。 3.实现链栈的基本操作:栈在本实验中用于记录解决迷宫的路径,要实现基本的初始化、入栈、出栈和判空等操作。 4.实现链式队列的基本操作:bfs算法借助队列实现迷宫路径的查找,所以要实现基本的初始化、入队、出队等操作。 整个实验的完成需要对栈和队列的操作有深入了解,并且要熟悉广度优先搜索算法。同时还需要掌握图论和基本编程技巧,比如递归、回溯、文件读写、错误处理等。 对于简单的迷宫地图,栈可能更适合,因为深度优先搜索会快速深入最深的层数,增加找到目标路径的机会。而对于复杂的迷宫地图,队列则可能更加有效,因为广度优先搜索会遍历各个节点,并且保证找到最短的路径。 此外,无论是栈还是队列,都需要注意以下几个问题:如何处理邻居节点、如何判断边界条件、如何防止重复访问和死循环等。同时,需注意程序效率和空间使用,可通过剪枝策略等方法来优化。

2023-05-31

基于C语言的银行管理系统(C语言代码+实验报告)

银行存取款管理设计与实现设计一个模拟银行存取款的功能,最多可以对5000个银行账号的信息进行管理,具体功能如下。(1)提供执行的选择菜单,并按照用户的选择执行相应的操作。(2)客户信息的录入,包括账号、客户姓名、支取密码、客户地址、客户电话、账户总金额。(3)存取款功能,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。(4)查询功能,能查询客户的基本信息,及按照客户账号查询存取款记录。(5)完成修改功能,输入客户账号可以修改该客户的信息。要求:(1)所有客户的相关信息需用文件进行存储。(2)每个客户的账号是唯一的,账号由系统随机生成,范围在62260001—62269999内。(3)设计完成的系统要便于用户操作和使用,有清晰易懂的用户输入及操作提示界面和详细的结果输出。(4)开发系统的同时,要撰写课程设计报告,内容可包括:系统设计目的与意义、系统功能描述、系统详细设计及实现、系统性能测试和结果分析、系统设计小结、参考文献及附录等内容。

2023-04-25

基于C语言的运动会积分系统

该运动会积分系统是基于C语言编写的,用于记录和统计学校运动会各项比赛的成绩,并生成对应的积分榜。本系统的功能主要包括以下几个方面: 学生信息管理:可以添加、删除和修改学生的个人信息,如姓名、班级和学号等。 积分榜管理:可以按照成绩进行排序,并生成对应的积分榜,用于展示各个班级和个人的比赛成绩。 数据存储:本系统使用文本文件进行数据存储,在程序运行时自动读取和保存数据。 实际使用时,教师或管理员可以通过该系统进行班级分组,然后输入每个学生的个人信息和参赛项目,并在比赛过程中不断输入各项比赛成绩。程序会自动根据输入的数据更新各个班级和个人的积分情况,并在需要时生成对应的积分榜。同时,管理员还可进行任意数据的增删改查操作。 该系统能够更加高效地管理和统计运动会数据,并为参赛同学提供公正、透明和友好的竞赛环境。

2023-02-19

Java-IDEA主题样式-Horizon Dark

如何安装主题? 1.从主菜单打开编辑器,依次点击 File->Import Setting,选择您的下载的jar文件; 2.待编辑器重启之后,依次点击 File->Settings->Editor->Colors and fonts,然后选择你安装的主题即可。 主题支持情况: 1.主题支持JetBrains家族的所有IDE,包括:InteliJ IDEA,PhpStorm,PyCharm,RubyMine,WebStorm 和 AppCode。 2.支持的操作系统包括 Windows,Mac OS 和 Linux。

2022-12-30

空空如也

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

TA关注的人

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