Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

text_lab1

.pdf
Скачиваний:
22
Добавлен:
05.07.2022
Размер:
1.4 Mб
Скачать

accuracy

 

 

0.84

25

macro avg

0.83

0.83

0.83

25

weighted avg

0.84

0.84

0.84

25

roc_auc_score: 0.8333333333333334

11

9. Таблица с результатами:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Метод

Параметр

Accuracy

AUC ROC

Precision

Recall

F1-score

 

 

 

 

 

 

 

 

 

 

 

 

macro avg

weighted avg

macro avg

weighted avg

macro avg

weighted avg

 

 

 

0.80

 

 

 

 

 

 

 

 

к-

1

0.78

0.80

0.80

0.78

0.80

0.79

0.80

 

 

 

 

 

 

 

 

 

 

 

ближайших

 

0.84

 

 

 

 

 

 

 

 

3

0.83

0.83

0.84

0.83

0.84

0.83

0.84

 

соседей

 

0.84

 

 

 

 

 

 

 

 

(параметр

5

0.83

0.83

0.84

0.83

0.84

0.83

0.84

 

n_neighbours)

 

 

 

 

 

 

 

 

 

 

9

0.92

0.90

0.94

0.93

0.90

0.92

0.91

0.92

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наивный

-

0.84

0.83

0.83

0.84

0.83

0.84

0.83

0.84

 

байесовский

 

 

 

 

 

 

 

 

 

 

 

 

 

0.88

 

 

 

 

 

 

 

 

 

5

0.87

0.88

0.88

0.87

0.88

0.87

0.88

 

Случайный

 

0.84

 

 

 

 

 

 

 

 

10

0.83

0.83

0.84

0.83

0.84

0.83

0.84

 

лес

 

 

 

 

 

 

 

 

 

 

15

0.80

0.80

0.79

0.81

0.80

0.80

0.79

0.80

 

(параметр

 

 

 

 

 

 

 

 

 

 

 

n_estimators)

 

0.88

 

 

 

 

 

 

 

 

20

0.87

0.88

0.88

0.87

0.88

0.87

0.88

 

 

 

0.84

 

 

 

 

 

 

 

 

 

50

0.83

0.83

0.84

0.83

0.84

0.83

0.84

 

 

 

 

 

 

 

 

 

 

 

Вывод: наилучшие значения (наиболее близкие к единице) метрик accuracy, AUC ROC, precision, recall, f1-score были получены для метода классификации к-ближайших соседей при параметре n_neighbours равном 9, следовательно, при разбиении исходных данных на обучающую и тестовую выборки в соотношении 75% - 25% данный метод классификации можно считать наилучшим. Из графика области принятия решения видно, что классификатор достаточно точно, насколько это возможно без переобучения, провел границу между классами на основании представленных данных. При таком методе классификации 4 предсказанные метки не совпали с истинными при общем числе меток 25; 2 метки были неверно отнесены к положительному классу и две – к отрицательному классу.

10. Разбиение данных на обучающую и тестовую выборку в соотношении 90% - 10%.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.1, random_state = 1, )

plt.scatter (X_train[:,0], X_train[:,1], c=y_train)

plt.show

plt.scatter (X_test[:,0], X_test[:,1], c=y_test)

plt.show

1) Метод к-ближайших соседей при n_neighbors=1:

Prediction and test:

 

 

 

[0 0 1 1 0 0 0 0 0 0]

 

 

 

[0 0 1 1 0 0 0 1 0 0]

 

 

 

Confusion matrix:

 

 

 

[[7 0]

 

 

 

 

[1 2]]

 

 

 

 

Accuracy score:

0.9

 

 

 

precision

recall

f1-score

support

0

0.88

1.00

0.93

7

1

1.00

0.67

0.80

3

accuracy

 

 

0.90

10

macro avg

0.94

0.83

0.87

10

weighted avg

0.91

0.90

0.89

10

roc_auc_score: 0.8333333333333333

2) Метод к-ближайших соседей при n_neighbors=3:

Prediction and test:

 

 

 

 

