Aspiring Data Science – Telegram
Aspiring Data Science
385 subscribers
465 photos
12 videos
12 files
2.15K links
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Download Telegram
#featureselection #diogenes

Тестирую сейчас Диогена в контролируемом эксперименте. Несмотря на ожидания, RFECV звёзд с неба не хватает: некоторые значимые группы факторов "уплывают" из зоны видимости, без шансов выйти в топ. Думаю про альтернативу, ну или как минимум предварительный шаг: просчитывать важности признаков на случайных подгруппах случайных размеров, а не просто на всех доступных одним разом.

UPD. Кстати, эксперименты на подгруппах открыли интересный факт: важности признаков катбуста могут совершенно не отражать реальный вклад факторов в результат. Пример в комментах.
👍1
#news

День добрых и полезных дел прямо сегодня. Съездил поставил подпись за Надеждина, внёс немного денег. Скорее всего, кремлёвские старцы испугаются, как и Дунцову, и найдут предлог не допустить, но хоть что-то делать надо. Приходят в основном молодые, лет 20-30.

Ещё помог забинтовать попавшего в ДТП собакена.
2
#hardware #storage

А прогресс-то идёт! можно купить 64TB NVME SSD за $4k! Я брал 8TB за $2k, и то до сих пор очень доволен.

"Компания Solidigm, по сообщению TechRadar, начала приём заказов на самый вместительный в мире QLC NVMe SSD, предназначенный для применения в СХД высокой плотности для дата-центров. Речь идёт об изделии D5-P5336, способном вмещать 61,44 Тбайт информации.

Устройство было представлено летом прошлого года. Оно имеет формат E1.L; задействован интерфейс PCIe 4.0 x4 (NVMe 1.4). В конструкции применены 192-слойные микрочипы флеш-памяти QLC 3D NAND. Стоит отметить, что данный накопитель является наиболее ёмким среди «обычных» NVMe SSD. Заявленная скорость последовательного чтения данных достигает 7000 Мбайт/с, скорость последовательной записи — 3000 Мбайт/с. Величина IOPS при произвольном чтении блоками по 4 Кбайт, согласно техническим характеристикам, составляет до 1 005 000, при произвольной записи — до 43 800."

https://servernews.ru/1099060
#featureselection

Недавно я проводил опрос, нужен ли вообще отбор признаков, если есть современные мощные бустинги. Большая часть аудитории сказала, что нет, и этим не занимается.

Вот вам пример: 246 фичей, из них на таргет влияют 11. Результаты (mean_cv_score, std_cv_score) MSE с 5-фолдовой кросс-валидацией для всех фичей и только для важных фичей показывают ОГРОМНУЮ разницу (0.0219 vs 0.0145, при dummy=0.0278). По сути, наличие/отсутствие FS может быть причиной успеха/провала проекта. Порядок разницы одинаковый для Catboost и Xgboost, кстати.
4👍1
#music #poetry #magpie

One for sorrow,
Two for joy,
Three for a girl,
Four for a boy,
Five for silver,
Six for gold,
Seven for a secret never to be told.

Eight for a wish,
Nine for a kiss,
Ten a surprise you should be careful not to miss,
Eleven for health,
Twelve for wealth,
Thirteen beware it's the devil himself.
Fourteen for love
Fifteen for a dove
Sixteen for the chime of a bell
Seventeen for the angels protection
Eighteen to be safe from hell
Nineteen to be safe from a crime
Twenty to end this rhyme.

https://www.youtube.com/watch?v=_fPbWEa1cyg
2
#yandex #google #ltr

Матрикснет, катбуст, лучшие спецы и технологии, все дела, казалось бы. Но почему меня поиск Гугла куда лучше понимает? Наверное, поэтому доля гугла в мировом поиске 91%, а Яндекса 1,61%.
#diogenes #featureselection #rfecv #mrmr

Ну и немного новостей по проекту Диоген. Собрал и потестировал на синтетике 2 полноценных отборщика признаков, filter & wrapper. мой улучшенный RFECV отлично отработал на датасете с 250+ факторами, 11k записями: из 11 значимых факторов нашёл 9, причём и нелинейные, и 2-way XOR, и 3-way XOR. Не смог найти 2 фактора с частичной зависимостью (на 10% и 30% области определения). Ну я не сильно расстроился, найди он и это на 11k записей, это было бы чудом. При росте числа записей находит и их. Что выяснилось: промежуточные модельки надо фиттить прям до упора (насколько ES позволяет).

