Data Mining
探索数据挖掘技术及应用。学习如何使用 Ultralytics YOLO26 提取洞察、识别模式并优化 AI 工作流程。
数据挖掘是探索和分析大型信息块以搜寻有意义的模式和趋势的过程。它位于统计学、machine learning (ML) 和数据库系统的交汇处,是“数据库知识发现”(KDD)流程中的关键一步。通过筛选大量原始输入,数据挖掘将非结构化噪声转化为结构化、可操作的见解,供企业和研究人员用于做出明智的决策。
在现代 artificial intelligence (AI) 的背景下,数据挖掘通常是预测建模的前置步骤。算法在预测未来之前,必须先理解过去。例如,在 computer vision (CV) 中,挖掘技术可能会分析数千张图像以识别定义特定对象类别的通用特征——如边缘、纹理或形状——从而为训练稳健的 datasets 奠定基础。
数据挖掘的关键技术#
数据挖掘依赖于几种复杂的科学方法来揭示数据中隐藏的关系。这些技术使分析师能够超越简单的数据汇总,深入挖掘发现。
- **Classification:**这涉及将数据项分类到预定义的组或类别中。在视觉 AI 中,这类似于训练模型根据历史标注示例来区分“汽车”和“行人”的过程。
- **Clustering Analysis:**与分类不同,聚类根据相似性对数据点进行分组,而无需预定义标签。这对于 unsupervised learning 至关重要,在此类学习中,算法可能会自动将客户购买行为或相似的图像纹理归为一组。你可以在 Scikit-learn's documentation 中阅读更多关于聚类方法的内容。
- **Anomaly Detection:**该技术可识别与常态显著偏离的数据点。它对于金融领域的欺诈检测或查找生产线上的制造缺陷至关重要。
- **关联规则学习:**此方法用于发现数据库中变量之间的关系。一个经典的例子是market basket analysis,零售商利用它来确定购买面包的顾客也很可能购买黄油。
- **Regression Analysis:**回归用于根据其他变量预测连续的数值,对于预测销售趋势或在 depth estimation 任务中估计物体距离至关重要。
实际应用#
数据挖掘的实用性涵盖了几乎所有行业,通过揭示肉眼看不见的模式来提高效率并推动创新。
制造业与质量控制#
在 smart manufacturing 中,数据挖掘用于分析来自机械的传感器数据。通过应用 predictive maintenance 算法,工厂可以在设备发生故障之前对其进行预测。此外,像 YOLO26 这样的计算机 vision 模型可以生成推理日志,通过挖掘这些日志来识别反复出现的缺陷类型,从而帮助工程师调整生产流程以减少浪费。
医疗诊断#
数据挖掘通过分析电子健康记录和医学影像来变革 healthcare。研究人员挖掘基因组数据以寻找特定基因序列与疾病之间的关联。在放射学中,挖掘海量的 X 光数据集有助于识别肺炎或肿瘤等病症的早期指标,这有助于 medical image analysis。
区分相关术语#
为了全面了解数据挖掘,将其与数据科学领域中密切相关的概念区分开来是有帮助的。
- **数据挖掘 vs. Machine Learning:**尽管它们有所重叠,但数据挖掘侧重于发现现有模式,而机器学习侧重于使用这些模式来学习和预测未来的结果。挖掘通常是为机器学习模型提供特征工程信息的探索阶段。
- **数据挖掘 vs. Data Visualization:**可视化是数据的图形表示(图表、图形)。挖掘是生成要可视化的见解的分析过程。诸如 Tableau 之类的工具通常用于可视化数据挖掘的结果。
- **数据挖掘 vs. Data Warehousing:**数据仓库涉及集中存储和管理来自多个来源的大量数据。挖掘是对该仓库中的数据执行以提取价值的过程。
使用 Ultralytics 进行数据挖掘实践#
在 computer vision 工作流中,“挖掘”通常发生在分析推理结果以寻找高价值检测或困难的边缘情况时。这一过程通过 Ultralytics Platform 得到了简化,该平台有助于管理和分析数据集。
以下示例演示了如何使用 YOLO26 model “挖掘”图像集合以找到特定的高置信度检测结果。这模仿了为相关事件过滤海量数据流的过程。
from ultralytics import YOLO
# Load the YOLO26n model
model = YOLO("yolo26n.pt")
# List of image paths (simulating a dataset)
image_files = ["image1.jpg", "image2.jpg", "image3.jpg"]
# Run inference on the batch
results = model(image_files)
# 'Mine' the results for high-confidence 'person' detections (class 0)
high_conf_people = []
for result in results:
# Filter boxes where class is 0 (person) and confidence > 0.8
detections = result.boxes[(result.boxes.cls == 0) & (result.boxes.conf > 0.8)]
if len(detections) > 0:
high_conf_people.append(result.path)
print(f"Found high-confidence people in: {high_conf_people}")这段代码片段说明了一个基本的数据挖掘操作:过滤原始预测以提取感兴趣的子集——即包含高确定性识别出的人员的图像——然后可以将其用于 active learning 以进一步提高模型性能。






