ML для новичков: Глоссарий, без которого ты не разберёшься - стр. 15
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