И, кажется, оправдалась моя идея, что важности признаков надо складировать со всех запусков, а не только с самого первого. Оптимизатор мой MBHO отлично отработал - сократил время поиска вдвое. В общем, не зря пилил этот проект полгода.

В то же время, MRMR находит только 6 важных признаков из 11. Но время работы, Карл! 2 часа RFECV против 2 минут MRMR.

Мне уже стало казаться, что в бою на больших данных RFECV ну просто будет неприменим по времени. Начал тестировать на реальном датасете с 500+ столбцов общим размером 50Гб. Подождал часов 6 на сервере с 16 ядрами, за это время не обучилась полностью даже 1я FS моделька, махнул рукой. Придётся переносить тесты RFECV на GPU сервер с приличным объёмом VRAM.

Перешёл к тестированию MRMR. Тут тоже в реальности не всё гладко оказалось, биннинг датасета, который на небольшой синтетике шёл 2 секунды на 1 ядре, в реальном проекте растянулся на полчаса. Пришлось переписывать под многопоток, заодно улучшил работу с пропусками и отловил пару багов. Биннинг стал отрабатывать за 2 минуты. И снова сюрприз, который отнял полдня. Оказалось, что np.random.shuffle в многопотоке ужасно тормозит, пришлось оборачивать его в njit.

В итоге тестирую MRMR с полной загрузкой CPU на финансовом проекте, очень интересно смотреть в реальном времени, что он находит.
🔥3
#electrocars #apple

"Создание электромобиля было одним из самых дорогих научно-исследовательских проектов компании на протяжении большей части последнего десятка лет. Apple тратила сотни миллионов долларов в год на зарплаты, облачные системы для управления системой автопилота, испытания на закрытых дорогах и разработку деталей и чипов для автомобиля. Apple потратила годы на разработку силовых агрегатов, аппаратного и программного обеспечения для самостоятельного вождения, интерьера и экстерьера автомобиля и других ключевых компонентов. И все же автомобиль так и не смог успешно дойти до стадии прототипа. Руководители компании надеются, что это наконец-то произойдет благодаря новому подходу, говорят люди, знакомые с ситуацией.

Неопределенность мучила проект на протяжении многих лет. Бывший руководитель Project Titan Даг Филд (Doug Field) покинул компанию в 2021 году отчасти потому, что он не верил, что высшее руководство когда-либо официально одобрит выпуск автомобиля. Даже с учетом нового плана, некоторые руководители Apple скептически относятся к тому, что автомобиль сможет когда-либо обеспечить такую прибыль, какую компания получает от iPhone. Тем не менее, автомобиль ценой около $100 000, а меньшего от Apple ждать не стоит, будет способствовать росту доходов и поможет Apple занять место в растущем секторе электрокаров.

Новый план создания автомобиля рассматривается внутри компании как продукт, похожий на Tesla. Он не откроет ничего нового, но компания надеется, что автомобиль будет выделяться элегантным дизайном, системами безопасности и уникальным пользовательским интерфейсом."

https://3dnews.ru/1099193/elektromobil-apple-zaderzhitsya-do-2028-goda-i-vyjdet-bez-polnocennogo-avtopilota
#featureengineering

Поговорим о конструировании признаков. В теории мы знаем, что, если есть много времени и вычислительных ресурсов, неплохо бы попробовать забросить в модель не просто сырые фичи, а

1) их логарифмы, корни, степени (встречал рекомендацию брать преобразование, дающее максимально гауссово распределение на выходе), возможно, тригонометрику (для периодических признаков)
2) их попарные произведения (PolynomialFeatures) или частные

В реальных проектах у меня до этого ни разу не дошли руки, отчасти ещё и потому, что я сомневался: а как такие сконструированные признаки подавать, отдельно или вместе, это ж как раздует объёмы данных и время расчётов, а как потом понять, какие нерелевантны...

