Не ограничиваясь read.csv ()

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

test_df <- readRDS("input_data/cleaned_alumni_2.rds")

Даже не имея представления о том, что такое readRDS, я думаю, вам будет ясно, что здесь мы читаем файл данных с именем «cleaned_alumni_2» со странным « .rds » из папки с именем« input_data ».

Если вы сами пришли к вышеуказанному выводу, примите наши поздравления, это абсолютно правильно. Итак, «rds», как и «csv», - это формат файла. Что делает лучше, так это то, что это собственный тип данных R (подробнее об этом позже). Поскольку это собственный тип данных, разве это не интуитивно понятно, что загрузка формата данных «rds» в ваш сценарий / модель / панель управления R будет быстрее, чем загрузка общего «csv ” файл формата данных !!!

Разве это не возбуждает? Другой формат файла, родной для R, более быстрое время загрузки, не правда ли?

Теперь ваш следующий логический вопрос, скорее всего, будет заключаться в следующем: что мне делать, если у меня есть только мои данные в виде файла «csv». Не волнуйтесь, я покажу вам, как преобразовать это в формат «rds» всего в двух строчках кода.

original_dataset <- read.csv("filename.csv")
saveRDS(original_dataset, "new_filename.rds")

Ну вот и все. Первым параметром функции «saveRDS ()» был набор данных, который вы хотите сохранить как файл «rds», а вторым параметром было новое имя файла. Гладкий; плавный. Как теперь прочитать эти данные?

converted_dataset <- readRDS("new_filename.rds")

Итак, это конец. Таким образом вы заменяете функцию «read.csv ()» на более быструю функцию «readRDS ()».

Бенчмаркинг:

Что ж, не помешало бы проверить наши заявления об ускорении, не так ли? Итак, поехали !!

Что ж, результаты, полученные ниже, просто потрясающие. Это ускорение почти в 7,5 раз. Это огромное преимущество для изменения одной строчки кода, не так ли 😉.

Вы также можете попробовать запустить описанный выше тест на своих системах, используя имеющиеся у вас файлы «csv». Если файлы «csv» недоступны, просто создайте образец набора данных и используйте функцию write.csv () для его создания. В качестве бонуса просто проверьте размер вашего «файла rds» и сравните его с «файлом csv» (Подсказка: файлы rds тоже сжимаются…: D)

Теперь давайте визуально проверим разницу в двух функциях:

График ниже наглядно представляет то, что мы наблюдали ранее в наших тестах.

Заключение:

Размер сжатого файла и более быстрое время загрузки «rds» обеспечивают огромные преимущества, когда вашему сценарию приходится загружать набор данных снова и снова (например, например, развернутую модель машинного обучения или приложение R Shiny). . Уменьшение размера данных означает, что вы используете меньше ресурсов на своей хостинговой платформе, что, опять же, неплохо.

Я изучаю информатику и сильно интересуюсь оптимизацией, и мы продолжим вместе изучать эту область 😃. Здесь я не коснулся различных других вариантов чтения / загрузки, предоставляемых некоторыми внешними библиотеками, потому что я обещал оптимизацию в одной строке. В будущих публикациях мы также рассмотрим эти пакеты.

Вы также могли купить мне кофе, чтобы поддержать мою работу.

Спасибо и удачи.