Плохая производительность One-Class SVM на разреженной матрице - PullRequest
0 голосов
/ 11 июля 2019

Я обучаю SVM для одного класса для классификации документов. Я создал матрицу tf-idf для текста документа и использовал ее в качестве обучающих данных формы 117 x 1288, где каждая функция представляла слово, подобное следующему:

        apple    dog   cat   banana
doc1     .04      .17   0      .01
doc2     .01       0    0      .18
doc3      0       .22   .02     0

Однако, когда я прогнозирую тестовые данные для документов без слов вроде doc4:

doc4     0       0    0      0 

... классификатор не считает его выбросом, и на самом деле он имеет относительно высокий балл:

model.predict(tf_idf_df.values) = [1]  
model.score_samples(tf_idf_df.values) = [9.50079289]

Как это поведение можно объяснить? Кажется, что 0 значений для каждой функции будет очевидной аномалией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...