欧洲核子研究组织如何预测新的流行数据集

2024-01-10 13:10

本文主要是介绍欧洲核子研究组织如何预测新的流行数据集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

去年夏天,我曾在日内瓦的欧洲核子研究组织(CERN)暑期开放实验室实习。我工作的重点是为CERN的大数据分析来探索Apache Spark的MLlib框架。

在CERN,一个主要的实验项目是CMS(世界上最大的粒子物理探测器之一),通过它可以帮助我们对亚原子有更好的理解。实验是在CERN的大型强子对撞击(LHC)上进行的。LHC是一个粒子加速器,可以把亚原子粒子推送到极高的速度并通过CMS探测器可视化。CMS探测器是一个巨大的多层数码相机,记录了每秒LHC的粒子碰撞产生的碎片的图像。CMS实验每一年要收集O(10)拍字节的数据。随着时间的推移,每一次碰撞都会带来巨大的数据量。最大数据的生产速率可以达到约600兆/秒,由此带来了一个相当大的数据处理的挑战。这些数据在全球LHC计算网格的多层计算基础设施保存并处理。

由于数据安排是CERN实验中必要的一个组件,我们正在寻找不一样的方法来改进这个任务,并开发了一个原型试验项目-评估Apache Spark作为CERN的大数据分析基础设施。这一项目的目的是从CMS的数据中得出合适的预测,改进资源利用,并对框架和指标有深层的理解。

理解流行的CMD数据集

此原型项目的第一个阶段是预测新的和流行的CMS数据集。流行度被定义为数据集被用作研究的频繁性。这些被认为是流行的数据集是因为它们日常被物理学家访问,因而需要在全世界各个数据中心复制备份。识别流行的数据集改进了分析的效率并帮助识别可能成为高能物理学的热点话题的数据集,比如Higgs粒子和超对称粒子。

图一展示了随机数据集在2014年每周的流行度,Y轴使用的是对数刻度。每一条线代表了不同的数据集。由黑线代表的数据集在第1到20周比其他多20%-30%的访问,表明该数据集的流行和普及。相较而言,黄线代表的数据集根本没有被访问,表明该数据集是不流行的。

图一 星期为单位的随机CMS数据集的流行度。本图由瓦伦丁·库兹涅佐夫提供,经许可使用

相对流行的数据集也可以通过制作基于单一流行度指标的云图,比如基于Naccess(单一用户访问数据集的总量)、totcpu(cpu分析数据集总花费的小时数,见图二)、nusers(数据集的总访问用户数,见图三)等。这些用户可以是物理学家、学生或者是研究人员。你在图中看到的数字代表了数据集的名字。数据集的命名法包括日期、软件版本和格式,由三个不同的部分定义:进程、软件和层。这三个部分非常重要,因为它们可以帮助复制过程。

图二 使用totcpu指标的CMS数据集的流行度在云图中的表示。本图由瓦伦丁·库兹涅佐夫提供,经许可使用

图三 使用Nusers指标的CMS数据集的流行度在云图中的表示。本图由瓦伦丁·库兹涅佐夫提供,经许可使用

2014年中最频繁被访问的CMS数据集在图四中展示。

图四 2014年100个最频繁访问的CMS数据集在云图中的表示。本图由瓦伦丁·库兹涅佐夫提供,经许可使用
使用Apache Spark来预测新的和流行的CMS数据集

机器学习算法能够运行预测模型并推测随着时间改变的流行的数据集。我将Apache Spark评估为一个将不同的从CMS数据服务收集信息的预测模型流式组合起来的工具。当与更早的通过动态数据安排方法获得的结果比较时,Spark提供的准确度是相近的。一个较大的不同是,其结果是实时获取的。因为Spark可以实时的分析流式数据,在数据产生时滚动预测流行度结果。预测流行的数据集是通过用Spark源生的机器学习库(MLlib)和Python的机器学习算法来完成的。这些算法主要包括朴素贝叶斯、统计随机梯度下降和随机森林。

每一周的数据都会被添加到已有的数据之中,并建立一个新的模型,从而得到更好的数据分析结果。这些模型稍后会被整合进来,并通过真阳性,真阴性,假阳性或假阴性的值进行评估。我也使用了Python的机器学习库(scikit-learn)并比较了从不同框架得到的值。在这一过程中,我能够判断每一个模型的质量。MLlib有几乎所有的机器学习算法的的实现,在CPU开销和内存使用上与Python框架相比有更好的结果。

结论

Spark和scikit-learn的模型原型的准确度几乎相同。通过运用主成分分析法,我可以交互式地为新的数据集选择最佳的预测模型。其他一些对CMS数据分析重要的因素是并行度和快速的分布式数据处理。Spark框架提供了一个简单的编程抽象,提供了强有力的缓存和持久化能力,同时还有很快的速度。结论就是,我们发现Spark的组件(Spark Steaming和MLlib)极大地简化了CMS数据的分析,并可以成功地应用到CMS数据集上。

Siddha Ganju

Siddha Ganju是卡内基梅隆大学计算机数据科学专业的硕士生,2015年夏天在CERN的开放实验室实习。她的研究主要在于机器学习、自然语言处理、信息检索和深度学习的结合之处。Siddha从印度米尔布尔国家科技学院获得学士学位。可以从http://sidgan.me访问Siddha的网站。


这篇关于欧洲核子研究组织如何预测新的流行数据集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590913

相关文章

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下