Есть ли возможность работать с отдельным Bag-of-Words в scikit-learn? - PullRequest
0 голосов
/ 27 октября 2019

У меня проблемы с поиском решения для моей задачи: я должен классифицировать запрос пользователя по 5 категориям, используя SVM. В настоящее время я тренируюсь только по тексту запроса, который дает мне среднюю точность 77-79%. Я хочу включить идентификатор пользователя (текст) в тренинг, но как отдельные функции.

Текущая настройка

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(df['text'], df['category'], test_size=0.15, random_state=8)

from sklearn.feature_extraction.text import TfidfVectorizer
#text is preprocessed so doesn't need to be changed
tfidf = TfidfVectorizer(ngram_range=(1,2), stop_words=None, lowercase=False, max_df=0.8, min_df=7, norm='l2')

X_train = tfidf.fit_transform(X_train)

model= SVC(C=1, kernel = 'rbf', gamma='scale', probability=True)

model.fit(X_train, y_train)

X_test = tfidf.transform(X_test)

print(model.score(X_test, y_test))

То, что я сейчас хочу добавить, выглядит примерно так:

X_train_ID, X_test_ID, y_train, y_test = train_test_split(df['user'], df['category'], test_size=0.15, random_state=8)

model.fit(X_train,X_train_ID, y_train)

X_test = tfidf.transform(X_test)

print(model.score(X_test,X_test_ID, y_test))

Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...