Учебный байесовский классификатор - PullRequest
1 голос
/ 18 марта 2019

Я пытаюсь обучить и протестировать байесовский классификатор в Python.

Эти строки кода взяты из примера, который я нашел здесь , но я не понимаю, что они делают.

train_labels = np.zeros(702)
train_labels[351:701] = 1
train_matrix = extract_features(train_dir)

Далее в тестовом наборе есть похожий блок кода:

test_matrix = extract_features(test_dir)
test_labels = np.zeros(260)
test_labels[130:260] = 1

Хотите знать, что это делает и как я могу применить его к другому примеру классификации? Что означают цифры в []? Большое спасибо

1 Ответ

1 голос
/ 18 марта 2019

Пример кода, на который есть ссылка в вашем посте, обучает двоичному классификатору с использованием моделей Наива-Байеса и SVC.

train_labels = np.zeros(702)
train_labels[351:701] = 1
train_matrix = extract_features(train_dir)

Это установка метки для 702 записей со всеми 0 изначально.и устанавливает для второй половины значение 1. Двоичные метки, такие как: спам или ветчина, истина или ложь и т. д. Извлечение extract_features создает {(docid, wordid) -> wordcount, ..}, который вводится в эти модели.

После того, как вы обучите модель, вы должны увидеть, насколько хорошо она работает с тестовым набором.Здесь вы используете 260 записей в качестве тестового набора с первой половиной всех 0 и второй половиной всех 1.

test_matrix = extract_features(test_dir)
test_labels = np.zeros(260)
test_labels[130:260] = 1

Наконец, вы запускаете прогноз для набора тестов и оцениваете, насколько близка точность test_set обеих этих моделей (NB и SVC).

...