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

Данные как основа машинного обучения

Оглавление

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

Виды данных

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

1. Структурированные данные – это данные, которые организованы в определённом формате, например, таблицы. Они легко воспринимаются алгоритмами и чаще всего используются в задачах регрессии и классификации. Примером может служить база данных клиентов, где столбцы представляют атрибуты (возраст, пол, зарплата), а строки – записи о каждом клиенте.

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

3. Полуструктурированные данные – данные, которые имеют некоторую организацию, но не ведутся в строгом формате. Примеры полуструктурированных данных включают XML и JSON файлы. Эти данные часто используются в контексте API и веб-сервисов.

Сбор данных

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

– Открытые наборы данных: На таких платформах, как Kaggle или UCI Machine Learning Repository, можно найти большое количество бесплатных коллекций данных для обучения.


– Внутренние данные: Многие компании хранят свои данные о клиентах, продажах или операциях. Эти данные могут быть особенно ценными для задач, связанных с бизнес-аналитикой.


– Сбор данных через API: Сегодня многие компании предоставляют API для доступа к данным, например, Twitter для получения информации о твитах или Google Maps для географических данных.

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

Подготовка данных к обучению

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

1. Очистка данных: На этом этапе убираются дубликаты, заполняются пропуски и удаляются выбросы. Пример кода для удаления дубликатов в DataFrame с помощью библиотеки Pandas:

.. python


.. import pandas as pd


..


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


.. df_cleaned = df.drop_duplicates()


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

.. python


.. from sklearn.preprocessing import StandardScaler


..


.. scaler = StandardScaler()


.. df['scaled_column'] = scaler.fit_transform(df[['column']])


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

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

Правильное разделение данных на обучающую и тестовую выборки – ещё один критический шаг. Обучающая выборка используется для создания модели, в то время как тестовая – для оценки её качества. Хорошим правилом является использование 70% данных для обучения и 30% для тестирования.

С помощью библиотеки Scikit-learn это заметно упрощается:

python


from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)


Заключение

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

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

Подняться наверх