НачатьНачать бесплатно

Более сложная модель бэггинга

Изучив данные о полупроводниках, перейдём к построению классификатора на основе бэггинга для предсказания метки 'Pass/Fail' по входным признакам.

Предобработанный набор данных доступен в вашем рабочем пространстве под именем uci_secom; обучающая и тестовая выборки уже созданы.

Поскольку целевой признак сильно несбалансирован по классам, используйте в качестве базового классификатора логистическую регрессию с параметром "balanced".

Чтобы сократить время вычислений для LogisticRegression, применим параметр solver='liblinear' — этот оптимизатор работает быстрее, чем используемый по умолчанию.

Это упражнение является частью курса

Ансамблевые методы в Python

Посмотреть курс

Инструкции к упражнению

  • Создайте экземпляр логистической регрессии в качестве базового классификатора со следующими параметрами: class_weight='balanced', solver='liblinear' и random_state=42.
  • Постройте классификатор бэггинга, используя логистическую регрессию как базовый классификатор: задайте максимальное количество признаков равным 10 и включите оценку на внебагговой выборке.
  • Выведите оценку на внебагговой выборке, чтобы сравнить её с точностью.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Build a balanced logistic regression
clf_lr = ____

# Build and fit a bagging classifier
clf_bag = ____(____, ____, ____, random_state=500)
clf_bag.fit(X_train, y_train)

# Evaluate the accuracy on the test set and show the out-of-bag score
pred = clf_bag.predict(X_test)
print('Accuracy:  {:.2f}'.format(accuracy_score(y_test, pred)))
print('OOB-Score: {:.2f}'.format(____))

# Print the confusion matrix
print(confusion_matrix(y_test, pred))
Редактировать и запускать код