Data Science Academy · Урок

Создание признаков из дат и текста

Извлечение полезного сигнала из исходных полей

Урок 4 из 413 шагов

«Создание признаков из дат и текста» — бесплатный урок 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 — локальная установка не требуется.

Все уроки этого курса

  1. Преобразование чисел в категории
  2. Кодирование категориальных столбцов
  3. Масштабирование и нормализация чисел
  4. Создание признаков из дат и текста
← Назад к Data Science Academy