Глубокий анализ астрономических каталогов
Установка
CosMatch доступен для установки с сайта PyPI.
Установка базовой версии:
pip install cosmatch
Некоторые модули не представлены в базовой версии, так как содержат в себе спецефические модели, которые по возможности можно установить отдельно.
Доступные для дополнительной установки модули:
-
nway- добавляет модель для отождествления на основе байесовского подхода. -
torch- открывает доступ к некоторым моделям, построенным на основе нейронных сетей.
Дополнительные модули могут быть установлены через "[extension-name]". Пример:
pip install cosmatch[extension-name]
Описание
Пакет CosMatch позволяет обрабатывать астрономические каталоги на новом уровне. В пакете реализованные следующие модули:
-
match- отождествление космических каталогов из разных спектральных диапазонов. -
classification- Классификация астрономических объектов (в разработке). -
search- Поиск редких объектов.
Также представлены несколько вспомогательных модулей:
load- загрузка каталогов и другие взаимодействия с популярными астрономическими сервисами.
Модуль match
Быстрый старт
Получение обучающей и прогнозной выборки.
from cosmatch.load import CSC2, CatalogLoader
from cosmatch.utils import add_postfix_to_main_columns
from cosmatch.match import get_pairs_train, get_pairs_predict
# Загружаем два рентгеновских каталога: Chandra - вспомогательный, 4XMM - основной каталог, который хотим отождествить
csc = CSC2().load()
xmm = CatalogLoader('Tests/4XMM.pkl').load()
# Загружаем оптических соседей в 15 угловых секундах от обоих каталогов
ps_near_cxc = CatalogLoader('Tests/PS_near_CSC_2_fluxes.pkl').load()
ps_near_xmm = CatalogLoader('Tests/PS_near_XMM_2_fluxes.pkl').load()
# Изменяем названия колонок, и устанавливаем словарь attrs
add_postfix_to_main_columns(csc, 'csc', add_to_attrs=True)
add_postfix_to_main_columns(xmm, 'xmm', add_to_attrs=True)
add_postfix_to_main_columns(ps_near_cxc, 'ps', add_to_attrs=True)
add_postfix_to_main_columns(ps_near_xmm, 'ps', add_to_attrs=True)
xmm.attrs['poserr'] = 'poserr'
# Получаем обущающую выборку, и выборку для применения модели (получения пар отождествления)
data_train = get_pairs_train(ps_near_cxc, xmm, csc, max_distance=15)
data_predict = get_pairs_predict(ps_near_xmm, xmm)
Построение пайплайна обучения.
from cosmatch.match import Pipeline
from cosmatch.match.models import Catboost
from cosmatch.transforms import DistanceTransform, FluxesTransform
from cosmatch.transforms import NeighboursTransform, IgnoreTransform
transforms = [
NeighboursTransform(
to_r98=True,
to_distance=(5, 10, 15)),
FluxesTransform(
fluxes=[('ps_flux_1', 'ps_flux_1_err'),
('ps_flux_2', 'ps_flux_2_err'),
('xmm_flux_1', 'xmm_flux_1_err'),
('xmm_flux_2', 'xmm_flux_2_err'),
('xmm_flux_3', 'xmm_flux_3_err'),
('xmm_flux_4', 'xmm_flux_4_err'),
('xmm_flux_5', 'xmm_flux_5_err'),
('xmm_flux_8', 'xmm_flux_8_err'),
('xmm_flux_9', 'xmm_flux_9_err')]),
IgnoreTransform(
['ps_flux_1', 'ps_flux_1_err',
'ps_flux_2', 'ps_flux_2_err',
'xmm_flux_1', 'xmm_flux_1_err',
'xmm_flux_2', 'xmm_flux_2_err',
'xmm_flux_3', 'xmm_flux_3_err',
'xmm_flux_4', 'xmm_flux_4_err',
'xmm_flux_5', 'xmm_flux_5_err',
'xmm_flux_8', 'xmm_flux_8_err',
'xmm_flux_9', 'xmm_flux_9_err']
)
]
pipeline = Pipeline(
model=Catboost(),
transforms=transforms,
ignored_features=['ra_xmm', 'dec_xmm', 'ra_ps', 'dec_ps'])
Обучение модели и прогноз на всем каталоге
pipeline.fit(data_train)
result = pipeline.predict(data_predict)
Более подробно про различные модели, метрики, преобразования данных смотрите в jupiter notebooks в примерах.
Примеры использования инструмента
- Основное обучение модулю match notebook
Документация
Документация CosMatch доступна тут
Metadata
Release files for cosmatch 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cosmatch-0.1.4.tar.gz | 82.9 kB | Without provenance | Details for cosmatch-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cosmatch-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for cosmatch-0.1.4-py3-none-any.whl |
Total release size: 180.5 kB
Release files / cosmatch-0.1.4.tar.gz
| Download URL | cosmatch-0.1.4.tar.gz |
|---|---|
| Size | 82.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b91dc7bc3a898c0b7533776f8cc1d5a7f3e1f98669f4ab251eda91a1c39bb615
|
|
BLAKE2b-256 checksum How to use checksums |
dafa4f95791a752e2141aa526a58714b939fe800782cc4ffd5dde31b7ad3770d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.12.3 Linux/5.4.109+
|
Release files / cosmatch-0.1.4-py3-none-any.whl
| Download URL | cosmatch-0.1.4-py3-none-any.whl |
|---|---|
| Size | 97.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fd48878130ced44b4aed69e4453e123a0fd829aac48f195dc60beb80cfbadaaa
|
|
BLAKE2b-256 checksum How to use checksums |
8bbcb5fe6b3a86fc1d8d1abfb069906407d6668fdd8fde330781df75e4c96e0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.12.3 Linux/5.4.109+
|
Security for cosmatch 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.