Работа с «никогда не видел прежде» значениями из функций при использовании обученной модели на тестовых данных - PullRequest
0 голосов
/ 14 мая 2019

В настоящее время я работаю над заданием, в котором мне нужно создать наивный байесовский классификатор с использованием полиномиального распределения, используя только python, pandas и numpy (без sklearn).Цель классификатора - указать, является ли финансовая транзакция мошеннической или нет.Данные поезда имеют 5,5 м образцов, а данные испытаний - 660000 образцов.Модель обучена с 8 функциями в данных, и каждая функция состоит из более чем 800 различных значений.

Мне удалось вычислить предыдущие вероятности и вероятности набора данных, но когда дело доходит до таких данных, большую часть времени вы сталкиваетесь с новыми значениями в функциях.то есть функция «количество» имеет 676 различных значений в обучающем наборе, но в наборе тестирования может быть даже больше невидимых значений.Итак, как я могу вычислить вероятность этих значений.Должен ли я использовать функцию smothing:

                          1 / (Nc + |V|) 

или я должен учитывать, что данные фактически никогда не появлялись, и вычислять вероятность появления этих данных в функции

  .i.e (1 / (Nc + |V|)) / (1/Number_of_unique_values_in_the_feature)

Я попробовал и то, и другое позже, но немного хуже, чем первое, но все же трудно различить различия.

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