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

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

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

Если у вас есть много доступной оперативной памяти, но вы столкнулись с ошибкой памяти, сначала убедитесь, что вы используете 64-разрядную версию Python.

Выборка

Первый и самый важный вариант — выборка вашего набора данных. Этот подход может быть особенно эффективным на этапе исследования: чтобы увидеть, как на самом деле выглядят данные, и как выполнить часть разработки функций. Обычно случайная выборка из 10% такого большого набора данных уже содержит много информации.

Отфильтруйте ненужные столбцы для экономии памяти

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

Несколько способов сделать это — использовать методы выбора функций.

1.Статистические тесты для выбора важных функций (чи², корреляционная матрица и т. д.)

Критерий хи-квадрат используется для неотрицательных признаков для задач классификации. Приведенный ниже код поможет вам получить 20 лучших функций с помощью теста хи-квадрат.

2.Дополнительный древовидный классификатор

Древовидные классификаторы имеют встроенную важность функций. Фрагмент кода ниже поможет вам узнать важность вашей функции с помощью Extra Tree Classifier.

3. Рекурсивное удаление функций с перекрестной проверкой:

RFECV легко настраивается, и он эффективен при выборе тех функций в обучающем наборе данных, которые являются более или наиболее релевантными для прогнозирования целевой переменной.

4.Подгонка базовой модели

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

Следующим шагом будет удаление наименее важных функций из нашего набора данных.

И убедитесь, что работает только текущий ноутбук, выключите неиспользуемый ноутбук, а также закройте все остальные приложения.

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

Все упомянутые выше простые приемы помогли мне запустить огромный набор данных в моей локальной системе и потребовали лишь разумного объема памяти.