Размер шрифта
-
+

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

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

Очистка данных

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

Одним из наиболее простых способов выявления и удаления дубликатов в языке Python является использование библиотеки Pandas:

python


import pandas as pd

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()


Заключение

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

Страница 18