# Лабораторная работа №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]]
### Таблица сравнения
![[tab.PNG]]
### ВЫВОД:
По результатам трёх экспериментов наилучшими показателями качества обладает наивный байесовский метод - вне зависимости от разбиения выборки, он показывал стабильно высокие значения показателей качества (accuracy, precision, recall, f1-score и ROC AUC) без большого разброса между ними и их значениями между экспериментами.
Также, высокие результаты показал RandomForest (n=15), и хотя значения показателей качества ниже, чем у наивного байесовского метода, различие метрик Accuracy и ROC AUC от эксперимента к эксперименту имеют меньший разброс, что говорит о более высокой стабильности метода