Интересное что-то
546 subscribers
2.77K photos
253 videos
140 files
4.57K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.iss.one/asisakov_channel
Чат: https://t.iss.one/youknowds_chat
Download Telegram
Forwarded from ИЦ "ГЕВИССТА"
Библиотека Xgbfir
Библиотека Xgbfir (сокращение от XGBoost Feature Interactions Reshaped) – это парсер дампа модели XGBoost, который ранжирует признаки, а также взаимодействия признаков по различным метрикам, и записывает результаты в файл Excel. Проект начался с портирования библиотеки xgbfi, написанной Маттиасом Мюллером на C++, на Python. Главной функцией является функция saveXgbFI(). В функцию saveXgbFI() передаем модель XGBoost (бустер) и настраиваем параметры. Разберем параметры функции saveXgbFI():
• SortBy – метрика (по умолчанию 'Gain', возможные значения: 'Gain', 'FScore', 'FScoreWeighted', 'AverageGain', 'ExpectedGain' и др.), по которой ранжируются признаки и взаимодействия признаков, ниже разберем каждую метрику;
• OutputXlsxFile (по умолчанию 'XgbFeatureInteractions.xlsx') – название файла Excel, в который записываются результаты;
• MaxInteractionDepth (по умолчанию 2) – максимальное количество извлекаемых взаимодействий признаков (начиная с 0, например, 3 задает извлечение признаков, 2-факторные взаимодействия, 3-факторные взаимодействия и 4-факторные взаимодействия);
• MaxTrees (по умолчанию 100) – максимальное количество деревьев, используемых для извлечения признаков;
• TopK (по умолчанию 100) – количество извлекаемых наилучших признаков;
• MaxHistograms (по умолчанию 10) – максимальное количество гистограмм.

Для каждого признака выводятся 15 метрик:
• Gain – общий выигрыш каждого признака и взаимодействия;
• FScore – количество возможных разбиений, связанных с признаком или взаимодействием признаков;
• wFScore – количество возможных разбиений по признаку или взаимодействию признаков, взвешенное по вероятности разбиения;
• Average wFScore – значение wFScore, поделенное на значение FScore;
• Average Gain – значение Gain, поделенное на значение FScore;
• Expected Gain – общий выигрыш каждого признака или взаимодействия признаков, взвешенный по вероятности получения выигрыша;
• Gain Rank – ранг признака или взаимодействия признаков на основе значения Gain;
• FScore Rank – ранг признака или взаимодействия признаков на основе значения FScore;
• wFScore Rank – ранг признака или взаимодействия признаков на основе значения wFScore;
• Average wFScore Rank – ранг признака или взаимодействия признаков на основе значения Average wFScore;
• Average Gain Rank – ранг признака или взаимодействия признаков на основе значения Average Gain;
• Expected Gain Rank – ранг признака или взаимодействия признаков на основе значения Expected Gain;
• Average Rank – ранг признака или взаимодействия признаков на основе усреднения значений Gain Rank, FScore Rank, wFScore Rank, Average wFScore Rank, Average Gain Rank и Expected Gain Rank;
• Average Tree Index – усредненный индекс дерева, выполняется усреднение на основе индексов деревьев, в которых был использован данный признак или взаимодействие признаков;
• Average Tree Depth – средняя глубина использования признака, по каждому дереву вычисляем глубину, на которой был впервые использован данный признак, суммируем глубины и полученную сумму делим на количество деревьев.
Forwarded from Start Career in DS
👨‍🎨 Интерактивные визуализации алгоритмов кластеризации

Нашёл несколько очень клёвых статеек, в которых интерактивно показано как работают различные методы:
- DBSCAN
- K-Means

В них можно посмотреть как изначальная инициализация кластеров (в k-means) и гиперпараметры (dbscan) влияют на выделение кластеров на разных наборах данных
Forwarded from iggisv9t channel
https://mespadoto.github.io/proj-quant-eval/post/projections/

Ребята прогнали кучу снижалок размерности на куче датасетов.
Как делать (бес)толковые собрания

Пару месяцев назад побывал на регулярном митапе Vladimir TechTalks.
Рассказывал о типичных проблемах при организации встреч, созвонов, собраний, и о том, как их избегать.
Тема довольно актуальная и часто болящая. Так что надеюсь, что какие-то полезные мысли удастся донести, и работа станет немного легче и приятнее.

Отдельные слова уважения организаторам митапа. Очень заботливо, душевно и качественно всё было сделано👍

Ссылка на видео https://rutube.ru/video/a1a6c67f4e7b3dba91d30e8a57b58cba/
Мой доклад на 40-й минуте
А еще на 1ч 26-й минуте Виктор Корейша, известный вам по подкасту Кода кода, рассказывает про настолки и их потенциальную пользу для работы.
Forwarded from DevFM
Регулярные выражения в Python от простого к сложному

В статье рассказывается:
— о регулярных выражениях вообще
— их плюсах в виде крутого инструмента для решения задач
— их минусах в виде write-only кода и других нюансах
— о базовом синтаксисе
— о применении регулярок в питоне с кучей примеров
— о разных сложных конструкциях

Приведены интересные задачи с примерами входных и выходных данных для практики в реализации своих регулярных выражений. Прорешайте задачи, чтобы пополнить копилку своих скиллов.

