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

В такой ситуации возникает вопрос, как мы можем уменьшить данные в таком случае. Самый распространенный подход, который может придумать человек, — это уменьшить размер данных за счет уменьшения количества точек данных.

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

Ниже приведены практические шаги по уменьшению большого набора данных в конкурсе Kaggle Обзор книги Goodreads. Данные чрезвычайно велики: 900 000 точек данных, а ключевой параметр, который будет использоваться для обработки и прогнозирования машинного обучения, является текстовым, что делает работу с ним еще более сложной и утомительной.

ШАГ 1. Загрузите необходимые библиотеки

Процесс начинается с очевидного шага загрузки пакетов и модулей Python, которые помогут нам в этом процессе.

ШАГ 2. Загрузите и изучите данные:

Следующим ключевым шагом является загрузка данных из CSV-файла и проверка его параметров и размера. В следующем коде показано, как легко можно выполнить этот процесс:

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

ШАГ 3. Сортировка и разделение данных по ярлыкам

Это самый важный и ответственный шаг. В данных метка или зависимая переменная — это параметр «рейтинг», который имеет 6 возможных значений от 0 до 5.

В этой конкретной части кода мы выясняем различные возможные значения меток и разделяем данные на основе этого.

Каждая из этих вновь созданных переменных содержит все точки данных с одним значением метки.

ШАГ 4. Сокращение

В нашем случае сокращение необходимо для эффективного запуска модели, поэтому мы решили уменьшить данные с 900 000 до 9000, чтобы все модели можно было легко запускать на данных. Это означает сокращение в 1/100 раз. Здесь мы понимаем важность разделения переменных. Если мы случайным образом просто сократим данные и сохраним точки вверху, существует высокая вероятность того, что отношения меток данных изменятся, и тогда весь смысл исследования будет потерян, поскольку обучение должно было проводиться на заданном соотношении и измерении. данных.

Отныне, даже если мы уменьшаем данные, их следует уменьшать аналогичным образом, чтобы имитировать исходные данные.

Сокращение на 1/100 выполняется индивидуально для каждой переменной, представляющей каждую метку в данных.

ШАГ 5. Объединение данных

Теперь отдельные сокращенные переменные данных необходимо объединить в один набор данных, подобный исходному.
Помимо слияния, данные также необходимо перетасовать, чтобы все метки не встречались вместе.

Наконец, после всех вышеперечисленных действий ваши данные уменьшены с сохранением соотношения меток, как в исходных данных.

Полный код можно найти на моем GitHub:



Вскоре я создам еще один блог, работающий с этими текстовыми данными и применяющий к этим же данным все современные алгоритмы. Следите за обновлениями!

И да, если вам понравился урок, пожалуйста, поставьте лайк и поделитесь!