Мы все чувствуем себя постоянно перегруженными сумасшедшими и сложными жизненными проблемами, но с инновационными идеями и логическими техническими решениями в современном мире нет ничего невозможного.
Работа с большими наборами данных может быть сложной задачей, с которой мы не сталкиваемся, поскольку большинство компаний обращаются к поставщикам облачных услуг. Что происходит, когда у нас нет доступа к облачному серверу, значит ли это, что битва остается неподтвержденной.
Что ж, ни один камень не может быть оставлен на камне, если данные станут новым топливом. Я твердо верю, что этот пост поможет вам открыть для себя некоторые проверенные методы сокращения количества функций, которые в конечном итоге помогут нам обрабатывать больший набор данных на вашем локальном компьютере.
Если у вас есть много доступной оперативной памяти, но вы столкнулись с ошибкой памяти, сначала убедитесь, что вы используете 64-разрядную версию Python.
Выборка
Первый и самый важный вариант — выборка вашего набора данных. Этот подход может быть особенно эффективным на этапе исследования: чтобы увидеть, как на самом деле выглядят данные, и как выполнить часть разработки функций. Обычно случайная выборка из 10% такого большого набора данных уже содержит много информации.
Отфильтруйте ненужные столбцы для экономии памяти
После выборки, чтобы сэкономить больше времени на манипулировании данными и вычислениях, мы можем отфильтровать неважные столбцы, чтобы сэкономить больше памяти.
Несколько способов сделать это — использовать методы выбора функций.
1.Статистические тесты для выбора важных функций (чи², корреляционная матрица и т. д.)
Критерий хи-квадрат используется для неотрицательных признаков для задач классификации. Приведенный ниже код поможет вам получить 20 лучших функций с помощью теста хи-квадрат.
2.Дополнительный древовидный классификатор
Древовидные классификаторы имеют встроенную важность функций. Фрагмент кода ниже поможет вам узнать важность вашей функции с помощью Extra Tree Classifier.
3. Рекурсивное удаление функций с перекрестной проверкой:
RFECV легко настраивается, и он эффективен при выборе тех функций в обучающем наборе данных, которые являются более или наиболее релевантными для прогнозирования целевой переменной.
4.Подгонка базовой модели
Другой способ избавиться от нежелательных функций — подогнать базовую модель и определить важность функций.
Следующим шагом будет удаление наименее важных функций из нашего набора данных.
И убедитесь, что работает только текущий ноутбук, выключите неиспользуемый ноутбук, а также закройте все остальные приложения.
Помимо этого, это зависит от фактического использования памяти кодом и оборудованием.
Все упомянутые выше простые приемы помогли мне запустить огромный набор данных в моей локальной системе и потребовали лишь разумного объема памяти.