机器学习模型常常需要大量数据,但它们如何与实时新数据协同工作也同样关键。交叉验证是一种通过将数据集分成若干部分、在部分数据上训练模型、在其余数据上测试模型的方法,用来检验模型的表现。这有助于发现过拟合或欠拟合的问题,并预测模型在真实场景中的效果。
2025年06月09日
机器学习模型常常需要大量数据,但它们如何与实时新数据协同工作也同样关键。交叉验证是一种通过将数据集分成若干部分、在部分数据上训练模型、在其余数据上测试模型的方法,用来检验模型的表现。这有助于发现过拟合或欠拟合的问题,并预测模型在真实场景中的效果。
2025年06月09日
主成分分析是提高机器学习算法处理大量数据和特征的性能的最常用方法之一。然而,有时PCA可能太复杂,太技术化,甚至太乏味,无法正确理解基本原理,因此,我决定写这篇文章,以实际的方式阐明每一步,并易于初学者理解。
首先我们需要更好地理解为什么需要在机器学习中使用PCA:
2025年06月09日
python的numpy库的mean()函数,用于计算沿指定轴(一个轴或多个轴)的算术平均值。
2025年06月09日
作者:Alon Agmon
编译:ronghuaiyang
正文共:5411 字 6 图
预计阅读时间:16 分钟
在实际业务场景中,可能只会收到正反馈,所以反映到数据上,就只有正样本,另外就是大量的没有标记的样本,那么如何给这些没有标记的样本打上标签呢?
2025年06月09日
现有工业现场检测数据,形如:
输入参数,测量结果,配置项
85,"[39.8053, 40.9645, 67.5069, 62.0177, 43.3056, 47.6401, 46.3773, 66.6053, 63.7937, 77.2952]","['epoxy_cracking', 'Size20201', 'AcoAmp', 'Neg']"
2025年06月09日
一个简单,公平,时间复杂度为 O(n)的洗牌算法。
什么是洗牌算法呢?其实就是将一些数据以公平随机的方式打乱顺序。这个算法,是由 Knuth(高纳德),也就是计算机程序设计艺术的作者发明的。下面我们直接进入正题。
假设有这样一个数组 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们使用 Knuth-Shuffle 算法将数据打乱。基本流程是这样的,从最后一个数开始,往前遍历,每一次,从当前数和第 1 个数之间,随机选择一个数,与当前数字进行交换(这里的随机选择就直接使用程序语言中的 Random 随机一个索引即可)。
2025年06月09日
在对图进行计算时,很常用的一个操作就是求若干条线段的交点,比如对图的叠加、截窗,需要频繁地计算线段交点,如果求交算法效率很低,上层的算法再优秀也表现不出好的性能。
先考虑一个很简单的情形:只有两条线段,求它们是否相交,如果相交,交点在哪?
如上图,如果线段[a0,a1]与[b0,b1]相交,则端点a0、a1必定落在[b0,b1]两侧,同时端点b0、b1必定落在[a0,a1]两侧。只要这两个条件同时满足,即认为两线段相交。(一条线段的端点落在另一条线段上也认为是两线段相交)
2025年06月09日
当谈到数据结构与算法,时间复杂度是一个关键的概念,它描述了算法运行时间随输入规模增加而增加的速度。在学习时间复杂度时,了解常见的时间复杂度分类以及它们的特点和应用场景将帮助你更好地理解和分析算法的效率。以下是常见的时间复杂度分类以及它们的详细解释:
2025年06月09日
作者:京东保险 王奕龙
对于小规模数据,我们可以选用时间复杂度为 O(n2) 的排序算法。因为时间复杂度并不代表实际代码的执行时间,它省去了低阶、系数和常数,仅代表的增长趋势,所以在小规模数据情况下, O(n2) 的排序算法可能会比 O(nlogn) 的排序算法执行效率高。不过随着数据规模增大, O(nlogn) 的排序算法是不二选择。本篇我们主要对 O(n2) 的排序算法进行介绍,在介绍之前,我们先了解一下算法特性: