人工智能成像大气切伦科夫望远镜

aict-tools的Python项目详细描述


aict工具Build Status

对事实和CTA事件列表数据执行机器学习任务的可执行文件。 如果使用相同的文件格式,也可以处理其他实验的输入。

你想做的就是把你的IACT数据放在一个包里。本项目主要针对以下任务使用机器学习:

  • 能量回归
  • 伽马/强子分离
  • 原点重建(目前为单声道)

安装

然后您可以通过以下方式安装AICT工具:

pip install aict-tools

默认情况下,这不会安装用于写入的可选依赖项 以onnxpmml格式的模型。 如果要将模型序列化为这些格式,请使用:

$ pip install aict-tools[pmml] # for pmml support
$ pip install aict-tools[onnx] # for onnx support
$ pip install aict-tools[all]  # for both

或者,您可以将repo cd克隆到文件夹中,然后执行通常的pip install .舞蹈。

用法

对于每个任务,都有两个可执行文件安装到您的PATH。 每个文件都以yaml配置文件和h5py样式的hdf5文件作为输入。 使用joblib和/或使用sklearn2pmml将模型保存为pickle

  • aict_train_<...>
    这个脚本用来训练一个关于已知真相事件的模型 目标变量的值,通常是蒙特卡罗模拟。

  • aict_apply_<...> 此脚本应用一个给定的模型,该模型以前使用aict_train_<...>进行过训练,并将其应用于数据(测试数据集或目标变量具有未知真值的数据)。

apply脚本可以使用 使用--chunksize=<N>选项,这对于非常大的文件(100万个事件)非常方便。

能量回归

伽马射线的能量回归需要一个yaml配置文件 以及事件列表格式的模拟伽马射线。

执行能量回归的两个脚本称为

  • aict_train_energy_regressor
  • aict_apply_energy_regressor

示例配置可以在examples/config_energy.yaml中找到。

要应用模型,请使用aict_apply_energy_regressor

分离

二进制分类或分离需要yaml配置文件, 一个用于信号类的数据文件和一个用于后台类的数据文件。

执行分离的两个脚本称为

  • aict_train_separation_model
  • aict_apply_separation_model

示例配置可以在examples/config_separator.yaml中找到。

用disp方法重建伽马射线源

若要在摄影机坐标系中估计伽马射线的原点,请 disp-可以使用方法。

在这里,它被实现为两步回归/分类任务。 一个回归模型被训练来估计abs(disp)和 训练分类模型来估计sgn(disp)

训练需要模拟扩散伽马射线事件。

  • aict_train_disp_regressor
  • aict_apply_disp_regressor

示例配置可以在examples/config_source.yaml中找到。

注意:通过应用disp regressor,Theta将从功能集中删除。 θ必须根据源预测计算,例如使用pyfact中的fact_calculate_theta

实用程序脚本

应用直切口

对于数据选择,例如为了消除不可重构的事件, 在应用机器学习模型之前,通常应用所谓的预切割或质量切割。

这可以使用要应用的剪切的aict_apply_cutsyaml配置文件来完成。有关配置文件的示例,请参见examples/quality_cuts.yaml

将数据拆分为训练/测试集

使用aict_split_data,可以将一个数据集随机分成多个集合, 例如,将蒙特卡洛模拟数据集拆分为列车和测试集。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何上传文件。HTML/Javascript格式的mp3文件并发送到Java后端   eclipse问题:使用Selenium WebDriver(java)从下拉列表中查找元素   java如何通过通知恢复应用程序   java Repast聚合数据集,但在Repast Simphony中分别针对每个实例   java为什么收到Http/1.1400错误请求?   java如何简单地检查请求体是否为空或请求体是否有空字段?   java JTable:如何避免重复行和聚合项目数量   java如何部署和访问Dropwizard应用程序   java找不到基本类weblogic。部署者   JavaSpringWebMVC互动程序从相同的定义扩展而来   javascript Xsl transformToDocument不适用于chrome浏览器,但适用于firefox   java创建存储泛型类型对象的ArrayList数组   如何在Java中禁用抛出异常或fillInStackTrace()   使用ConstraintValidator使用两种类型进行java自定义bean验证   java组织。百里香。例外情况。TemplateProcessingException:连接href