Size: a a a

R (язык программирования)

2020 July 28

AB

Alexey Burnakov in R (язык программирования)
Есть очень обобщенный подход к выбору фичей на основе мультиинформации. Я говорю только про дискретный случай (так как для непрерывного там нужны  оценки pdf многомерные, брр). Теоретически, мультиинформация ухватывает зависимости любого вида в наборе фичей.
источник

AB

Alexey Burnakov in R (язык программирования)
Я ее скрестил с также очень общим методом оптимизации (ГА).
источник

AB

Alexey Burnakov in R (язык программирования)
И это все вроде работает, но статистик тут плачет, потому что оценки МИ точечные и они все растут при увеличении количества фичей, то есть, все фичи дают максимум. А плачет статистик потому, что нет метода вывести доверительные интервалы для МИ как-то аналитически, хотя есть грубые поправки
источник

AB

Alexey Burnakov in R (язык программирования)
И весь алгоритм в том, чтобы перебирать поколения кандидатов из произвольного набора фичей, пока не упрешься во временные ограничения
источник

А

Александр in R (язык программирования)
Alexey Burnakov
Есть очень обобщенный подход к выбору фичей на основе мультиинформации. Я говорю только про дискретный случай (так как для непрерывного там нужны  оценки pdf многомерные, брр). Теоретически, мультиинформация ухватывает зависимости любого вида в наборе фичей.
Вы про Mutual information ?
источник

AB

Alexey Burnakov in R (язык программирования)
Александр
Вы про Mutual information ?
Ее обобщение
источник

А

Александр in R (язык программирования)
шапли насколько я понимаю ещё любят за то что это один из немногих алгоритмов с строгим математическим доказательством эффективности
источник

AB

Alexey Burnakov in R (язык программирования)
Александр
шапли насколько я понимаю ещё любят за то что это один из немногих алгоритмов с строгим математическим доказательством эффективности
Я почитаю про него, отстал
источник

AB

Alexey Burnakov in R (язык программирования)
Александр
шапли насколько я понимаю ещё любят за то что это один из немногих алгоритмов с строгим математическим доказательством эффективности
Тут есть тоже эффективность, если научиться считать unbiased MI. И также попытка решить задачу избыточно присутствует
источник

AB

Alexey Burnakov in R (язык программирования)
На моих синтетических данных, где были как бы размечены важные и неважные фичи, решение было близко к оптимальному, но все равно хуже стандартного GBM Importance. А это уже не то)))
источник

IS

Ivan Struzhkov in R (язык программирования)
Всем привет! такой вопрос
Есть большой датасет ~100M строк. В датасете есть поле ID (уникальный) и три поля с таймстемпами.

задача  найти наиболее оптимальный по времени работы способ выбрать для каждого ID минимальный таймстемп из трех и положить его в новое поле

пример в лоб

dd1 %>% rowwise()  %>% mutate( min_date=min(timestamp1,timestamp2,timestamp3,na.rm = T))->dd2


через цепочку ifelse и apply работает быстрее. data_table пользуюсь редко - в следующую итерацию напишу (сча считает). Еще из кандидатов parSapply

Пока жду - есть ли какие идеи какой подход будет быстрее?
источник

AS

Alexander Semenov in R (язык программирования)
Александр
интересная работа, хотя полностью ее я так и не прочитал, только кусками. Ну ребята там говорят что никто толком не понимает (среди опрошенных участников) что делает Шепли, но все ему доверяют. С другой стороны толковой альтернативы все равно нет.
Я тоже склоняюсь к прагматическому подходу в определении истины.
источник

ГД

Григорий Демин... in R (язык программирования)
Ivan Struzhkov
Всем привет! такой вопрос
Есть большой датасет ~100M строк. В датасете есть поле ID (уникальный) и три поля с таймстемпами.

задача  найти наиболее оптимальный по времени работы способ выбрать для каждого ID минимальный таймстемп из трех и положить его в новое поле

пример в лоб

dd1 %>% rowwise()  %>% mutate( min_date=min(timestamp1,timestamp2,timestamp3,na.rm = T))->dd2


через цепочку ifelse и apply работает быстрее. data_table пользуюсь редко - в следующую итерацию напишу (сча считает). Еще из кандидатов parSapply

Пока жду - есть ли какие идеи какой подход будет быстрее?
pmin, без rowwise
источник

IS

Ivan Struzhkov in R (язык программирования)
Григорий Демин
pmin, без rowwise
Спасибо - включил в тест)
источник

GS

Gleb Suvorov in R (язык программирования)
data.table[,row.min:=pmin(t1,t2,,t3)] (напишите пожалуйста о разнице в скорости)
источник

AB

Alexey Burnakov in R (язык программирования)
Александр
шапли насколько я понимаю ещё любят за то что это один из немногих алгоритмов с строгим математическим доказательством эффективности
Вот, я почитал про Шепли, в приложении к линейным моделям и трактовке предиктов бустинга. Я не очень понял, помимо попытки объяснить предикт вкладом каждого предиктора, как Шепли использовать для выбора набора предикторов? Ясно, что предикторы можно отранжировать, а как выбрать значение отсечки слабых/избыточных?
источник

А

Александр in R (язык программирования)
Alexey Burnakov
Вот, я почитал про Шепли, в приложении к линейным моделям и трактовке предиктов бустинга. Я не очень понял, помимо попытки объяснить предикт вкладом каждого предиктора, как Шепли использовать для выбора набора предикторов? Ясно, что предикторы можно отранжировать, а как выбрать значение отсечки слабых/избыточных?
В дефолтном варианте ни как. Но можно как в боруте докинуть фичи с случайно перемешанными строчками от других колонок. Такие переменные называют теневыми. Если у какой-то из исходных переменных важность ниже чем у теневой, то она объективно не лучше шума
источник

AB

Alexey Burnakov in R (язык программирования)
Александр
В дефолтном варианте ни как. Но можно как в боруте докинуть фичи с случайно перемешанными строчками от других колонок. Такие переменные называют теневыми. Если у какой-то из исходных переменных важность ниже чем у теневой, то она объективно не лучше шума
Ага. Спасибо. По сути, сравнение с шумовыми признаками
источник

А

Александр in R (язык программирования)
Alexey Burnakov
Ага. Спасибо. По сути, сравнение с шумовыми признаками
Ну да, это стандартный подход
источник

AB

Alexey Burnakov in R (язык программирования)
Ещё одна мысль по ходу чтения про Шепли. Пишут, что он решает проблему коллинеарности в лин.моделях. Ну, ок, пока не попробую, не ясно, как скоррелированные фичи будут оценены, но, полагаю, низко. Но мысль, вообще, в другом. Коллинеарность вредна только для оценок ст.ошибок коэффициентов, а не самих коэффициентов (afaik). Для того, чтобы просто сделать предсказание, это вообще не важно, тем паче, если регрессия решается градиентным спуском. В этом свете Шепли полезен в том, что делает модель менее переобученной?
источник