У меня есть задача классификации текста. К настоящему времени я только пометил корпус и извлек некоторые функции в формате bigram (то есть bigram = [('word', 'word'),...,('word', 'word')]
.Я хотел бы классифицировать некоторый текст, так как я понимаю, что алгоритм SVM может получать только векторы в orther для классификации, поэтому я использую некоторый векторный указатель в scikit следующим образом :Как классифицировать текст с помощью SVM scikit?
bigram = [ [('load', 'superior')
('point', 'medium'), ('color', 'white'),
('the load', 'tower')]]
fh = FeatureHasher(input_type='string')
X = fh.transform(((' '.join(x) for x in sample)
for sample in bigram))
print X
выход разреженная матрица:
(0, 226456) -1.0
(0, 607603) -1.0
(0, 668514) 1.0
(0, 715910) -1.0
Как я могу использовать предыдущую разреженную матрицу X
классифицировать с SVC, предполагая, что у меня есть 2 классов и поезд и тестовые наборы?.
Каждый документ должен быть разреженным вектором в вашей матрице ... libSVM ожидает, что ваши данные будут разреженными векторами ... так в чем ваш вопрос, вы на самом деле пробовали что-нибудь? –
мой вопрос в том, как я могу использовать разреженную матрицу 'X' для классификации? ... что не ясно? ... – tumbleweed
Редкая матрица = коллекция разреженных векторов. Предпочтительный формат ввода libSVM: сбор разреженных векторов. Просто подумайте, что за пределами поля «все есть матрица». –