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

text_lab1

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

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

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.35, 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 1 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 0] [0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0] Confusion matrix:

[[19 3] [ 3 10]]

Accuracy score: 0.8285714285714286

precision recall f1-score support

0

0.86

0.86

0.86

22

1

0.77

0.77

0.77

13

accuracy

 

 

0.83

35

macro avg

0.82

0.82

0.82

35

weighted avg

0.83

0.83

0.83

35

roc_auc_score: 0.8164335664335665

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

Prediction and test:

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

[[21 1] [ 3 10]]

Accuracy score: 0.8857142857142857

precision recall f1-score support

0

0.88

0.95

0.91

22

1

0.91

0.77

0.83

13

accuracy

 

 

0.89

35

macro avg

0.89

0.86

0.87

35

weighted avg

0.89

0.89

0.88

35

roc_auc_score: 0.8618881118881119

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

Prediction and test:

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

[[20 2] [ 3 10]]

Accuracy score: 0.8571428571428571

precision recall f1-score support

22

0

0.87

0.91

0.89

22

1

0.83

0.77

0.80

13

accuracy

 

 

0.86

35

macro avg

0.85

0.84

0.84

35

weighted avg

0.86

0.86

0.86

35

roc_auc_score: 0.8391608391608392

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

Prediction and test:

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

[[21 1] [ 3 10]]

Accuracy score: 0.8857142857142857

precision recall f1-score support

0

0.88

0.95

0.91

22

1

0.91

0.77

0.83

13

accuracy

 

 

0.89

35

macro avg

0.89

0.86

0.87

35

weighted avg

0.89

0.89

0.88

35

roc_auc_score: 0.8618881118881119

23

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

Prediction and test:

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

[[20 2] [ 3 10]]

Accuracy score: 0.8571428571428571 precision recall f1-score support

0

0.87

0.91

0.89

22

1

0.83

0.77

0.80

13

accuracy

 

 

0.86

35

macro avg

0.85

0.84

0.84

35

weighted avg

0.86

0.86

0.86

35

roc_auc_score: 0.8391608391608392

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

Prediction and test:

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

[[19 3] [ 3 10]]

Accuracy score: 0.8285714285714286

precision recall f1-score support

0

0.86

0.86

0.86

22

1

0.77

0.77

0.77

13

accuracy

 

 

0.83

35

macro avg

0.82

0.82

0.82

35

weighted avg

0.83

0.83

0.83

35

roc_auc_score: 0.8164335664335665

24

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

Prediction and test:

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

[[21 1] [ 3 10]]

Accuracy score: 0.8857142857142857

precision recall f1-score support

0

0.88

0.95

0.91

22

1

0.91

0.77

0.83

13

accuracy

 

 

0.89

35

macro avg

0.89

0.86

0.87

35

weighted avg

0.89

0.89

0.88

35

roc_auc_score: 0.8618881118881119

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

Prediction and test:

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

[[21 1] [ 3 10]]

Accuracy score: 0.8857142857142857

precision recall f1-score support

25

0

0.88

0.95

0.91

22

1

0.91

0.77

0.83

13

accuracy

 

 

0.89

35

macro avg

0.89

0.86

0.87

35

weighted avg

0.89

0.89

0.88

35

roc_auc_score: 0.8618881118881119

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

Prediction and test:

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

Confusion matrix:

 

 

 

[[18

4]

 

 

 

 

[ 3 10]]

 

 

 

 

Accuracy score:

0.8

 

 

 

 

precision

recall

f1-score

support

 

0

0.86

0.82

0.84

22

 

1

0.71

0.77

0.74

13

 

accuracy

 

 

0.80

35

 

macro avg

0.79

0.79

0.79

35

weighted avg

0.80

0.80

0.80

35

roc_auc_score: 0.7937062937062936

26

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

Prediction and test:

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

[[21 1] [ 3 10]]

Accuracy score: 0.8857142857142857

precision recall f1-score support

0

0.88

0.95

0.91

22

1

0.91

0.77

0.83

13

accuracy

 

 

0.89

35

macro avg

0.89

0.86

0.87

35

weighted avg

0.89

0.89

0.88

35

roc_auc_score: 0.8618881118881119

27

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Метод

Параметр

Accuracy

AUC ROC

Precision

Recall

F1-score

 

 

 

 

 

 

 

 

 

 

 

 

macro avg

weighted avg

macro avg

weighted avg

macro avg

weighted avg

 

 

 

0.83

 

 

 

 

 

 

 

 

к-

1

0.82

0.82

0.83

0.82

0.83

0.82

0.83

 

 

 

 

 

 

 

 

 

 

 

ближайших

 

0.89

 

 

 

 

 

 

 

 

3

0.86

0.89

0.89

0.86

0.89

0.87

0.88

 

соседей

 

0.86

 

 

 

 

 

 

 

 

(параметр

5

0.84

0.85

0.86

0.84

0.86

0.84

0.86

 

n_neighbours)

 

 

 

 

 

 

 

 

 

 

9

0.89

0.86

0.89

0.89

0.86

0.89

0.87

0.88

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наивный

-

0.86

0.84

0.85

0.86

0.84

0.86

0.84

0.86

 

байесовский

 

 

 

 

 

 

 

 

 

 

 

 

 

0.83

 

 

 

 

 

 

 

 

 

5

0.82

0.82

0.83

0.82

0.83

0.82

0.83

 

Случайный

 

0.89

 

 

 

 

 

 

 

 

10

0.86

0.89

0.89

0.86

0.89

0.87

0.88

 

лес

 

 

 

 

 

 

 

 

 

 

15

0.89

0.86

0.89

0.89

0.86

0.89

0.87

0.88

 

(параметр

 

 

 

 

 

 

 

 

 

 

 

n_estimators)

 

0.80

 

 

 

 

 

 

 

 

20

0.79

0.79

0.80

0.79

0.80

0.79

0.80

 

 

 

0.89

 

 

 

 

 

 

 

 

 

50

0.86

0.89

0.89

0.86

0.89

0.87

0.88

 

 

 

 

 

 

 

 

 

 

 

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

Сравнение полученных значений со значениями при разбиении данных 75% - 25% показывает, что разбиение 75% - 25% позволяет получить более качественные результаты - значения метрик для наилучшего метода классификации ближе к единице, чем при разбиении 65% - 35%.

Таким образом, анализируя результаты, полученные в результате анализа таблиц и графиков разбиения областей для трех случаев разделения выборок на обучающую и тестовую, можно сделать вывод, что лучший метод классификации – метод к-ближайших соседей с параметром 9, так как он давал наилучшие результаты для разных соотношений при разбиении выборок.

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