Проблема:
Я не совсем понимаю, почему мы преобразуем наши тестовые данные, используя CountVectorizer, установленный на наших данных поезда для классификации мешков слов.
ПочемуРазве мы не создадим новый CountVectorizer и не подгоним к нему тестовые данные и не дадим классификатору прогноз на тестовом CountVectorizer?
Глядя здесь: Как стандартизировать пакет слов для обучения и тестирования?
Извлечено из ответа:
LabeledWords=pd.DataFrame(columns=['word','label'])
LabeledWords.append({'word':'Church','label':'Religion'} )
vectorizer = CountVectorizer()
Xtrain,yTrain=vectorizer.fit_transform(LabeledWords['word']).toarray(),vectorizer.fit_transform(LabeledWords['label']).toarray()
forest = RandomForestClassifier(n_estimators = 100)
clf=forest.fit(Xtrain,yTrain)
for each_word,label in Preprocessed_list:
test_featuresX.append(vectorizer.transform(each_word),toarray())
test_featuresY.append(label.toarray())
clf.score(test_featuresX,test_featuresY)
Мы можем видеть, как пользователь создал CountVectorizer и подгоняет его под тренировочные данные.Затем установите классификатор в этот CountVectorizer.После этого пользователь просто преобразовал тестовые данные, используя CountVectorizer, который соответствовал данным поезда, и передал их в классификатор.Почему это так?
Чего я пытаюсь достичь: Я пытаюсь реализовать мешок визуальных слов.Он использует ту же концепцию, но я не уверен, как следует создавать наборы поездов и тестов для классификации.