Skip to main content

No project description provided

Project description

Глубокий анализ астрономических каталогов

PyPI version Documentation Status codecov Python Versions

Установка

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 доступна тут

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cosmatch-0.1.4.tar.gz (82.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cosmatch-0.1.4-py3-none-any.whl (97.6 kB view details)

Uploaded Python 3

File details

Details for the file cosmatch-0.1.4.tar.gz.

File metadata

  • Download URL: cosmatch-0.1.4.tar.gz
  • Upload date:
  • Size: 82.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/5.4.109+

File hashes

Hashes for cosmatch-0.1.4.tar.gz
Algorithm Hash digest
SHA256 b91dc7bc3a898c0b7533776f8cc1d5a7f3e1f98669f4ab251eda91a1c39bb615
MD5 8f808d4ca8b6d58b773f013eaac95d62
BLAKE2b-256 dafa4f95791a752e2141aa526a58714b939fe800782cc4ffd5dde31b7ad3770d

See more details on using hashes here.

File details

Details for the file cosmatch-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: cosmatch-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 97.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/5.4.109+

File hashes

Hashes for cosmatch-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fd48878130ced44b4aed69e4453e123a0fd829aac48f195dc60beb80cfbadaaa
MD5 baeca2a6a6991814f48f3ae7ebeb4128
BLAKE2b-256 8bbcb5fe6b3a86fc1d8d1abfb069906407d6668fdd8fde330781df75e4c96e0f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page