[0 0 1 1 0 0 0 1 0 0]

 

 

 

 

[0 0 1 1 0 0 0 1 0 0]

 

 

 

 

Confusion matrix:

 

 

 

 

[[7 0]

 

 

 

 

[0 3]]

 

 

 

 

Accuracy score: 1.0

 

 

 

 

precision

recall

f1-score

support

0

1.00

1.00

1.00

7

1

1.00

1.00

1.00

3

accuracy

 

 

1.00

10

macro avg

1.00

1.00

1.00

10

weighted avg

1.00

1.00

1.00

10

roc_auc_score: 1.0

3) Метод к-ближайших соседей при n_neighbors=5:

Prediction and test:

 

 

 

[0 0 1 1 0 0 0 1 0 0]

 

 

 

[0 0 1 1 0 0 0 1 0 0]

 

 

 

Confusion matrix:

 

 

 

[[7 0]

 

 

 

 

[0 3]]

 

 

 

 

Accuracy score:

1.0

 

 

 

precision

recall

f1-score

support

0

1.00

1.00

1.00

7

1

1.00

1.00

1.00

3

14

accuracy

 

 

1.00

10

macro avg

1.00

1.00

1.00

10

weighted avg

1.00

1.00

1.00

10

roc_auc_score: 1.0

4) Метод к-ближайших соседей при n_neighbors=9:

Prediction and test:

 

 

 

[0 0 1 1 0 0 0 1 0 0]

 

 

 

[0 0 1 1 0 0 0 1 0 0]

 

 

 

Confusion matrix:

 

 

 

[[7 0]

 

 

 

 

[0 3]]

 

 

 

 

Accuracy score:

1.0

 

 

 

precision

recall

f1-score

support

0

1.00

1.00

1.00

7

1

1.00

1.00

1.00

3

accuracy

 

 

1.00

10

macro avg

1.00

1.00

1.00

10

weighted avg

1.00

1.00

1.00

10

roc_auc_score: 1.0

5) Наивный байесовский метод: Prediction and test:

[0 1 1 1 1 0 0 1 0 0] [0 0 1 1 0 0 0 1 0 0] Confusion matrix:

[[5 2] [0 3]]

15

Accuracy score: 0.8

precision recall f1-score support

0

1.00

0.71

0.83

7

1

0.60

1.00

0.75

3

accuracy

 

0.80

10

macro avg

0.80

0.86

0.79

10

weighted avg

0.88

0.80

0.81

10

roc_auc_score: 0.8571428571428572

6) Случайный лес при n_estimators=5: Prediction and test:

[0 1 1 1 1 0 0 1 1 0] [0 0 1 1 0 0 0 1 0 0] Confusion matrix:

[[4 3] [0 3]]

Accuracy score: 0.7

precision recall f1-score support

0

1.00

0.57

0.73

7

1

0.50

1.00

0.67

3

accuracy

 

 

0.70

10

macro avg

0.75

0.79

0.70

10

weighted avg

0.85

0.70

0.71

10

roc_auc_score: 0.7857142857142857

16

7) Случайный лес при n_estimators=10:

Prediction and test:

 

 

 

[0 0 1 1 0 0 0 1 0 0]

 

 

 

[0 0 1 1 0 0 0 1 0 0]

 

 

 

Confusion matrix:

 

 

 

[[7 0]

 

 

 

 

[0 3]]

 

 

 

 

Accuracy score:

1.0

 

 

 

precision

recall

f1-score

support

0

1.00

1.00

1.00

7

1

1.00

1.00

1.00

3

accuracy

 

 

1.00

10

macro avg

1.00

1.00

1.00

10

weighted avg

1.00

1.00

1.00

10

roc_auc_score: 1.0

8) Случайный лес при n_estimators=15: Prediction and test:

[0 0 1 1 1 0 0 1 0 0] [0 0 1 1 0 0 0 1 0 0] Confusion matrix:

[[6 1] [0 3]]

Accuracy score: 0.9

precision recall f1-score support

0

1.00

0.86

0.92

7

1

0.75

1.00

0.86

3