Недавно мы предлагали удобный сервис для проверки регулярок regex101.
#python #skills
Embeddings — это числовые представления слов. Они позволяют машинам понимать значение человеческих слов и то, насколько близки слова друг к другу семантически (по смыслу).
OpenAI выпустила новую embedding модель text-embedding-ada-002

Несколько слов о новой модели:
- Она превосходит предыдущие модели OpenAI в большинстве тестовых задач.
- Можно использовать модель для задач поиска и сходства как по тексту, так и по коду.
- Работает с более длительными предложениями. Длина предложения увеличена в 4 раза - до 8 191 токенов (примерно ~10 страниц) по сравнению с 2 046 ранее.
- Дешевле в 10 раз: 0,0004 $ за 1 тыс. токенов (или примерно ~3000 страниц за доллар США), что является 10 % от цены ранее самой дешевой embeddings модели.

Новую модель можно начать использовать в несколько строк кода, используя официальную библиотеку.
import openai
response = openai.Embedding.create(
input="porcine pals say",
model="text-embedding-ada-002"
)

#news #openai #embeddings
Forwarded from Quant Valerian
Про карточные платежи

В четверг провел Вастрик.АМА, рассказал про то, как работают карточные платежи: в пластике, с телефона и онлайн. Получилось _очень_ много. Но пусть два с половиной часа вас не пугают -- можно смотреть кусками минут по 15-20, правда, желательно по порядку.
Некоторые вещи объяснил спутано (как-нибудь исправлюсь), скорее всего где-то ошибся, но в целом материал опробованный. Так или иначе всё это я уже рассказывал своим сотрудникам, а недавно решил оформить в красивую, цельную презентацию. Вот она:
https://youtu.be/yxtbtPRh9N8
Ставьте лайки, пишите комменты, задавайте умные вопросы, получайте глупые ответы, смотрите соседние видео.
Я старался.


Я, конечно, не для того 48 слайдов рисовал, чтобы вы их не смотрели, но если всё-таки предпочитаете подкасты, то вот
https://vas3kama.mave.digital/ep-54
Forwarded from Bear Market
The year of CTAs

Говоря про сбалансированный портфель, стоит упомянуть «звездочку» этого года - CTAs.

CTA (Commodity trading advisor) - это по сути тип хедж фондов, которые вкладывают в различные фьючерсные контракты. Не смотря на слово “commodity”, контракты могут быть и не сырьевыми. Например, фьючерс на рубль к доллару или на весь американский рынок акций (S&P500).

В целом, СТА не имеют высокого шарпа, поэтому мы, например, предпочитаем очень невысокий процент аллокации в них - отдавая вес стратегиям с более высокой концентрацией альфы.

Но для инвесторов с гигантскими портфелями или для тех, кому недоступны фонды с высокой альфой, простая трендовая стратегия на фьючерсах (то, что делают СТА) может служить хорошим диверсификатором.

В 2022 доходы СТА-ев доставили от 5% до 40%, тогда как рынок акций серьезно упал. Последний раз, СТА так хорошо послужили в портфеле в 2008 - во время housing crisis.

На приведенной картинке показаны позиции СТА-ев во фьючерсных контрактах на американский рынок ценных бумаг (S&P500). Как видите, они достаточно лихо разворачивались и вставали в правильные позиции (лонг или шорт) в этом году «катаясь» на роллеркостере S&P500. Конечно, любая трендовая стратегия теряет на развороте (особенно это хорошо видно в самом конце графика). Но если движения в одну сторону довольно длительные, то на них можно заработать. Ну и естественно, зарабатываем как на движениях вверх, так и на движениях вниз.

Главное же, похожий на рынок бумаг шарп (~0.5) и полная к нему ортогональность.

#пропортфель
Forwarded from DevFM
Ищем свой пароль в файле размером 37 Гб на Python

Статья Has your password been pwned? Or, how I almost failed to search a 37 GB text file in under 1 millisecond примечательна по нескольким причинам.

Автор начинает статью с упоминания известного сайта have i been pwned, где можно проверить наличие вашего пароля в слитых базах. И озвучивает интересную мысль: если до проверки пароля в базах не было, то после проверки он уже точно там есть.

Далее начинается захватывающее чтиво. Автор проявляет невероятную смекалку для достижения своей цели — локально проверить свой пароль в файле размером 37 Гб за 1 миллисекунду.

Но не всё так сразу. На первый взгляд, поставленная задача кажется вообще не решаемой. Поэтому подходить к решению нужно итеративно. Начинается всё с банального поиска в лоб. Этот способ, конечно, рабочий, но медленный. Следующий шаг, чтобы улучшить результат — погружение в специфику задачи. Автор применяет различные приемы: свойства хешей, алгоритмы поиска, структуры данных и в результате решает поставленную задачу!

Откровенно говоря, для понимания решения придётся очень вдумчиво посидеть.

Такой итеративный подход стоит применять для всех сложных задач. Не нужно с первого раза пытаться изобретать космолёт, чаще всего он и не нужен. Как писал Дональд Кнут, преждевременная оптимизация — корень всех зол.

Слона нужно есть по частям. Начинаем с простого, но работающего решения. Критически смотрим на полученное решение. Если что-то не устраивает, то ищем "бутылочное горлышко" и оптимизируем его.

И еще одна приятность статьи — в процессе повествования автор оставляет множество интересных ссылок для изучения.
#python