Подготовьте данные для классификации текста с помощью Scikit Learn SVM
Я пытаюсь применить SVM от Scikit, чтобы классифицировать полученные твиты.
Итак, будут две категории, назовите их A и B.
На данный момент у меня есть все твиты, классифицированные в двух текстовых файлах: "A.txt" и "B.txt".
Тем не менее, я не уверен, какие типы данных запрашивает Scikit Learn SVM.
У меня есть словарь с метками (A и B) в качестве его ключей и словарь функций (униграмм) и их частоты в качестве значений.
Извините, я действительно новичок в обучении машинам и не знаю, что я должен сделать, чтобы получить работу SVM.
И я обнаружил, что SVM использует numpy.ndarray как тип ввода данных. Нужно ли создавать его на основе моих собственных данных?
Должно ли быть что-то вроде этого?
Labels features frequency
A 'book' 54
B 'movies' 32
Любая помощь приветствуется.
Ответы
Ответ 1
Посмотрите документацию по извлечению текстовых функций.
Также рассмотрите пример классификации текста.
Здесь также есть учебник:
http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html
В частности, не стоит слишком сильно фокусироваться на моделях SVM (в частности, не sklearn.svm.SVC
, что более интересно для моделей ядра, а следовательно, и не для текстовой классификации): простые модели Perceptron, LogisticRegression или Bernoulli naive Bayes могут работать так же хорошо, гораздо быстрее тренироваться.