ПочатиПочніть безкоштовно

Складніша модель bagging

Ознайомившись із даними про напівпровідники, побудуймо тепер класифікатор bagging, щоб передбачити мітку 'Pass/Fail' за вхідними ознаками.

Попередньо опрацьований набір даних доступний у вашому робочому середовищі як uci_secom, а тренувальну та тестову вибірки вже створено для вас.

Оскільки цільова змінна має сильний дисбаланс класів, використайте логістичну регресію з "balanced" як базову модель.

Також зменшимо час обчислень для LogisticRegression, задавши параметр solver='liblinear', який є швидшим оптимізатором, ніж параметр за замовчуванням.

Ця вправа є частиною курсу

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

Переглянути курс

Інструкції до вправи

  • Створіть екземпляр логістичної регресії для використання як базового класифікатора з параметрами: class_weight='balanced', solver='liblinear' та random_state=42.
  • Побудуйте класифікатор bagging, використовуючи логістичну регресію як базову модель, вказавши максимальну кількість ознак 10 та ввімкнувши оцінку out-of-bag.
  • Виведіть значення out-of-bag, щоб порівняти його з accuracy.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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))
Редагувати та запускати код