Я пытаюсь реализовать классификатор Naive Bayes в Python. Мои атрибуты имеют разные типы данных: Strings, Int, float, Boolean, OrdinalКлассификатор NaiveBayes, обрабатывающий разные типы данных в python
Я мог бы использовать классификатор Gaussian Naive Bayes (Sklearn.naivebayes: Python package), но я не знаю, как должны быть разные типы данных обрабатываются. Классификатор выдает ошибку, заявляя, что не может обрабатывать типы данных, отличные от Int или float
Один из способов, о котором я мог думать, - кодирование строк в числовые значения. Но я также сомневаюсь, насколько хорошо будет работать классификатор, если я это сделаю.
В первом случае рекомендуется использовать LabelEncoder. А для второго у вас есть несколько способов сделать это с помощью DictVectorizer или OneHotEncoder – RPresle
Хорошо, если я использую Encoder/One Hot Encoder, и тогда я хочу использовать Gaussian Naive Bayes на нем, будет ли проблема. Мы не можем сказать, что закодированные значения будут следовать правилу Гаусса? Особенно бинарный не будет гауссовским. –
Да, для этого вам следует использовать Multinomial или Bernoulli NB. –