ML для новичков: Глоссарий, без которого ты не разберёшься - страница 16



data = pd.read_csv('car_sales.csv')


data.drop_duplicates(inplace=True)


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

python


data.fillna(data.median(), inplace=True)


Преобразование данных

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

Нормализация может быть выполнена следующим образом:

python


from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()


data[['weight', 'price']] = scaler.fit_transform(data[['weight', 'price']])


Согласованность форматов также критически важна. Убедитесь, что все даты представлены в одном формате, а все категории имеют один и тот же стиль написания (например, "цвет" и "Цвет" следует привести к одному регистру). Применение методов обработки строк из библиотеки Pandas поможет в этом:

python


data['color'] = data['color'].str.lower()


Разделение на обучающую и тестовую выборки

После очистки и подготовки данных необходимо разделить их на обучающую и тестовую выборки. Это поможет вам оценить производительность модели на новых данных. Общепринятыми пропорциями для разбиения данных являются 70/30 или 80/20, где большая часть используется для обучения, а меньшая – для тестирования. Разделение можно выполнить с помощью `train_test_split` из библиотеки `sklearn`:

python


from sklearn.model_selection import train_test_split

train_data, test_data = train_test_split(data, test_size=0.2, random_state=42)


Понимание и визуализация данных

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

python


import seaborn as sns


import matplotlib.pyplot as plt

sns.boxplot(x='price', data=data)


plt.show()


Заключение

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

Очистка, нормализация и создание признаков

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

Идентификация и удаление пропусков

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