Size: a a a

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

2021 February 11

ДВ

Дмитрий Володин... in R (язык программирования)
просто mutate(client %in% blacklist$client)
источник

ДВ

Дмитрий Володин... in R (язык программирования)
вернёт логический столбец, сможете его потом функцией as.integer превратить в 1 и 0, как вы и хотите
источник

М

Марк in R (язык программирования)
Дмитрий Володин
вернёт логический столбец, сможете его потом функцией as.integer превратить в 1 и 0, как вы и хотите
Нифига, приколько))) Спасибо!))
источник

ДВ

Дмитрий Володин... in R (язык программирования)
если вдруг вам надо наоборот, отметить TRUE или 1 те позиции, которые НЕ входят в какой-то вектор, то ставите отрицание перед всей конструкцией a %in% b. Отрицание - восклицательный знак. Получается ! a %in% b
источник

М

Марк in R (язык программирования)
Дмитрий Володин
если вдруг вам надо наоборот, отметить TRUE или 1 те позиции, которые НЕ входят в какой-то вектор, то ставите отрицание перед всей конструкцией a %in% b. Отрицание - восклицательный знак. Получается ! a %in% b
Спасибо)
источник

MM

Mikle Mikle in R (язык программирования)
Привет!
Пытаюсь обучить Random Forest в tidymodels, но че-то не получается, не очень понимаю почему.
Количество наблюдений = 80 000, кол-во предикторов = 60.
С чем это может быть связано?

tuning_folds <- vfold_cv(posts_liwc_with_values, v = 5)

recipe_for_Self_en <- recipe(Self_en ~., data = posts_liwc_with_values) %>%
 update_role(idstud, doc_id, timestamp, new_role = "ID") %>%
 step_rm(CON, Self_tr, OTC)

rf_spec <-
 rand_forest(trees = 750,
             min_n = 5,
             mtry = 22) %>%
 set_mode("regression") %>%
 set_engine("randomForest")

rf_wf <- workflow() %>%
 add_recipe(recipe_for_Self_en) %>%
 add_model(rf_spec)

library(doParallel)
#PARALLELIZATION
doParallel::registerDoParallel()

library(parallel)
# Create a cluster object and then register:
cl <- makePSOCKcluster(7)
registerDoParallel(cl)

tune_Self_en_rf <- fit_resamples(
 rf_wf,
 resamples = tuning_folds,
 metrics = metric_set(rsq, rmse, mae, mape)
)
источник

JL

Julia Laryushina in R (язык программирования)
с тем, что память кончилась
источник

MM

Mikle Mikle in R (язык программирования)
Это я понимаю, но не понимаю почему. Казалось бы не так много данных и не такая сложная модель.
источник

JL

Julia Laryushina in R (язык программирования)
RF жаден до памяти.
попробуйте уменьшить количество деревьев и их глубину.
источник

ED

Evgeniy Dolgin in R (язык программирования)
Mikle Mikle
Это я понимаю, но не понимаю почему. Казалось бы не так много данных и не такая сложная модель.
не уверен как сейчас, но раньше в R для размещения объекта в памяти требовался цельный кусок оперативы, то есть, может быть свободных условно 3 гига, но она фрагментирована, и непрерывного куска нужного объема нет
в этом случае поможет закрыть проект с сохранением рабочей среды, потом открыть снова и попробовать обучить модель
если не поможет, думать дальше)
источник

IY

Igor Yakubovskiy in R (язык программирования)
gc() - garbage collector поможет ?
источник

I

Igor in R (язык программирования)
Кстати gc()  в 4 версии как-то криво работает. Всё рано что-то в памяти остаётся
источник

MM

Mikle Mikle in R (язык программирования)
вот такое показывает
источник

JL

Julia Laryushina in R (язык программирования)
Не поможет ему это.
У него 750 деревьев строятся без ограничения (ну почти) на глубину (engine - randomForest, maxnodes по дефолту NULL, nodesize по дефолту 5), при этом ещё и в 7 потоков.
источник

JL

Julia Laryushina in R (язык программирования)
Иными словами, довольно много глубоких деревьев.
источник

MM

Mikle Mikle in R (язык программирования)
нет, nodesize задан в 5
источник

JL

Julia Laryushina in R (язык программирования)
уже исправила
источник

JL

Julia Laryushina in R (язык программирования)
не суть
источник

MM

Mikle Mikle in R (язык программирования)
пробовал снизить кол-во деревьев до 400 - тоже самое
источник

JL

Julia Laryushina in R (язык программирования)
что лишний раз показывает, что никакой gc() не поможет =)
источник