Часто мы сталкиваемся с наборами данных, которые имеют чрезвычайно большое количество точек данных. Без уменьшения размера таких данных существует высокая вероятность того, что большинству алгоритмов потребуются большие вычислительные мощности, объем памяти, память и вычислительные возможности. По сути, эти требования могут быть невыполнимы для каждого человека и особенно для студентов, которые работают с такими данными для практики или в учебных целях.
В такой ситуации возникает вопрос, как мы можем уменьшить данные в таком случае. Самый распространенный подход, который может придумать человек, — это уменьшить размер данных за счет уменьшения количества точек данных.
Простое удаление или отсечение части набора данных часто может резко повлиять на точность и результаты процессов машинного обучения, и поэтому я предлагаю этот чрезвычайно простой, но эффективный код для разделения данных и уменьшения размера.
Ниже приведены практические шаги по уменьшению большого набора данных в конкурсе Kaggle Обзор книги Goodreads. Данные чрезвычайно велики: 900 000 точек данных, а ключевой параметр, который будет использоваться для обработки и прогнозирования машинного обучения, является текстовым, что делает работу с ним еще более сложной и утомительной.
ШАГ 1. Загрузите необходимые библиотеки
Процесс начинается с очевидного шага загрузки пакетов и модулей Python, которые помогут нам в этом процессе.
ШАГ 2. Загрузите и изучите данные:
Следующим ключевым шагом является загрузка данных из CSV-файла и проверка его параметров и размера. В следующем коде показано, как легко можно выполнить этот процесс:
В этом примере кода мы загрузили уже предоставленные данные для обучения и тестирования. Но есть вероятность, что иногда приходится иметь дело с данными, которые содержат только одни данные, которые необходимо раздельно разделить на обучение и тестирование. В этом примере мы будем использовать только обучающие данные, чтобы показать второй метод и его процедуру.
ШАГ 3. Сортировка и разделение данных по ярлыкам
Это самый важный и ответственный шаг. В данных метка или зависимая переменная — это параметр «рейтинг», который имеет 6 возможных значений от 0 до 5.
В этой конкретной части кода мы выясняем различные возможные значения меток и разделяем данные на основе этого.
Каждая из этих вновь созданных переменных содержит все точки данных с одним значением метки.
ШАГ 4. Сокращение
В нашем случае сокращение необходимо для эффективного запуска модели, поэтому мы решили уменьшить данные с 900 000 до 9000, чтобы все модели можно было легко запускать на данных. Это означает сокращение в 1/100 раз. Здесь мы понимаем важность разделения переменных. Если мы случайным образом просто сократим данные и сохраним точки вверху, существует высокая вероятность того, что отношения меток данных изменятся, и тогда весь смысл исследования будет потерян, поскольку обучение должно было проводиться на заданном соотношении и измерении. данных.
Отныне, даже если мы уменьшаем данные, их следует уменьшать аналогичным образом, чтобы имитировать исходные данные.
Сокращение на 1/100 выполняется индивидуально для каждой переменной, представляющей каждую метку в данных.
ШАГ 5. Объединение данных
Теперь отдельные сокращенные переменные данных необходимо объединить в один набор данных, подобный исходному.
Помимо слияния, данные также необходимо перетасовать, чтобы все метки не встречались вместе.
Наконец, после всех вышеперечисленных действий ваши данные уменьшены с сохранением соотношения меток, как в исходных данных.
Полный код можно найти на моем GitHub:
Вскоре я создам еще один блог, работающий с этими текстовыми данными и применяющий к этим же данным все современные алгоритмы. Следите за обновлениями!
И да, если вам понравился урок, пожалуйста, поставьте лайк и поделитесь!