Но после экспериментов с отборщиком признаков MRMR кажется весьма очевидным общий подход, позволяющий найти оптимальные преобразования и основанный на теории информации:

просто для каждого сырого признака на train, прошедшего отбор MRMR,

1) индивидуально ищем преобразование (из списка стандартных), максимизирующее его взаимную информацию с таргетом (только на train!). как именно лучше делать дискретизацию, я пока не знаю. заменяем сырой признак его лучшим преобразованием (или не заменяем, если сырая форма уже самая лучшая).

2) попарно, для всех сочетаний признаков из шага 1), проверяем, какое преобразование f(A,B) из списка стандартных максимизирует MI этой пары с таргетом (только на train!). если такая максимальная MI выше условной MI(A,Y;B), пара добавляется в пул улучшений с указанием ожидаемого "улучшения" информации. После проверки всех сочетаний, пары из пула сортируются по ожидаемому улучшению и начинают формироваться. Если переменная оказывается уже задействована в другой паре, можно допускать не более N повторных использований. Оригинальные задействованные переменные из датасета удаляются.

Как думаете, стоящая идея?

UPD. могу подтвердить, что в части 2 идея работает!!! это просто фантастика. Правда, в части 1 пока облом.
Forwarded from Генерал СВР
Дорогие подписчики и гости канала! Сегодня продолжились попытки блокировки мессенджеров WhatsApp и Telegram в России. "Тренировочные" отключения коснулись нескольких регионов. Основной упор делается на возможности блокировки WhatsApp, так как этот мессенджер российское руководство считает наиболее опасным. Ближайшие четыре недели стоит ожидать более масштабных попыток отключения популярных мессенджеров и видеохостинга YouTube. Использование VPN, на данном этапе, позволяет обходить проблемы связанные с блокировкой.
🤡1
#facebook

"Стремительный рост стоимости акций компании начался в 2023 году и по итогам года достиг почти 200 %. Как сообщает CNBC, одним из основных драйверов этого роста оказалось решение генерального директора Meta Марка Цукерберга (Mark Zuckerberg) о введении мер по сокращению расходов, которые привели к увольнению из компании более 20 000 сотрудников.

Акционеры оптимистичны в отношении Meta, поскольку компания стремится укрепить свои позиции в качестве сильного игрока в области искусственного интеллекта. На прошлой неделе Цукерберг заявил, что к концу 2024 года Meta приобретёт 350 000 специализированных ИИ-ускорителей H100 от NVIDIA, а в сумме вычислительная производительность её систем будет «эквивалентна примерно 600 тыс. ускорителей H100». Всё это указывает на то, что Meta инвестирует миллиарды долларов в развитие своей инфраструктуры ИИ."

https://3dnews.ru/1099260/rinochnaya-stoimost-meta-previsila-1-trln
#featureengineering #autofeat

Вспомнил, что конструктор фичей уже реализован в библиотеке autofeat.

Давайте разбираться.

"Linear models+ non-linear features=LOVE"
"There is always enough RAM somewhere" ))

"Most existing feature construction frameworks follow the second, iterative feature engineering approach: The FICUS algorithm uses a beam search to expand the feature space based on a simple heuristic, while the FEADIS algorithm and Cognito use more complex selection strategies. A more recent trend is to use meta-learning, i.e., algorithms trained on other datasets, to decide whether to apply specific transformation to the features or not. While theoretically promising, we could not find an easy to use open source library for any of these approaches."

https://arxiv.org/pdf/1901.07329.pdf

https://www.youtube.com/watch?v=4-4pKPv9lJ4
#autofeat #featureselection #featureselection

Как работает autofeat:

1) берётся подвыборка train set, из сырых фичей генерируется много кандидатов (с помощью простых математических операций)

2) в пул "хороших" добавляются кандидаты с высокой корреляцией с необъяснённым таргетом

3) на всех "хороших" кандидатах обучается линейная модель с регуляризацией LassoLarsCV. Отбрасываются кандидаты с низкими весами в последней модели. Пересчитывается таргет, не объясняемый моделью.

4) повтор цикла до стабилизации множества хороших кандидатов

5) отсев шума. обучение на итоговом пуле+случайных признаках, отбрасываем всех кандидатов с весами, меньшими весов шумовых фичей