Настройка случайного леса для обнаружения мошенничества
В этом упражнении вы подробно изучите параметры классификатора на основе случайного леса: назначите веса и настроите форму деревьев решений в лесе. Вы зададите веса вручную, чтобы частично компенсировать дисбаланс классов. В нашем случае 300 мошеннических транзакций приходится на 7000 обычных, поэтому при соотношении весов 1:12 мы получим примерно 1/3 мошеннических и 2/3 обычных случаев — этого вполне достаточно для обучения модели.
Данные в этом упражнении уже разделены на обучающую и тестовую выборки, поэтому вам нужно сосредоточиться только на определении модели. Затем вы можете воспользоваться функцией get_model_results() как сокращённым способом выполнить все шаги: функция обучает модель на обучающих данных, делает предсказания и вычисляет метрики качества — так же, как вы делали это в предыдущих упражнениях.
Это упражнение является частью курса
Обнаружение мошенничества на Python
Инструкции к упражнению
- Измените параметр
weight, чтобы задать соотношение весов 1 к 12 для обычных и мошеннических случаев соответственно, и установите критерий разбиения 'entropy'. - Установите максимальную глубину дерева равной 10.
- Установите минимальное количество образцов в листовых узлах равным 10.
- Установите количество деревьев в модели равным 20.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Change the model options
model = RandomForestClassifier(bootstrap=True, class_weight={0:____, 1:____}, criterion='____',
# Change depth of model
max_depth=____,
# Change the number of samples in leaf nodes
min_samples_leaf=____,
# Change the number of trees to use
n_estimators=____, n_jobs=-1, random_state=5)
# Run the function get_model_results
get_model_results(X_train, y_train, X_test, y_test, model)