В настоящее время у меня есть небольшой обучающий набор функций tf-idf (около 250 столбцов отдельных слов), которые я вручную помечал как «1» и «0».Обучающий набор в основном небольшой, потому что для маркировки большего количества данных потребуется много времени, и я хочу посмотреть, насколько хорошо модель может справиться с этим небольшим обучающим набором.Поскольку данные невелики, я создал объекты с помощью tf-idf и преобразовал их в кадр данных pandas.Итак, минимальный пример, чтобы лучше понять, о чем я говорю, скажем, на тренировке у меня есть только:
Hello great car target variable
great car 0 .35 .25 1
Hello great car .40 .15 .10 0
Теперь я сделал то же самое с набором тестов.Тем не менее, набор тестов огромен по сравнению с обучающим набором
car great plane boring yoo nice dude man jump fancy japan target
car japan .53 0 0 0 0 0 0 0 0 0 .60 1
man car yoo .53 0 0 0 .30 0 0 .15 0 0 0 0
jump 0 0 0 0 0 0 0 0 .45 0 0 1
В действительности этот набор тестов во много тысяч раз больше, чем количество рядов, по сравнению с обучающим набором, и, следовательно, из-за этого онимеет больше возможностей (слова, которые я назвал tf-idfed).Теперь, поскольку это так, я смог получить его только в разреженную матрицу tf-idf, а не в фрейм данных pandas, поэтому в настоящее время вывод показывает:
<1383329x27870 sprase matrix fo type ',class 'numpy.float'>' with 15874611 stored elements in Compressed Sparse Row format>
Мой единственный вопрос, по порядкуДля .fit () и .predict () модели машинного обучения требуется одинаковое количество входных функций x в наборе обучения и тестирования, поэтому я хочу избавиться от всех функций в наборе тестов (есть тонна)которых нет в обучающем наборе, однако я не был уверен, как это сделать при сравнении разреженной матрицы и кадра данных панд?Как правило, когда я сравниваю кадры данных pandas, я просто делаю ax ['y']. Isin [a ['b']] и отфильтровываю все столбцы, которые являются общими для обоих.Не знаете, как сделать то же самое при сравнении кадра данных pandas и разреженной матрицы?