
机器学习系列
文章平均质量分 87
python机器学习系列
python慕遥
Python创作与分享
展开
-
机器学习中的数据预处理:从原始数据到模型输入
使用`pandas`的`get_dummies`函数:。在机器学习的工作流程中,数据预处理是一个不可或缺的环节。在进行数据预处理之前,需要了解数据的结构,使用`data.info()`可以快速查看数据的列名、数据类型和缺失值数量。标签编码将每个类别映射到一个唯一的整数,可以使用sklearn中的LabelEncoder:。目标编码是根据目标变量的均值对类别特征进行编码,通常用于具有大量类别的特征。如果缺失值的比例较小,可以考虑删除包含缺失值的行:。原创 2024-12-01 22:06:02 · 1011 阅读 · 0 评论 -
机器学习树模型中超参数优化方法
大家好,在机器学习的树模型(如决策树、随机森林、梯度提升树等)应用中,模型性能很大程度上取决于参数的合理设置。合适的参数能让模型更好拟合数据、提升预测准确性并避免过拟合等问题,本文将对超参数优化方法进行介绍。原创 2024-11-30 23:03:19 · 1330 阅读 · 0 评论 -
逻辑回归等分类模型的5大评估指标
本文将给大家介绍逻辑回归模型的评估指标,包括准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1分数(F1 Score)以及ROC-AUC曲线。AUC值越接近1,模型的表现越好。精确率关注的是当模型预测一个样本为正时,它有多大的概率是真的正例。F1分数在精确率和召回率之间取得了平衡,适用于不平衡数据集或者当你希望同时优化精确率和召回率的场景。召回率衡量的是所有真实为正例的样本中,模型正确识别出来的比例。精确率衡量的是在所有被预测为正例的样本中,真实为正例的比例。原创 2024-11-24 23:58:02 · 1100 阅读 · 0 评论 -
深入理解机器学习中的欠拟合与过拟合
大家好,在机器学习中构建一个能够很好泛化的模型至关重要,我们希望模型不仅能在训练数据上表现优秀,还能在未见过的测试数据上取得相似的结果。过拟合发生在模型过于复杂,甚至学到了训练数据中的噪声和细节,导致在训练集上表现极好,但在测试集上效果不好,这种模型在新数据上的泛化能力较差。如果发现模型过拟合,则可以选择降低模型的复杂度。在数学上,方差高的模型在训练数据上的拟合效果会非常好,但在未见过的数据上预测不准确,失去了泛化能力。第三张图表示过拟合:模型使用了非常高阶的多项式,拟合了每一个数据点,包括数据中的噪声。原创 2024-11-23 20:00:00 · 1225 阅读 · 0 评论 -
使用PyTorch Lightning力量精简空间分析
选择或定义一个适合空间任务的模型,可以使用CNN进行卫星图像分类。self.conv1 = torch.nn.Conv2d(3, 16, 3, padding=1) # 示例:3个输入通道(RGB)self.fc1 = torch.nn.Linear(32 * 56 * 56, 10) # 假设池化后图像大小为56x56x = x.view(x.size(0), -1) # 展平return x。原创 2024-09-09 11:09:57 · 1594 阅读 · 0 评论 -
深入浅出孪生神经网络,高效训练模型
孪生神经网络由两个或若干个结构和参数完全相同的子网络构成,这些子网络在更新参数时同步进行。这种网络通过分析输入样本的特征向量来评估它们的相似度,这一特性让其在众多应用领域中发挥着重要作用。传统神经网络一般被训练用于识别多个不同的类别。当数据集中需要添加或移除类别时,这些网络通常需要经过调整和重新训练,这个过程不仅耗时,而且通常需要大量的数据支持。而孪生网络专注于学习样本之间的相似性,能够轻松识别图像是否相似。原创 2024-09-06 23:51:42 · 2076 阅读 · 0 评论 -
轻松掌握PyTorch CUDA编程,机器学习如虎添翼
CUDA(Compute Unified Device Architecture,统一计算设备架构)是由Nvidia开发的编程模型和并行计算平台。使用CUDA,开发人员可以最大化地利用Nvidia提供的GPU,从而提高计算能力,并通过并行化任务来更快地执行操作。PyTorch提供了torch.cuda库来设置和运行CUDA操作。利用PyTorch的CUDA功能,可以创建张量并将其分配至GPU。完成分配后,所有计算操作都将在GPU上进行,确保结果也存储于该设备。原创 2024-07-18 18:14:25 · 1088 阅读 · 0 评论 -
使用Dropout大幅优化PyTorch模型,实现图像识别
大家好,在机器学习模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。在训练神经网络时,过拟合具体表现在模型训练数据损失函数较小,预测准确率较高,但是在测试数据上损失函数比较大,预测准确率较低。Dropout可以比较有效的缓解过拟合的发生,在一定程度上达到正则化的效果。原创 2024-06-25 15:47:36 · 516 阅读 · 0 评论 -
进阶必看,3种灵活操作PyTorch张量的高级方法
大家好,在PyTorch中进行高级张量操作时,开发者经常面临这样的问题,如何根据一个索引张量从另一个张量中选取元素。例如有一个包含数千个特征的大规模数据集,需要根据特定的索引模式快速提取信息。本文将介绍三种索引选择方法来解决这类问题。原创 2024-06-19 17:18:48 · 1127 阅读 · 0 评论 -
迁移学习助力机器学习实践应用
大家好,迁移学习是一种技术,能使机器利用从以前任务中获得的知识来提高对新任务的泛化能力。作为ChatGPT和Google Gemini等模型的核心原理,迁移学习在长文档总结、复杂文章撰写、旅行规划以及诗歌和歌曲创作等重要任务中发挥着关键作用。本文将介绍迁移学习相关知识,包括定义、与深度学习及现代生成式AI模型的紧密联系,以及所面临的挑战和局限。原创 2024-06-11 17:55:27 · 946 阅读 · 0 评论 -
解密PyTorch Lightning,实操简化深度学习
PyTorch Lightning并非PyTorch的替代品,而是一个高级封装框架,使PyTorch更加便捷和可扩展。通过抽象化常见的样板代码,PyTorch Lightning让开发者能够将精力集中在模型的构建和优化上,避免深陷于复杂的细节实现之中。安装PyTorch Lightning:在深入框架之前,请先安装好PyTorch。接下来使用 MNIST 数据集构建一个简单的神经网络,开始实践 PyTorch Lightning。原创 2024-05-30 23:28:12 · 1305 阅读 · 0 评论 -
用于时间序列概率预测的蒙特卡洛模拟
大家好,蒙特卡洛模拟是一种广泛应用于各个领域的计算技术,它通过从概率分布中随机抽取大量样本,并对结果进行统计分析,从而模拟复杂系统的行为。这种技术具有很强的适用性,在金融建模、工程设计、物理模拟、运筹优化以及风险管理等领域都有广泛的应用。蒙特卡洛模拟这个名称源自于摩纳哥王国的蒙特卡洛城市,这里曾经是世界著名的赌博天堂。在20世纪40年代,著名科学家乌拉姆和冯·诺依曼参与了曼哈顿计划,他们需要解决与核反应堆中子行为相关的复杂数学问题。原创 2024-05-25 22:43:39 · 2125 阅读 · 0 评论 -
机器学习模型可视化分析和诊断神器Yellowbrick
大家好,机器学习(ML)作为人工智能的核心,近来得到巨大应用,ML是使计算机能够在无需显式编程的情况下进行学习和预测或决策。ML算法通过学习历史数据模式,来对新的未见数据做出明智的预测或决策。然而,构建和训练ML模型只是第一步,同样重要的是对这些模型进行分析和解释,以深入了解其行为、性能和局限性。模型分析帮助我们了解模型对数据底层模式的捕捉程度,识别潜在的偏差或错误,并对模型改进或部署做出明智决策。随着机器学习模型变得日益复杂,理解其内部工作原理和有效评估其性能变得更加具有挑战性。原创 2024-05-24 13:41:03 · 884 阅读 · 0 评论 -
全自动机器学习AutoML高效预测时间序列
此方法可应用于预测PJM地区的日常能源消耗数据。首先使用专门的时间序列模型 Prophet 对原始数据进行建模作为基准,然后将数据转换为表格格式,提取出更多有用的特征,再使用通用的机器学习分类算法进行建模和预测。结果显示,与基准的 Prophet 模型相比,表格数据加梯度提升树的方法可将预测误差降低67%(准确率提高38%)。使用自动机器学习(AutoML)技术,对表格数据自动选择并调优最佳的分类算法。原创 2024-05-24 13:08:21 · 1402 阅读 · 0 评论 -
理解机器学习中的类别不平衡问题
大家好,实际世界的数据集通常是杂乱的,当不同类别之间的样本分布不均匀时,就会出现类别不平衡。或者说,某些类别的样本比其他类别多得多。例如,考虑一个信用卡违约数据集,信用卡违约是一个相对较少发生的事件,而没有违约的情况则占据了绝大多数。这种不平衡可能会对模型的训练和性能产生影响。在这样的情况下,模型可能会更倾向于学习如何正确地分类没有违约的情况,而对于违约的情况可能学到的信息相对较少。这可能导致在实际应用中,模型对于违约的情况预测效果不佳,因为它没有足够的样本来学习如何准确地识别这个相对较少发生的类别。原创 2024-05-10 13:10:36 · 1495 阅读 · 0 评论 -
PyTorch机器学习实现液态神经网络
液态神经网络(LNN,Liquid Neural Networks)是种先进的神经网络,其设计理念借鉴自人脑的工作机制。LNN能够顺序地处理数据,并且能够实时适应数据的变化。LNN 架构液态神经网络是一种时间连续的递归神经网络(RNN, Recurrent Neural Network)。LNN不仅按顺序处理输入信息,还保留了对过去输入的记忆,根据新输入调整其行为,且具备处理可变长度输入的能力,这显著提升了其对任务的理解力。原创 2024-05-06 22:11:41 · 7389 阅读 · 1 评论 -
Ray框架解析,轻松入门Python分布式机器学习
Ray是一个开源的Python库,专注于并行和分布式计算。上图展示了从宏观角度观察,Ray的生态系统主要由三个关键部分组成:1) Ray系统的核心:提供基础的并行和分布式计算能力2) 可扩展的机器学习库:包括Ray团队开发的原生库,也包括社区贡献的第三方库。3) 工具:用于在各种集群环境或云服务上轻松启动和管理集群。这样的架构设计使Ray能够灵活适应不同的计算需求和环境,为用户提供强大的计算支持。Ray为蚂蚁集团的融合引擎提供了分布式计算基础。原创 2024-04-11 17:13:43 · 5145 阅读 · 0 评论 -
机器学习、深度学习、人工智能的区别与联系
人工智能人工智能是一门研究如何使计算机系统能够执行需要人类智能的任务的科学和工程领域。这包括理解自然语言、感知环境、学习、决策制定等方面的技术。人工智能的主要目标是模拟和复制人类智能的各个方面,使计算机系统能够执行类似于人类的认知和问题解决任务。这包括推理、学习、感知、语言理解等。机器学习机器学习是一种人工智能的分支,关注如何使计算机系统通过从数据中学习模式和规律来改进性能,而无需显式地进行编程。机器学习的目标是使计算机系统具有从经验中学习的能力,以便在面对新的输入时能够做出准确的预测或决策。原创 2024-01-21 19:37:58 · 1672 阅读 · 0 评论 -
探索sklearn中SVM模型的原理及使用案例
大家好,是一种经典的机器学习算法,被广泛应用于分类和回归任务中。在sklearn库中,SVM模型提供了简单易用的API,使得开发者可以方便地应用SVM算法解决实际问题。本文将介绍SVM的原理和在sklearn中的使用案例,帮助大家更好地理解和应用该模型。原创 2024-01-15 15:44:52 · 4500 阅读 · 2 评论 -
sklearn中Naive Bayes的原理及使用案例
大家好,今天本文将介绍sklearn中Naive Bayes的原理及使用案例。原创 2023-12-23 22:46:03 · 1238 阅读 · 0 评论 -
使用Scikit-Learn实现多标签分类,助力机器学习
然而,对于多标签预测评估来说,准确率得分存在不足。多标签分类与二元或多类分类不同,在多标签分类中,我们不仅尝试预测一个输出标签,相反,多标签分类会尝试预测尽可能多的适用于输入数据的标签,输出可以是从没有标签到最大数量的可用标签。我们的多标签分类器Hamming Loss模型为0.13,这意味着我们的模型在独立情况下约有13%的错误预测,也就是说每个标签的预测可能有13%的错误。上面的图像显示目标(销售优惠)在二元分类中包含两个标签,在多类分类中包含三个标签,模型会从可用特征中进行训练,然后仅输出一个标签。原创 2023-08-19 20:27:35 · 1096 阅读 · 2 评论 -
一文读懂Pandas中独热编码
例如,在这个虚拟数据集中,分类列具有多个字符串值。许多机器学习算法要求输入数据为数值形式,因此需要某种方法将此数据属性转换为与此类算法兼容的形式,本文将分类列分解为多个二进制值列。因此,单个分类列被转换为4个新列,其中只有一个列的值为1,其他3个列的值为0,这就是为什么它被称为独热编码。独热编码是一种数据预处理步骤,用于将分类值转换为兼容的数值表示。当想要对布尔列进行独热编码时,问题就出现了,其创建了两个新列。对于分类列,可以将其分解为多个列,为此本文使用。方法,并将原始数据帧作为数据输入,在。原创 2023-08-16 21:47:23 · 527 阅读 · 0 评论 -
使用强化学习破解迷宫实战
大家好,本文将实现一种强化学习算法来解决迷宫问题,并完成以下步骤:创建迷宫环境、定义迷宫类,以及使用值迭代算法(Value Iteration algorithm)找到穿越迷宫的最优策略。通过使用值迭代(Value Iteration)算法,代理程序可以学习最优的迷宫导航策略,最大化预期的累积奖励,同时避开墙壁并高效地到达目标状态。在本节中,将使用PyGame可视化机器人在迷宫中的导航,将建造墙壁、放置宝藏,并控制玩家的移动,以观察它是如何通过实际操作解决迷宫问题的。将首先定义迷宫类,它将代表迷宫环境。原创 2023-08-05 22:58:38 · 589 阅读 · 1 评论 -
使用Streamlit快速搭建和共享交互式应用
大家好,在数据科学和机器学习领域,向他人展示见解和分享结果与分析本身同样重要,然而创建交互式和用户友好型的应用程序通常需要复杂的框架和耗时的开发过程。Streamlit是一个Python库,它简化了以数据为重点的网络应用程序的创建过程,使开发人员和数据科学家能够快速将他们的想法转化为交互式仪表盘和原型。综上,Streamlit是Python开发人员和数据科学家快速搭建和共享交互式应用程序的革命性工具,其简单性、易用性和快速开发能力使其成为原型设计、展示结果和创建引人入胜的数据体验的理想选择。原创 2023-07-29 22:43:56 · 684 阅读 · 0 评论 -
Safetensors,高效安全易用的深度学习新工具
与其他技术相比,它具有更快、更高效和用户友好的特点,此外它还能确保数据的保密性和安全性,同时支持各种编程语言和平台。强烈推荐在项目中使用Safetensors,许多顶级AI公司,如Hugging Face、EleutherAI和StabilityAI,都在他们的项目中使用了Safetensors。Safetensors针对速度进行了优化,可以高效处理大型张量的序列化和反序列化,因此它是使用大型语言模型的应用程序的绝佳选择。它混合使用了有效的序列化和压缩算法,以减小大型张量的大小,与其他序列化格式(如。原创 2023-07-28 20:56:22 · 7688 阅读 · 1 评论 -
解决分类任务中数据倾斜问题
在实验中,本文使用了Toloka ML平台,它提供了一系列随时可用的模型,可以为ML项目提供一个良好的开端。大家好,在处理文本分类任务时,基准测试流行的自然语言处理架构的性能是建立对可用选项的理解的重要步骤。不过,如果避免特定类的漏检至关重要,可以考虑增加类别的权重,这样可能会提高类别的召回率。平衡的数据集在所有类别中的数据点数大致相同,因此更易于处理,然而现实世界中的数据集往往是不平衡的。在这两种情况下,“垃圾邮件”的召回率都有所下降,这可能是因为“正常邮件”的权重是“垃圾邮件”权重的两倍。原创 2023-07-25 21:32:50 · 1222 阅读 · 0 评论