0Pricing
Python Academy · Урок

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

Узнайте о методах повышения предсказательной способности моделей

«Создание и отбор признаков» — бесплатный урок Python Academy на CoddyKit. Это урок 4 из 6. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 6 уроков всего.

Конструирование и отбор признаков

Конструирование и отбор признаков

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

В этом уроке Вы изучите методы конструирования и отбора признаков для повышения точности прогнозирования.

Создание и отбор признаков — иллюстрация 1

Что такое конструирование признаков?

Что такое конструирование признаков?

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

  • Извлечение признаков, связанных со временем, например дня, месяца или часа, из временных меток.
  • Объединение нескольких признаков в новый признак.
  • Масштабирование числовых признаков для приведения их диапазонов к единому виду.

Создание новых признаков

Создание новых признаков

Давайте создадим новые признаки на основе имеющихся данных:

# Example: Creating new features
import pandas as pd

data = {'Timestamp': ['2025-01-01 12:00:00', '2025-01-02 15:30:00']}
df = pd.DataFrame(data)
df['Hour'] = pd.to_datetime(df['Timestamp']).dt.hour
df['Day'] = pd.to_datetime(df['Timestamp']).dt.day
print(df)

Масштабирование признаков

Масштабирование признаков

Масштабирование приводит все числовые признаки к одной шкале, что повышает эффективность модели:

# Example: Scaling features
from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
values = [[10], [20], [30]]
scaled_values = scaler.fit_transform(values)
print(scaled_values)

Отбор признаков

Отбор признаков

Отбор признаков включает выбор наиболее релевантных для модели признаков. К распространённым методам относятся:

  • Методы фильтрации: выбор признаков на основе статистических показателей, например корреляции.
  • Методы-обёртки: использование алгоритмов, например рекурсивного устранения признаков (RFE).
  • Встроенные методы: выбор признаков во время обучения модели, например регрессия Lasso.

Отбор признаков на основе корреляции

Отбор признаков на основе корреляции

Сильно коррелирующие признаки могут быть избыточными. Используйте Pandas для вычисления корреляций:

# Example: Correlation-based feature selection
import pandas as pd

data = {'Feature1': [1, 2, 3], 'Feature2': [2, 4, 6], 'Feature3': [1, 1, 1]}
df = pd.DataFrame(data)
print(df.corr())

Рекурсивное устранение признаков (RFE)

Рекурсивное устранение признаков (RFE)

RFE — это метод-обёртка, который итеративно удаляет наименее важные признаки:

# Example: RFE
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression

X = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
y = [0, 1, 0]
model = LogisticRegression()
rfe = RFE(model, n_features_to_select=2)
rfe.fit(X, y)
print("Selected Features:", rfe.support_)

Важность признаков в моделях на основе деревьев

Важность признаков в моделях на основе деревьев

Модели на основе деревьев, например случайные леса, предоставляют оценки важности признаков:

# Example: Feature importance
from sklearn.ensemble import RandomForestClassifier

X = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
y = [0, 1, 0]
model = RandomForestClassifier()
model.fit(X, y)
print("Feature Importances:", model.feature_importances_)

Распространённые ошибки при конструировании признаков

Распространённые ошибки при конструировании признаков

Вот несколько ошибок, которых следует избегать:

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

Что мы узнали?

Что мы узнали?

В этом уроке Вы узнали:

  • О важности конструирования и отбора признаков в машинном обучении.
  • О методах создания новых признаков и масштабирования числовых признаков.
  • Как выбирать релевантные признаки с помощью таких методов, как RFE, и моделей на основе деревьев.
  • О распространённых ошибках, которых следует избегать при конструировании признаков.

Отличная работа! Перейдём к следующей теме.

Создание и отбор признаков — иллюстрация 11

Часто задаваемые вопросы

Урок «Создание и отбор признаков» бесплатный?

Да — полный текст урока «Создание и отбор признаков» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 6 уроков всего.

Чему я научусь в уроке «Создание и отбор признаков»?

Узнайте о методах повышения предсказательной способности моделей Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Python Academy?

Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 6.

Сколько времени занимает урок «Создание и отбор признаков»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Python Academy?

Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

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

  1. Введение в машинное обучение
  2. Обучение с учителем с помощью Scikit-Learn
  3. Обучение без учителя
  4. Создание и отбор признаков
  5. Введение в нейронные сети
  6. Введение в TensorFlow и Keras
← Назад к Python Academy