accuracy

 

 

0.90

10

macro avg

0.88

0.93

0.89

10

weighted avg

0.93

0.90

0.90

10

roc_auc_score: 0.9285714285714286

17

9) Случайный лес при n_estimators=20: Prediction and test:

[0 0 1 1 1 0 0 1 0 0] [0 0 1 1 0 0 0 1 0 0] Confusion matrix:

[[6 1] [0 3]]

Accuracy score: 0.9

precision recall f1-score support

0

1.00

0.86

0.92

7

1

0.75

1.00

0.86

3

accuracy

 

 

0.90

10

macro avg

0.88

0.93

0.89

10

weighted avg

0.93

0.90

0.90

10

roc_auc_score: 0.9285714285714286

10) Случайный лес при n_estimators=50: Prediction and test:

[0 0 1 1 1 0 0 1 0 0] [0 0 1 1 0 0 0 1 0 0] Confusion matrix:

[[6 1] [0 3]]

Accuracy score: 0.9

precision recall f1-score support

18

0

1.00

0.86

0.92

7

1

0.75

1.00

0.86

3

accuracy

 

 

0.90

10

macro avg

0.88

0.93

0.89

10

weighted avg

0.93

0.90

0.90

10

roc_auc_score: 0.9285714285714286

19

Таблица с результатами:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Метод

Параметр

Accuracy

AUC ROC

Precision

Recall

F1-score

 

 

 

 

 

 

 

 

 

 

 

 

macro avg

weighted avg

macro avg

weighted avg

macro avg

weighted avg

 

 

 

0.90

 

 

 

 

 

 

 

 

к-

1

0.83

0.94

0.91

0.83

0.90

0.87

0.89

 

 

 

 

 

 

 

 

 

 

 

ближайших

 

1.00

 

 

 

 

 

 

 

 

3

1.00

1.00

1.00

1.00

1.00

1.00

1.00

 

соседей

 

1.00

 

 

 

 

 

 

 

 

(параметр

5

1.00

1.00

1.00

1.00

1.00

1.00

1.00

 

n_neighbours)

 

 

 

 

 

 

 

 

 

 

9

1.00

1.00

1.00

1.00

1.00

1.00

1.00

1.00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наивный

-

0.80

0.86

0.80

0.88

0.86

0.80

0.79

0.81

 

байесовский

 

 

 

 

 

 

 

 

 

 

 

 

 

0.70

 

 

 

 

 

 

 

 

 

5

0.79

0.75

0.85

0.79

0.70

0.70

0.71

 

Случайный

 

1.00

 

 

 

 

 

 

 

 

10

1.00

1.00

1.00

1.00

1.00

1.00

1.00

 

лес

 

 

 

 

 

 

 

 

 

 

15

0.90

0.93

0.88

0.93

0.93

0.90

0.89

0.90

 

(параметр

 

 

 

 

 

 

 

 

 

 

 

n_estimators)

 

0.90

 

 

 

 

 

 

 

 

20

0.93

0.88

0.93

0.93

0.90

0.89

0.90

 

 

 

0.90

 

 

 

 

 

 

 

 

 

50

0.93

0.88

0.93

0.93

0.90

0.89

0.90

 

 

 

 

 

 

 

 

 

 

 

Вывод: наилучшие значения, равные единице, метрик accuracy, AUC ROC, precision, recall, f1-score были получены для метода классификации к- ближайших соседей при параметре n_neighbours = 3, 5, 9, и метода «случайный лес» при параметре n_estimators = 10. Судя по графику области принятия решений для метода «случайный лес», данный метод не следует использовать для классификации. Следовательно, при разбиении исходных данных на обучающую и тестовую выборки в соотношении 90% - 10% метод классификации к-ближайших соседей при параметре n_neighbours = 3, 5, 9 можно считать наилучшим.

Сравнение полученных значений со значениями при разбиении данных 75% - 25% показывает, что разбиение 90% - 10% позволяет получить более качественные результаты, при которых значения всех метрик равны единице.

Соседние файлы в предмете Основы анализа текстовых данных