Создание признаков из дат и текста
Извлечение полезного сигнала из исходных полей
«Создание признаков из дат и текста» — бесплатный урок Data Science Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Data Science Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Data Science Academy содержит 4 уроков всего.
Исходные поля скрывают полезный сигнал
Временная метка или свободная текстовая заметка содержит полезные сведения, которые модель не может прочитать напрямую. Конструирование признаков извлекает этот сигнал в пригодные для использования столбцы. 🔍
Сначала разберите дату
Перед извлечением сведений из даты преобразуйте строку с помощью to_datetime. Только настоящий объект даты и времени предоставляет удобные части, которые можно извлечь.
df['ts'] = pd.to_datetime(df['ts'])Средство доступа dt
Средство доступа dt открывает части даты в столбце с датой и временем. Используйте его, чтобы получить год, месяц, день и другие значения одной строкой.
df['year'] = df['ts'].dt.year
df['month'] = df['ts'].dt.monthДень недели
Извлеките dayofweek, чтобы учитывать недельный ритм: понедельник имеет значение 0, а воскресенье — 6. Поведение часто сильно меняется в зависимости от дня недели.
df['weekday'] = df['ts'].dt.dayofweekПризнак выходного дня
Преобразуйте день недели в простой логический признак: является ли этот день выходным? Такие признаки «да» или «нет» моделям легко изучать.
df['is_weekend'] = df['ts'].dt.dayofweek >= 5Циклическое время
Час 23 находится прямо рядом с часом 0, хотя числа выглядят далёкими друг от друга. Циклическое кодирование с помощью синуса и косинуса исправляет этот переход через границу.
Текст: длина и количество
Начните с простых признаков текста. Длина отзыва в символах или количество слов часто оказывается неожиданно сильным признаком.
df['len'] = df['review'].str.len()
df['words'] = df['review'].str.split().str.len()Поиск ключевого слова
Проверьте, содержит ли текст ключевой термин, с помощью str.contains. Столбец для таких слов, как «возврат», может чётко отражать намерение.
df['has_refund'] = df['review'].str.contains('refund')Мешок слов
Чтобы использовать сами слова, подсчитайте их. Мешок слов превращает текст в отдельный столбец для каждого термина, где указано, сколько раз он встречается.
from sklearn.feature_extraction.text import CountVectorizer
X = CountVectorizer().fit_transform(df['review'])TF-IDF взвешивает слова
Простые подсчёты переоценивают часто встречающиеся слова. TF-IDF повышает вес терминов, которые часто встречаются в одной строке, но редко — в целом, поэтому отличительные слова выделяются.
from sklearn.feature_extraction.text import TfidfVectorizer
X = TfidfVectorizer().fit_transform(df['review'])Избегайте признаков с утечкой
Никогда не создавайте признак из информации, недоступной во время предсказания. Признак с утечкой завышает оценки при тестировании, а затем не работает в реальном мире.
Быстрая проверка
У Вас есть столбец с датой и временем, и Вы хотите получить номер дня недели. Что Вы используете?
Повторение: признаки даты и текста
Вы извлекли полезный сигнал из исходных полей: разобрали даты, затем использовали dt для получения частей и признаков, а текст преобразовали в длины, признаки ключевых слов или подсчёты слов. 🎉
Изучай Python с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Создание признаков из дат и текста» бесплатный?
Да — полный текст урока «Создание признаков из дат и текста» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Data Science Academy, подпишись на CoddyKit PRO. Курс Data Science Academy содержит 4 уроков всего.
Чему я научусь в уроке «Создание признаков из дат и текста»?
Извлечение полезного сигнала из исходных полей Ты практикуешь Data Science Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Data Science Academy?
Предыдущий опыт не требуется. Data Science Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Создание признаков из дат и текста»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Data Science Academy?
Да. Каждый урок Data Science Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Преобразование чисел в категории
- Кодирование категориальных столбцов
- Масштабирование и нормализация чисел
- Создание признаков из дат и текста