1. Для выбора двух лучших моделей по метрике accuracy можно использовать следующий код:
```python
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
# Оценка качества моделей на обучающей выборке
train_acc = accuracy_score(y_train, model.predict(X_train))
train_prec = precision_score(y_train, model.predict(X_train))
train_rec = recall_score(y_train, model.predict(X_train))
train_f1 = f1_score(y_train, model.predict(X_train))
# Оценка качества моделей на тестовой выборке
test_acc = accuracy_score(y_test, model.predict(X_test))
test_prec = precision_score(y_test, model.predict(X_test))
test_rec = recall_score(y_test, model.predict(X_test))
test_f1 = f1_score(y_test, model.predict(X_test))
```
2. Для получения матрицы ошибок и расчета метрик accuracy, precision, recall и F–меры можно использовать следующий код:
```python
from sklearn.metrics import confusion_matrix
# Получение матрицы ошибок для тестовой выборки
conf_matrix = confusion_matrix(y_test, model.predict(X_test))
# Расчет метрик на основе матрицы ошибок
TP = conf_matrix[1, 1]
FP = conf_matrix[0, 1]
FN = conf_matrix[1, 0]
TN = conf_matrix[0, 0]
accuracy = (TP + TN) / (TP + FP + FN + TN)
precision = TP / (TP + FP)
recall = TP / (TP + FN)
f1 = 2 * (precision * recall) / (precision + recall)
```
3. После анализа всех результатов, можно выбрать лучшую модель по метрикам accuracy, precision, recall и F–меры. Лучшая модель будет та, которая показывает наилучшие результаты по всем этим метрикам.
Код, приведенный выше, позволяет провести оценку качества моделей и сравнить их результаты. В результате анализа можно сделать выводы о том, какая модель лучше справляется с задачей классификации и выбрать наиболее подходящую для конкретной ситуации.
После проведения всех этапов анализа и сравнения моделей, лучшая модель будет выбрана на основе оценки ее качества по метрикам precision, recall и F–меры, а также с учетом матрицы ошибок на тестовой выборке.