# Лабораторная работа №1 ### Бинарная классификация фактографических данных --- Выполнила: Мачулина Дарья Группа: А-02-22 Вариант 9 --- ### 1. Создать новый ноутбук (Notebook) и импортировать необходимые для работы библиотеки и модули ```python import numpy as np # `ребуемые модули из sklearn from sklearn.datasets import make_classification from sklearn.metrics import confusion_matrix, classification_report, accuracy_score, roc_auc_score from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier #Графики import matplotlib.pyplot as plt ``` Для отображения на графике области принятия решения - готовую функцию `plot_2d_separator`, которой нужно передать на вход объект `classifier` – модель классификатора и `X` – массив входных данных: ```python def plot_2d_separator(classifier, X, fill=False, line=True, ax=None, eps=None): if eps is None: eps = 1.0 #X.std() / 2. x_min, x_max = X[:, 0].min() - eps, X[:, 0].max() + eps y_min, y_max = X[:, 1].min() - eps, X[:, 1].max() + eps xx = np.linspace(x_min, x_max, 100) yy = np.linspace(y_min, y_max, 100) X1, X2 = np.meshgrid(xx, yy) X_grid = np.c_[X1.ravel(), X2.ravel()] try: decision_values = classifier.decision_function(X_grid) levels = [0] fill_levels = [decision_values.min(), 0, decision_values.max()] except AttributeError: # no decision_function decision_values = classifier.predict_proba(X_grid)[:, 1] levels = [.5] fill_levels = [0, .5, 1] if ax is None: ax = plt.gca() if fill: ax.contourf(X1, X2, decision_values.reshape(X1.shape), levels=fill_levels, colors=['cyan', 'pink', 'yellow']) if line: ax.contour(X1, X2, decision_values.reshape(X1.shape), levels=levels, colors="black") ax.set_xlim(x_min, x_max) ax.set_ylim(y_min, y_max) ax.set_xticks(()) ax.set_yticks(()) ``` --- ### 2. Загрузить данные в соответствии с вариантом и вывести первые 15 точек с метками классaа ```python X, y = make_classification(n_features=2, random_state = 78, class_sep = 0.45, n_redundant=0, n_informative=1, n_clusters_per_class=1, n_samples = 1000) ``` ```python print ("Координаты точек: ") print (X[:15]) print ("Метки класса: ") print (y[:15]) ``` Координаты точек: [ 1.48828264e+00 -7.10442604e-01] [-7.10253928e-01 6.93938341e-01] [ 5.33444250e-01 -1.31136377e+00] [ 1.08104452e+00 5.34466225e-01] [-3.97224728e-01 1.29783335e-01] [ 1.12862644e-01 5.10913913e-01] [ 7.13520454e-04 7.42926105e-01] [-1.50699375e+00 -1.51932200e+00] [-7.09257115e-01 4.58339246e-01] [-1.51395805e+00 -1.13202013e-01] [ 1.64173194e+00 5.62099713e-01] [-2.07311044e+00 -7.20098263e-01] [ 1.21634891e+00 4.34451064e-01] [-1.39209028e+00 5.71283980e-01] [ 4.57465767e-01 5.26568280e-01] Метки класса: [0 1 0 1 0 1 0 0 1 0 1 0 1 1 1] --- ### 3. Отображение на графике сгенерированных данных ```python plt.scatter (X[:,0], X[:,1], c=y) plt.show ``` ![[1.png]] --- ### 4. Разбиение выборки на тестовое и обучающее множества. Отображение выборок на графиках ```python X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 1) ``` **Обучающая выборка** ```python plt.figure(figsize=(7, 5)) plt.scatter( X_train[:, 0], X_train[:, 1], c=y_train, label="train" ) plt.title("Обучающая выборка") plt.xlabel("x1") plt.ylabel("x2") plt.grid(True, alpha=0.3) plt.show() ``` ![[train.png]] **Тестовая выборка** ```python plt.figure(figsize=(7, 5)) # Тестовая выборка plt.scatter( X_test[:, 0], X_test[:, 1], c=y_test, label="test" ) plt.title("Тестовая выборка") plt.xlabel("x1") plt.ylabel("x2") plt.grid(True, alpha=0.3) plt.show() ``` ![[test.png]] --- ### 5. Реализация модели классификации: метод k-ближайших соседей **n_neighbours = 1** ```python knn = KNeighborsClassifier(n_neighbors=1, metric = 'euclidean') knn.fit(X_train, y_train) prediction = knn.predict(X_test) ``` **Оценка качества модели**: - Предсказанные и истинные значения ```python print ('Prediction and test: ') print (prediction) print (y_test) ``` Prediction and test: [0 1 1 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 1 1 0 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 0 0 0 0] [0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0] - Матрица неточностей ```python print ('Confusion matrix: ') print (confusion_matrix(y_test, prediction)) ``` Confusion matrix: [[97 31] [23 99]]] - Оценка аккуратности классификации ```python print ('Accuracy score: ', accuracy_score(prediction, y_test)) ``` Accuracy score: 0.784 - Оценка показателей полноты, точности и f-1 меры ```python print(classification_report(y_test, prediction)) ```
precision recall f1-score support
0 0.81 0.76 0.78 128
1 0.76 0.81 0.79 122
accuracy 0.78 250
macro avg 0.78 0.78 0.78 250
weighted avg 0.79 0.78 0.78 250
- Оценка показателя AUC ROC ```python roc_auc_score(y_test, prediction) ``` 0.7846439549180328 - Отображение области принятия решений по каждому классу ```python plt.xlabel("first feature") plt.ylabel("second feature") plot_2d_separator(knn, X, fill=True) plt.scatter(X[:, 0], X[:, 1], c=y, s=70) ``` ![[RS1.png]] **n_neighbours = 3** ```python knn = KNeighborsClassifier(n_neighbors=3, metric = 'euclidean') knn.fit(X_train, y_train) prediction = knn.predict(X_test) ``` **Оценка качества модели**: - Предсказанные и истинные значения ```python print ('Prediction and test: ') print (prediction) print (y_test) ``` Prediction and test: [0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 0] [0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0] - Матрица неточностей ```python print ('Confusion matrix: ') print (confusion_matrix(y_test, prediction)) ``` Confusion matrix: [[97 31] [8 114]] - Оценка аккуратности классификации ```python print ('Accuracy score: ', accuracy_score(prediction, y_test)) ``` Accuracy score: 0.844 - Оценка показателей полноты, точности и f-1 меры ```python print(classification_report(y_test, prediction)) ```
precision recall f1-score support
0 0.92 0.76 0.83 128
1 0.79 0.93 0.85 122
accuracy 0.84 250
macro avg 0.86 0.85 0.84 250
weighted avg 0.86 0.84 0.84 250
- Оценка показателя AUC ROC ```python roc_auc_score(y_test, prediction) ``` 0.8461193647540983 - Отображение области принятия решений по каждому классу ```python plt.xlabel("first feature") plt.ylabel("second feature") plot_2d_separator(knn, X, fill=True) plt.scatter(X[:, 0], X[:, 1], c=y, s=70) ``` ![[RS3.png]] **n_neighbours = 9** ```python knn = KNeighborsClassifier(n_neighbors=9, metric = 'euclidean') knn.fit(X_train, y_train) prediction = knn.predict(X_test) ``` **Оценка качества модели**: - Предсказанные и истинные значения ```python print ('Prediction and test: ') print (prediction) print (y_test) ``` Prediction and test: [0 1 1 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 0 0] [0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0] - Матрица неточностей ```python print ('Confusion matrix: ') print (confusion_matrix(y_test, prediction)) ``` Confusion matrix: [[97 31] [2 120]] - Оценка аккуратности классификации ```python print ('Accuracy score: ', accuracy_score(prediction, y_test)) ``` Accuracy score: 0.868 - Оценка показателей полноты, точности и f-1 меры ```python print(classification_report(y_test, prediction)) ```
precision recall f1-score support
0 0.98 0.76 0.85 128
1 0.79 0.98 0.88 122
accuracy 0.87 250
macro avg 0.89 0.87 0.87 250
weighted avg 0.89 0.87 0.87 250
- Оценка показателя AUC ROC ```python roc_auc_score(y_test, prediction) ``` 0.8707095286885246 - Отображение области принятия решений по каждому классу ```python plt.xlabel("first feature") plt.ylabel("second feature") plot_2d_separator(knn, X, fill=True) plt.scatter(X[:, 0], X[:, 1], c=y, s=70) ``` ![[RS9.png]] --- ### 6. Реализация модели классификации: наивный байесовский метод ```python from sklearn.naive_bayes import GaussianNB ``` ```python gnb=GaussianNB() gnb.fit(X_train, y_train) prediction = gnb.predict(X_test) ``` **Оценка качества модели**: - Предсказанные и истинные значения ```python print ('Prediction and test: ') print (prediction) print (y_test) ``` Prediction and test: [0 1 1 0 1 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 0 0] [0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0] - Матрица неточностей ```python print ('Confusion matrix: ') print (confusion_matrix(y_test, prediction)) ``` Confusion matrix: [[96 32] [0 122]] - Оценка аккуратности классификации ```python print ('Accuracy score: ', accuracy_score(prediction, y_test)) ``` Accuracy score: 0.872 - Оценка показателей полноты, точности и f-1 меры ```python print(classification_report(y_test, prediction)) ```
precision recall f1-score support
0 1.00 0.75 0.86 128
1 0.79 1.00 0.88 122
accuracy 0.87 250
macro avg 0.90 0.88 0.87 250
weighted avg 0.90 0.87 0.87 250
- Оценка показателя AUC ROC ```python roc_auc_score(y_test, prediction) ``` 0.875 - Отображение области принятия решений по каждому классу ```python plt.xlabel("first feature") plt.ylabel("second feature") plot_2d_separator(gnb, X, fill=True) plt.scatter(X[:, 0], X[:, 1], c=y, s=70) ``` ![[NB.png]] --- ### 7. Реализация модели классификации: метод "Случайный лес" **n_estimators = 5** ```python from sklearn.ensemble import RandomForestClassifier ``` ```python rf=RandomForestClassifier(n_estimators=5,random_state=42) rf.fit(X_train, y_train) prediction = rf.predict(X_test) ``` **Оценка качества модели**: - Предсказанные и истинные значения ```python print ('Prediction and test: ') print (prediction) print (y_test) ``` Prediction and test: [0 1 1 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0] [0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0] - Матрица неточностей ```python print ('Confusion matrix: ') print (confusion_matrix(y_test, prediction)) ``` Confusion matrix: [[103 25] [12 110]] - Оценка аккуратности классификации ```python print ('Accuracy score: ', accuracy_score(prediction, y_test)) ``` Accuracy score: 0.852 - Оценка показателей полноты, точности и f-1 меры ```python print(classification_report(y_test, prediction)) ```
precision recall f1-score support
0 0.90 0.80 0.85 128
1 0.81 0.90 0.86 122
accuracy 0.85 250
macro avg 0.86 0.85 0.85 250
weighted avg 0.86 0.85 0.85 250
- Оценка показателя AUC ROC ```python roc_auc_score(y_test, prediction) ``` 0.8531634221311475 - Отображение области принятия решений по каждому классу ```python plt.xlabel("first feature") plt.ylabel("second feature") plot_2d_separator(rf, X, fill=True) plt.scatter(X[:, 0], X[:, 1], c=y, s=70) ``` ![[RF5.png]] **n_estimators = 15** ```python from sklearn.ensemble import RandomForestClassifier ``` ```python rf=RandomForestClassifier(n_estimators=15,random_state=42) rf.fit(X_train, y_train) prediction = rf.predict(X_test) ``` **Оценка качества модели**: - Предсказанные и истинные значения ```python print ('Prediction and test: ') print (prediction) print (y_test) ``` Prediction and test: [0 1 1 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 0] [0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0] - Матрица неточностей ```python print ('Confusion matrix: ') print (confusion_matrix(y_test, prediction)) ``` Confusion matrix: [[104 24] [6 116]] - Оценка аккуратности классификации ```python print ('Accuracy score: ', accuracy_score(prediction, y_test)) ``` Accuracy score: 0.88 - Оценка показателей полноты, точности и f-1 меры ```python print(classification_report(y_test, prediction)) ```
precision recall f1-score support
0 0.95 0.81 0.87 128
1 0.83 0.95 0.89 122
accuracy 0.88 250
macro avg 0.89 0.88 0.88 250
weighted avg 0.89 0.88 0.88 250
- Оценка показателя AUC ROC ```python roc_auc_score(y_test, prediction) ``` 0.8816598360655737 - Отображение области принятия решений по каждому классу ```python plt.xlabel("first feature") plt.ylabel("second feature") plot_2d_separator(rf, X, fill=True) plt.scatter(X[:, 0], X[:, 1], c=y, s=70) ``` ![[RF15.png]] **n_estimators = 50** ```python from sklearn.ensemble import RandomForestClassifier ``` ```python rf=RandomForestClassifier(n_estimators=50,random_state=42) rf.fit(X_train, y_train) prediction = rf.predict(X_test) ``` **Оценка качества модели**: - Предсказанные и истинные значения ```python print ('Prediction and test: ') print (prediction) print (y_test) ``` Prediction and test: [0 1 1 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 0] [0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0] - Матрица неточностей ```python print ('Confusion matrix: ') print (confusion_matrix(y_test, prediction)) ``` Confusion matrix: [[104 24] [7 115]] - Оценка аккуратности классификации ```python print ('Accuracy score: ', accuracy_score(prediction, y_test)) ``` Accuracy score: 0.876 - Оценка показателей полноты, точности и f-1 меры ```python print(classification_report(y_test, prediction)) ```
precision recall f1-score support
0 0.94 0.81 0.87 128
1 0.83 0.94 0.88 122
accuracy 0.88 250
macro avg 0.88 0.88 0.88 250
weighted avg 0.88 0.88 0.88 250
- Оценка показателя AUC ROC ```python roc_auc_score(y_test, prediction) ``` 0.8775614754098361 - Отображение области принятия решений по каждому классу ```python plt.xlabel("first feature") plt.ylabel("second feature") plot_2d_separator(rf, X, fill=True) plt.scatter(X[:, 0], X[:, 1], c=y, s=70) ``` ![[RF50.png]] ### 8. Исследование для Random State = 2 ![[train(2).png]] ![[test(2).png]] **n_neighbours = 1** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1] [0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1] - Матрица неточностей Confusion matrix: [[89 25] [14 122]]] - Оценка аккуратности классификации Accuracy score: 0.844 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.86 0.78 0.82 114
1 0.83 0.90 0.86 136
accuracy 0.84 250
macro avg 0.85 0.84 0.84 250
weighted avg 0.85 0.84 0.84 250
- Оценка показателя AUC ROC 0.8388802889576883 - Отображение области принятия решений по каждому классу ![[RS1(2).png]] **n_neighbours = 3** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 1 1] [0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1] - Матрица неточностей Confusion matrix: [[89 25] [9 127]]] - Оценка аккуратности классификации Accuracy score: 0.864 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.91 0.78 0.84 114
1 0.84 0.93 0.88 136
accuracy 0.86 250
macro avg 0.87 0.86 0.86 250
weighted avg 0.87 0.86 0.86 250
- Оценка показателя AUC ROC 0.8572626418988647 - Отображение области принятия решений по каждому классу ![[RS3(2).png]] **n_neighbours = 9** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1] [0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1] - Матрица неточностей Confusion matrix: [[89 25] [1 135]]] - Оценка аккуратности классификации Accuracy score: 0.896 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.99 0.78 0.87 114
1 0.84 0.99 0.91 136
accuracy 0.90 250
macro avg 0.92 0.89 0.89 250
weighted avg 0.91 0.90 0.89 250
- Оценка показателя AUC ROC 0.8866744066047471 - Отображение области принятия решений по каждому классу ![[RS9(2).png]] **GaussianNB** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1] [0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1] - Матрица неточностей Confusion matrix: [[88 26] [1 135]]] - Оценка аккуратности классификации Accuracy score: 0.892 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.99 0.77 0.87 114
1 0.84 0.99 0.91 136
accuracy 0.89 250
macro avg 0.91 0.88 0.89 250
weighted avg 0.91 0.89 0.89 250
- Оценка показателя AUC ROC 0.8822884416924665 - Отображение области принятия решений по каждому классу ![[NB(2).png]] **n_estimators = 5** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1] [0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1] - Матрица неточностей Confusion matrix: [[91 23] [[[10 126]]] - Оценка аккуратности классификации Accuracy score: 0.868 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.90 0.80 0.85 114
1 0.85 0.93 0.88 136
accuracy 0.87 250
macro avg 0.87 0.86 0.87 250
weighted avg 0.87 0.87 0.87 250
- Оценка показателя AUC ROC 0.862358101135191 - Отображение области принятия решений по каждому классу ![[RF5(2).png]] **n_estimators = 15** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1] [0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1] - Матрица неточностей Confusion matrix: [[90 24] [7 129]]] - Оценка аккуратности классификации Accuracy score: 0.876 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.93 0.79 0.85 114
1 0.84 0.95 0.89 136
accuracy 0.88 250
macro avg 0.89 0.87 0.87 250
weighted avg 0.88 0.88 0.87 250
- Оценка показателя AUC ROC 0.8690015479876161 - Отображение области принятия решений по каждому классу **n_estimators = 50** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1] [0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1] - Матрица неточностей Confusion matrix: [[90 24] [7 129]]] - Оценка аккуратности классификации Accuracy score: 0.876 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.93 0.79 0.85 114
1 0.84 0.95 0.89 136
accuracy 0.88 250
macro avg 0.89 0.87 0.87 250
weighted avg 0.88 0.88 0.87 250
- Оценка показателя AUC ROC 0.8690015479876161 - Отображение области принятия решений по каждому классу ![[RF50(2).png]] ### 9. Исследование для Random State = 3 ![[train(3).png]] ![[test(3).png]] **n_neighbours = 1** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1] [1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1] - Матрица неточностей Confusion matrix: [[105 25] [18 102]]] - Оценка аккуратности классификации Accuracy score: 0.828 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.85 0.81 0.83 130
1 0.80 0.85 0.83 120
accuracy 0.83 250
macro avg 0.83 0.83 0.83 250
weighted avg 0.83 0.83 0.83 250
- Оценка показателя AUC ROC 0.8288461538461539 - Отображение области принятия решений по каждому классу ![[RS1(3).png]] **n_neighbours = 3** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1] [1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1] - Матрица неточностей Confusion matrix: [[104 26] [6 114]]] - Оценка аккуратности классификации Accuracy score: 0.872 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.95 0.80 0.87 130
1 0.81 0.95 0.88 120
accuracy 0.87 250
macro avg 0.88 0.88 0.87 250
weighted avg 0.88 0.87 0.87 250
- Оценка показателя AUC ROC 0.875 - Отображение области принятия решений по каждому классу ![[RS3(3).png]] **n_neighbours = 9** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [1 1 1 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1] [1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1] - Матрица неточностей Confusion matrix: [[100 30] [3 117]]] - Оценка аккуратности классификации Accuracy score: 0.868 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.97 0.77 0.86 130
1 0.80 0.97 0.88 120
accuracy 0.87 250
macro avg 0.88 0.87 0.87 250
weighted avg 0.89 0.87 0.87 250
- Оценка показателя AUC ROC 0.8721153846153846 - Отображение области принятия решений по каждому классу ![[RS9(3).png]] **GaussianNB** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1] [1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1] - Матрица неточностей Confusion matrix: [[107 23] [1 119]]] - Оценка аккуратности классификации Accuracy score: 0.904 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.99 0.82 0.90 130
1 0.84 0.99 0.91 120
accuracy 0.30 250
macro avg 0.91 0.91 0.90 250
weighted avg 0.92 0.90 0.90 250
- Оценка показателя AUC ROC 0.9073717948717948 - Отображение области принятия решений по каждому классу ![[NB(3).png]] **n_estimators = 5** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 0 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 0] [1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1] - Матрица неточностей Confusion matrix: [[107 23] [[[[11 109]]] - Оценка аккуратности классификации Accuracy score: 0.864 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.91 0.82 0.86 130
1 0.83 0.91 0.87 120
accuracy 0.86 250
macro avg 0.87 0.87 0.86 250
weighted avg 0.87 0.86 0.86 250
- Оценка показателя AUC ROC 0.8657051282051281 - Отображение области принятия решений по каждому классу ![[RF5(2).png]] **n_estimators = 15** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 0 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1] [1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1] - Матрица неточностей Confusion matrix: [[109 21] [8 112]]] - Оценка аккуратности классификации Accuracy score: 0.884 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.93 0.84 0.88 130
1 0.84 0.93 0.89 120
accuracy 0.88 250
macro avg 0.89 0.89 0.88 250
weighted avg 0.89 0.88 0.87 250
- Оценка показателя AUC ROC 0.885897435897436 - Отображение области принятия решений по каждому классу ![[RF15(3).png]] **n_estimators = 50** **Оценка качества модели**: - Предсказанные и истинные значения Prediction and test: [1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1] [1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1] - Матрица неточностей Confusion matrix: [[110 20] [9 111]]] - Оценка аккуратности классификации Accuracy score: 0.884 - Оценка показателей полноты, точности и f-1 меры
precision recall f1-score support
0 0.92 0.85 0.88 130
1 0.85 0.93 0.88 120
accuracy 0.88 250
macro avg 0.89 0.89 0.88 250
weighted avg 0.89 0.88 0.88 250
- Оценка показателя AUC ROC 0.885576923076923 - Отображение области принятия решений по каждому классу ![[RF50(3).png]] ### ВЫВОД: По результатам трёх экспериментов наилучшими показателями качества обладает наивный байесовский метод - вне зависимости от разбиения выборки, он показывал стабильно высокие значения показателей качества (accuracy, precision, recall, f1-score и ROC AUC) без большого разброса между ними и их значениями между экспериментами. Также, высокие результаты показал RandomForest (n=15), и хотя значения показателей качества ниже, чем у наивного байесовского метода, различие метрик Accuracy и ROC AUC от эксперимента к эксперименту имеют меньший разброс, что говорит о более высокой стабильности метода