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

Что такое конструирование признаков?
Что такое конструирование признаков?
Конструирование признаков включает создание новых признаков на основе исходных данных, чтобы сделать модели машинного обучения эффективнее. Примеры:
- Извлечение признаков, связанных со временем, например дня, месяца или часа, из временных меток.
- Объединение нескольких признаков в новый признак.
- Масштабирование числовых признаков для приведения их диапазонов к единому виду.
Создание новых признаков
Создание новых признаков
Давайте создадим новые признаки на основе имеющихся данных:
# 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, и моделей на основе деревьев.
- О распространённых ошибках, которых следует избегать при конструировании признаков.
Отличная работа! Перейдём к следующей теме.

Часто задаваемые вопросы
Урок «Создание и отбор признаков» бесплатный?
Да — полный текст урока «Создание и отбор признаков» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 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 — локальная установка не требуется.
Все уроки этого курса
- Введение в машинное обучение
- Обучение с учителем с помощью Scikit-Learn
- Обучение без учителя
- Создание и отбор признаков
- Введение в нейронные сети
- Введение в TensorFlow и Keras