- 博客(174)
- 收藏
- 关注
原创 【scikit-learn基础】--『监督学习』之 均值聚类
K-means算法起源于1967年,由James MacQueen和J. B. Hartigan提出。它的基本原理是是将n个点划分为K个集群,使得每个点都属于离其最近的均值(中心点)对应的集群。K-Means算法距离公式:通常采用欧几里得距离来计算数据点与质心之间的距离d(Xi,Cj)=||Xi−Cj||2d(Xi,Cj)=||Xi−Cj||2 其中,XiXi是数据点,CjCj是质心。目标函数:目标是最小化所有数据点与所属簇的质心之间的距离平方和。
2025-04-21 09:47:14
571
原创 【scikit-learn基础】--『监督学习』之 支持向量机分类
支持向量机的主要思想是找到一个超平面,将不同类别的样本最大化地分隔开。超平面的位置由支持向量决定,它们是离分隔边界最近的数据点。对于二分类问题,SVM寻找一个超平面,使得正例和支持向量到超平面的距离之和等于反例和支持向量到超平面的距离之和。如果这个等式不成立,SVM将寻找一个更远离等式中不利样本的超平面。下面的示例,演示了支持向量机分类算法在图像识别上的应用。有效处理高维数据:对高维数据非常有效,即使在数据维度超过样本数量的情况下也能工作得很好。高效。
2025-04-21 09:45:57
289
原创 【scikit-learn基础】--『监督学习』之 随机森林分类
随机森林的基本原理是构建多棵决策树,每棵树都是基于原始训练数据的一个随机子集进行训练。在构建每棵树时,算法会随机选择一部分特征进行考虑,而不是考虑所有的特征。然后,对于一个新的输入样本,每棵树都会进行分类预测,并将预测结果提交给“森林”进行最终的分类决策。一般来说,森林会选择出现次数最多的类别作为最终的分类结果。理论上来看,随机森林分类应该比决策树分类有更加好的准确度,特别是在高维度的数据情况下。随机森林分类抗过拟合能力强:由于采用随机选择特征的方式,可以有效地避免过拟合问题。泛化能力强。
2025-04-18 09:23:05
780
原创 【scikit-learn基础】--『监督学习』之 决策树分类
决策树不仅可以用在分类问题上,也可以用在回归问题上。关于决策树在回归问题TODO回到决策树分类算法上来,构建决策树的有三种决策树分类算法广泛应用于图像识别、文本分类、语音识别、信用评分、疾病诊断等众多领域。例如,在电商平台上,可以通过决策树分类算法对用户的行为数据进行挖掘和分析,实现对用户的精准推荐;在医疗领域,可以通过对医学数据的分析,辅助医生进行疾病诊断和治疗方案制定。决策树分类算法的优势易于理解和解释,直观地展示出分类的过程对于数据集可以进行并行处理,提高了算法的效率。
2025-04-18 09:21:40
817
原创 【scikit-learn基础】--『监督学习』之 贝叶斯分类
贝叶斯分类基于贝叶斯公式,通过已知样本信息来计算未知样本属于各个类别的概率,然后选择概率最大的类别作为未知样本的分类结果。贝叶斯公式的简化公式:P(A|B)=P(B|A)P(A)P(B)P(A|B)=P(B|A)P(A)P(B)P(A)P(A):事件A发生的概率P(B)P(B):事件B发生的概率P(A|B)P(A|B):在事件B出现的前提下,A发生的概率P(B|A)P(B|A):在事件A出现的前提下,B发生的概率贝叶斯分类就是基于这个公式扩展而来。
2025-04-16 09:25:09
1050
原创 【scikit-learn基础】--『监督学习』之 逻辑回归分类
逻辑回归通过构建一个逻辑模型来预测分类结果。它首先对特征进行线性回归,然后通过一个sigmoid函数(y=11+e−xy=11+e−x)将线性回归的结果转化为概率值,sigmoid函数的输出范围是0到1。最后得到逻辑回归的公式:hw(x)=11+e−y=11+e−wTxhw(x)=11+e−y=11+e−wTx逻辑回归在很多领域都有广泛的应用,如自然语言处理、图像识别、医疗诊断、信用评分等。它尤其适用于那些样本特征之间存在线性关系,且目标变量为二元的情况。逻辑回归实现简单。
2025-04-16 09:24:09
600
原创 【scikit-learn基础】--『监督学习』之 K-近邻分类
KNN算法的基本原理是:在特征空间中,如果一个样本的最接近的k个邻居中大多数属于某一个类别,则该样本也属于这个类别。换句话说,KNN算法假设类别是由其邻居决定的。那么,KNN算法判断数据是否相似是关键,也就是数据之间的距离是如何计算的呢?曼哈顿距离欧氏距离闵可夫斯基距离等等使用不同的距离,就会得到不同的分类效果。KNN算法被广泛应用于各种不同的应用场景,如图像识别、文本分类、垃圾邮件识别、客户流失预测等。这些场景的一个共同特点是,需要对一个未知的样本进行快速的分类或预测。KNN简单直观。
2025-04-15 09:23:11
878
原创 【scikit-learn基础】--『监督学习』之 随机森林回归
随机森林回归算法通过引入随机性来构建多个决策树,再通过对这些树的预测结果进行平均或投票来得出最终的预测结果。这里的随机性主要体现在两个方面:一是训练样本的随机选取,二是在训练过程中特征的随机选取。从原始训练集中随机选择一部分样本,构成一个新的子样本集。这样可以使得每棵决策树都在不同的样本集上进行训练,增加模型的多样性。对于每个决策树的每个节点,在选择最佳划分特征时,只考虑随机选择的一部分特征。这样可以防止某些特征对整个模型的影响过大,提高模型的鲁棒性。
2025-04-15 09:21:57
773
原创 【scikit-learn基础】--『监督学习』之 决策树回归
决策树相关的诸多算法之中,有一种CART算法,全称是(分类与回归树)。顾名思义,这个算法既可以用来分类,也可以用来回归,本篇主要介绍其在回归问题上的应用。决策树算法的核心在于生成一棵决策树过程中,如何划分各个特征到树的不同分支上去。CART算法是根据基尼系数(Gini)来划分特征的,每次选择基尼系数最小的特征作为最优切分点。其中基尼系数的计算方法:gini(p)=∑ni=1pi(1−pi)=1−∑ni=1p2igini(p)=∑i=1npi(1−pi)=1−∑i=1npi2决策树回归。
2025-04-14 09:33:55
932
原创 【scikit-learn基础】--『监督学习』之 支持向量机回归
支持向量机回归(Support Vector Machine Regression,简称SVR)的基本思想是通过构建一个分类器,将输入数据映射到高维空间中,使得数据在高维空间中更加线性可分,从而得到一个最优的回归模型。如上图所示,SVR模型函数:f(x)=wTx+bf(x)=wTx+b模型上下边缘分别为:wT+x+b+ϵwT+x+b+ϵ和 wT+x+b−ϵwT+x+b−ϵSVR算法的应用场景非常广泛,包括时间序列预测、金融市场分析、自然语言处理、图像识别等领域。例如,在时间序列预测中,
2025-04-14 09:32:17
949
原创 【scikit-learn基础】--『监督学习』之 LASSO回归
在LASSO中,通过使用L1正则化项,它能够在回归系数中引入稀疏性,也就是允许某些系数在优化过程中缩减为零,从而实现特征的选择。与岭回归不同的是,LASSO的损失函数一般定义为:L(w)=(y−wX)2+λ∥w∥1L(w)=(y−wX)2+λ∥w∥1其中 λ∥w∥1λ∥w∥1,也就是L1正则化项(岭回归中用的是L2正则化项模型训练的过程就是寻找让损失函数L(w)L(w)最小的参数ww。
2025-04-11 09:28:28
1033
原创 【scikit-learn基础】--『监督学习』之 岭回归
岭回归的模型对于存在大量相关特征(这些特征之间存在很高的相关性)的数据时效果远好于基于最小二乘法的线性模型。原因就是它通过给系数的大小增加一个约束条件(即L2正则化项),来防止模型过度拟合训练数据。损失函数一般定义为:L(w)=(y−wX)2+λ∥w∥2L(w)=(y−wX)2+λ∥w∥2其中 λ∥w∥2=λ∑ni=1w2iλ∥w∥2=λ∑i=1nwi2,也就是L2正则化项。模型训练的过程就是寻找让损失函数L(w)L(w)最小的参数ww。
2025-04-11 09:27:12
614
原创 【scikit-learn基础】--『监督学习』之 线性回归
常见的线性回归模型就是:f(x)=w0+w1x1+w2x2+...+wnxnf(x)=w0+w1x1+w2x2+...+wnxn这样的一个函数。其中(w1,w2,...wn)(w1,w2,...wn)是模型的系数向量w0w0是截距(x1,x2,...,xn)(x1,x2,...,xn)是样本数据(n是样本数据的维度简单来说,线性回归模型的训练就是通过样本数据来确定系数向量(w1,w2,...wn)(w1,w2,...wn)和截距w0w0的具体数值。
2025-04-10 09:23:10
658
原创 【scikit-learn基础】--『预处理』之 缺失值处理
在选择处理缺失值的方法时,需要考虑数据的性质、缺失值的比例、数据的分布以及具体的分析任务等因素。同时,不同的方法可能适用于不同的场景,需要结合具体情况进行选择。关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com)
2025-04-10 09:20:54
867
原创 【scikit-learn基础】--『预处理』之 离散化
总之,关注离散化处理给我们带来的种种好处之时,在实际应用中也需要注意其局限性,如可能会造成数据的丢失和失真等问题。因此,在具体的实践中,需要根据实际情况和需求进行合理的选择和应用。关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com)
2025-04-09 09:25:34
723
原创 【scikit-learn基础】--『预处理』之 分类编码
本篇介绍了两种编码方式,顺序编码()和独热编码(),但库提供的编码方式并不只有这两种。还有目标编码(),标签编码()等等,可以参考官方文档中的使用方法,在合适的场景中使用。关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com)
2025-04-09 09:23:57
694
原创 【scikit-learn基础】--『预处理』之 正则化
在中,主要有三种正则化方法,L1正则化,L2正则化和Max正则化。实际应用中,根据数据的特征和场景对数据选择不同的正则化方法,使得训练后的模型能够有更好的精度和性能。关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com)
2025-04-08 09:18:30
1041
原创 【scikit-learn基础】--『预处理』之 数据缩放
在库中,处理数据缩放不是只有上面的最小值-最大值缩放还可用进行标准化缩放;用实现尺度缩放和平移等等。进行数据缩放时,需要注意一点,就是缩放处理对异常值非常敏感,如果数据中存在极大或者极小的异常值时,有可能会破坏原始数据本身。所以,缩放处理前,最好把异常值过滤掉。关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com)
2025-04-08 09:16:59
981
原创 【scikit-learn基础】--『预处理』之 标准化
总的来说,数据标准化处理是数据处理中不可或缺的一步,它可以帮助我们消除数据之间的差异,提高分析结果的性能和稳定性,增加数据的可解释性,从而提高我们的决策能力。
2025-04-07 09:27:59
513
原创 【scikit-learn基础】--『数据加载』之外部数据集
库的数据加载系列至此告一段落。我们在掌握机器学习算法的过程中,自然而然的会将注意点放在算法的原理和各种参数上,但是,一份好的数据能够帮助我们更加直观的了解到机器学习算法的运行过程。提供的各类丰富的数据集绝对是学习算法的一大助力。我觉得库本身所提供的丰富的数据集也是库相较于其他机器学习库的一大特色和优势。关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com)
2025-04-07 09:24:33
275
原创 【scikit-learn基础】--『数据加载』之样本生成器
本文介绍的生成样本数据的函数只是库中各种生成器的一部分,还有很多种其他的生成器函数可以生成更加复杂的样本数据。关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com)
2025-04-03 09:33:56
675
原创 【scikit-learn基础】--『数据加载』之真实数据集
当机器学习的算法掌握到一定程度的时候,一定会想尝试用真实的数据集来训练模型。这些经典的真实数据集不仅数据量丰富,而且涵盖的范围广,用来练手和提高自己的能力再好不过。关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com)
2025-04-03 09:30:33
974
原创 【scikit-learn基础】--『数据加载』之玩具数据集
这些数据集数据量不大,但是数据具有代表性,且种类丰富。了解每种数据的特点,后续学习算法的时候,可以利用它们来实验和验证算法的使用。关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com)
2025-04-02 09:35:00
1014
原创 【scikit-learn基础】--概述
是一个基于Python的开源机器学习库,它提供了大量的机器学习算法和工具,方便用户进行数据挖掘、分析和预测。是基于另外两个知名的库Scipy和Numpy的,关于Scipy和Numpy。
2025-04-02 09:33:11
410
原创 HttpClient使用方法总结及工具类封装
关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com)GET请求、PUT请求、DELETE请求设置超时时间的方法同上。GET请求、PUT请求、DELETE请求添加请求头的方法同上。
2025-04-01 14:48:16
351
原创 JAVA语言中多态和修饰符的关系
关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com)记住:修饰符是代码世界的交通规则,多态是老司机的漂移技巧。效果:小明可以随意发挥(完美多态)换句话说:任何类都能调用和重写,多态的"完全体形态"经典场景:接口方法默认public,实现类必须重写(如Runnable.run())现实案例:就像老板的加密文件,实习生连看的机会都没有,更别说修改(无法重写)实战技巧:适合框架设计中的模板方法模式(父类定义骨架,子类填充细节)
2025-04-01 14:46:17
558
原创 【Linux】U-Boot 加载并启动 Linux 系统程序
最近在玩一些嵌入式的开发板,在引导操作系统时需要用到U-Boot,故此研究一下。U-Boot(Universal Bootloader)是一款开源的通用引导加载程序,专为嵌入式系统设计,支持 ARM、x86、RISC-V 等主流架构及超过 1200 种硬件平台,具备跨平台兼容性与高度灵活性。它通过集成丰富的命令行交互、脚本自动化、文件系统支持(FAT/EXT4)及网络协议(TFTP/NFS),实现从硬件初始化到操作系统加载的全流程管理,可启动 Linux、Android、ChromeOS 等多类系统。开发
2025-03-31 10:08:56
817
原创 Go语言实现1024终端游戏-不到400行代码
使用 go 语言实现的 1024 终端游戏,不到400行代码,代码简洁,以便理解和学习和掌握 go 语言开发.
2025-03-31 10:02:26
268
原创 MQ 如何保证数据一致性?
上个月,我们有个电商系统出了个灵异事件:用户支付成功了,但订单状态死活不改成“已发货”。折腾了半天才定位到问题:订单服务的MQ消息,像人间蒸发一样消失了。这个Bug让我明白:(MQ)消息队列的数据一致性设计,绝对能排进分布式系统三大噩梦之一!今天这篇文章跟大家一起聊聊,MQ如何保证数据一致性?希望对你会有所帮助。(MQ)消息队列像金融系统的SWIFT结算网络,看似简单实则处处杀机。真正的高手不仅要会调参,更要设计出能兼容可靠性与性能的架构。
2025-03-28 09:41:04
979
原创 apisix~key-auth多消费的使用
在 APISIX 中使用 插件实现基于密钥的认证,以下是详细的配置步骤,包括如何保存密钥和证书,以及如何将这些信息分配给客户端 A 和 B。虽然你提到了证书,但 插件本身并不直接处理证书,而是基于预定义的密钥()进行认证。通常,你只需为每个客户端生成一个唯一的密钥即可。步骤 2:配置 APISIX 的消费者(Consumer)APISIX 的 实体用于管理不同的客户端及其认证信息。我们需要为客户端 A 和 B 各创建一个消费者,并为每个消费者绑定一个唯一的密钥。通过 APISIX 的 Ad
2025-03-28 09:26:54
545
原创 虚函数表里有什么?(一)——从一个普通类开始
在没有虚拟继承的情况下(正如本文中的例子),vtable的起始8个字节中会保存一个偏移量,通常被称为top_offset。它记录了基类子对象首地址到最派生类对象(也称为完整对象,就是继承体系中辈分最小的那个对象)首地址的偏移量。它的本质作用就是通过基类子对象找到完整对象,具体地,通常在以下场景中使用。调用虚函数时调整 this 指针。通过 dynamic_cast 进行向下类型转换。在异常处理中需要定位完整对象。需要注意的是,这里的基类子对象必须是多态对象,即声明或继承了至少一个虚拟函数的对象。
2025-03-28 09:18:49
1014
原创 【Python】【魔术方法】(一)构造和初始化
方法是 Python 中类的一种特殊方法,通常用作类的构造函数。方法的工作原理和常见用法,你可以更好地控制对象的创建过程,实现更复杂的类行为。方法的机制对于掌握Python的类和对象模型是很有帮助的。方法可以包含更复杂的初始化逻辑,例如创建其他对象、调用其他方法等。方法中为参数提供默认值,这样在创建对象时可以不传入这些参数。方法是一个特殊的方法,用于控制对象的创建过程。方法来创建对象,因为这些类型是不可变的,不能在。方法可以用于控制类的创建过程。方法中修改它们的值。方法,也可以调用父类的。
2025-03-25 10:47:01
606
原创 百万架构师第四十八课:并发编程的原理(三)|JavaGuide
分析了独占式同步状态获取和释放过程后,做个简单的总结:在获取同步状态时,同步器维护一个同步队列,获取状态失败的线程都会被加入到队列中并在队列中进行自旋;移出队列(或停止自旋)的条件是前驱节点为头节点且成功获取了同步状态。在释放同步状态时,同步器调用方法释放同步状态,然后唤醒头节点的后继节点。
2025-03-25 10:42:30
904
原创 百万架构师第四十七课:并发编程的原理(二)|JavaGuide
任何对象在我们 JVM 层面有一个 oop 和 oopDesc 的对应。oop.hpp会存在一个 mark 的对象头,对象头用来存储锁标志的。这个锁标志,是用来存储对应的偏向锁、轻量锁等的标志。 锁是存在对象头里边的。
2025-03-24 09:44:32
725
原创 百万架构师第四十六课:并发编程的原理(一)|JavaGuide
CPU的乱序执行,本质还是,由于在多CPU的机器上,每个CPU都存在cache,当一个特定数据第一次被特定一个CPU获取时,由于在该CPU缓存中不存在,就会从内存中去获取,被加载到CPU高速缓存中后就能从缓存中快速访问。当某个CPU进行写操作时,它必须确保其他的CPU已经将这个数据从他们的缓存中移除,这样才能让其他CPU 安全地修改数据。显然,存在多个cache时,我们必须通过一个cache一致性协议来避免数据不一致的问题,而这个通讯的过程就可能导致乱序访问的问题,也就是运行时的内存乱序访问。
2025-03-24 09:34:04
987
原创 百万架构师第四十五课:并发编程的基础|JavaGuide
如果缓存在处理器缓存中的内存区域在 LOCK 操作期间被锁定,当它执行操作回写内存的时候,处理不再总线上声明 LOCK 信号,而是修改内部的缓存地址,然后通过缓存一致性机制来保证操作的原子性,因为缓存一致性会阻止同时修改两个以上处理器缓存的内存区域的数据,当其他处理器会写已经被锁定的缓存行的数据时会导致该缓存行无效。当我们获得锁的时候。 有的时候,我们可能需要让异步执行的线程在执行完以后,提供一个返回值到当前的主线程,主线程需要这个值进行后续的逻辑处理,那么这个时候,就需要带返回值的线程了。
2025-03-21 10:39:44
457
原创 百万架构师第四十四课:Nginx:Nginx 的扩展-OpenRestry|JavaGuide
TomcatBIONIOAIONginx多进程+多路复用master 进程 、 worker 进程 当它启动以后,会产生一个主进程和多个工作进程。多个工作进程是通过 Master 进程去管理的。它是基于 Master 进程 Fork 出来的。当我们的 Nginx 收到一个请求的时候,它会向我们的 work 发送一个信号。然后通过 worker 进程去管理。类似于中心进程的意思。 当有一个请求过来的时候,只会有一个worker进程去处理。nobody。
2025-03-21 10:35:50
860
原创 百万架构师第四十三课:Nginx:Nginx 应用实战|JavaGuide
后端的应用一定会存在动态资源和静态资源。必须依赖服务器生存的我们称为动态资源。不需要依赖容器的比如css/js或者图片等,这类就叫静态资源。 我们可以把静态资源放在 Nginx 上。静态资源不会频繁变动。。
2025-03-20 09:47:23
1300
原创 百万架构师第四十二课:Nginx:Nginx 的初步认识|JavaGuide
Nginx 是一个高性能的反向代理服务器正向代理代理的是客户端反向代理代理的是服务端。
2025-03-20 09:41:29
889
原创 百万架构师第四十一课:RabbitMq:可靠性投递和实践经验|JavaGuide
集中放在properties文件中体现元数据类型(_VHOST _EXCHANGE _QUEUE);体现数据来源和去向(XXX_TO_XXX);
2025-03-19 09:30:33
1173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人